Category Archives: Projects

SmartParallel: stripboard prototype – now with blinkenlights

Okay, so the next stage of the stripboard prototype for the SmartParallel serial to parallel printer interface went well. Mostly. As planned, I added a bar LED block with eight segments to show the state of the data lines, along with power-limiting resistors in the form of a resistor array. I also added four LEDs. Three are driven via a… Read more »

SmartParallel: stripboard prototype

Things went from bad to worse with the breadboard prototype of the SmartParallel serial to parallel printer interface. All was fine for a while. Lines of text sent from my Mac via an FTDI cable were duly printed on the Epson MX-80 F/T III dot matrix printer. But then, every now and again, the printer would randomly reset. After a… Read more »

SmartParallel: pulling up and pulling down

It’s never a good idea to let signals float around in the no-man’s land between the high state and the low state. This is why we so often use pullup and pulldown resistors. You set the line to a known, definite state by default and then switch it as necessary. Some uses of pullup and pulldown resistors are obvious. Some… Read more »

DIY joystick for the BBC Micro – part 3

Ah well, another valuable lesson learned. The PCBs for my homemade joystick, designed to work with the BBC Micro and Master, should have been very simple. They are very simple. And yet I still managed to screw up. The PCBs for both the main adapter, which plugs directly into the computer, and the connector for the joystick arrived the same… Read more »

SmartParallel: breadboard prototype

A major reason for doing breadboard prototypes is to learn what mistakes you’ve made in your circuit design. Of course, it’s also a way to introduce brand new errors. Or both. Before committing to fabricating PCBs, I wanted to check out whether my design for the SmartParallel dot matrix printer interface would even work. My confidence was reasonably high because,… Read more »

SmartParallel: hacking a Centronics connector

Okay, I lied. Having ordered the PCBs for my Centronics breakout board, and also having ordered a couple of DB25 breakout boards via Ebay, I settled in for the long wait I knew would follow. I said in an earlier post that I was getting used to these two to three-week delivery times for stuff coming from China. The truth… Read more »

SmartParallel: Centronics breakout board

Creating a full breadboard version of the SmartParallel board is turning out not to be a five-minute affair. It has to be done meticulously and methodically if it is to have any value as a prototype. Fitting it all on to a single breadboard is proving challenging too. And that got me thinking. What about replicating at least part of… Read more »

SmartParallel: fixing the PCB layout

Hmm, yes, clearly it wasn’t going to be as easy as all that. While creating the PCB layout for the SmartParallel serial to parallel printer interface, I shuffled a few of the pin assignments on the Atmel ATMEGA328PB microcontroller. The reason was simply to make routing a tad easier. But I had a nagging feeling that this might cause a… Read more »

TTL serial level shifter

      No Comments on TTL serial level shifter

Not every device speaks the same voltage. In designing the SmartParallel serial-to-parallel printer adapter, I chose to use 5V as the VCC supply throughout the board. But I was constantly aware that some of the devices that might talk to the board – such as the Raspberry Pi – use 3.3V for their I/O. What to do? There’s only a… Read more »

SmartParallel: First complete PCB layout

Well that wasn’t easy. Finally, the SmartParallel TTL serial to parallel printer interface has a complete PCB layout. And I learned a few lessons along the way. The most important of these, perhaps, is that when assigning signals to the pins of a microcontroller during the schematic drawing part of the project, don’t rely on whimsy or the luck of… Read more »

DIY joystick for the BBC Micro – part 2

In the first part I described the interface between two RJ45 Ethernet sockets and the BBC Micro’s analogue port. The idea behind using RJ45 connectors is that you can use any old Ethernet cable to connect the joysticks. But as these are homemade joysticks, they’ll need RJ45 sockets of their own into which one can plug the other end of… Read more »

DIY joystick for the BBC Micro – part 1

My recent PC build was undertaken partly to allow me to play Elite: Dangerous. There was no small amount of nostalgia involved in that decision: the original Elite was one of the few games I played back in the 8-bit days. But while I can now play the two incarnations of the game – separated by 30-odd years – side-by-side, there… Read more »

SmartParallel: refreshing the design

The SmartParallel, aka DottyMatrix, project has been languishing for a while now, but it’s time to get it restarted. SmartParallel is a serial-to-parallel interface that I embarked on because I wanted to be able to use my decades-old Epson MX-80 F/T III dot matrix printer with a number of platforms that don’t have parallel interfaces, such as the Raspberry Pi…. Read more »

Sheldon robot: the web app on Docker

In a previous post, I described how I’m planning to use a web app to communicate with my robot, Sheldon. Well, it just occurred to me that this is a perfect use of containerisation. Time to learn something about Docker. A web app is the perfect solution for this because HTML and JavaScript offer a very simple way to throw… Read more »

Sheldon robot: crash detection

      No Comments on Sheldon robot: crash detection

It’s sometimes handy to know when things are not going well – for example, when your robot’s collision avoidance systems have failed it and the poor, dumb critter has crashed head-on into something. You’d be surprised how often that happens. Work on my robot, Sheldon, is progressing slowly. I’ve just added some infrastructure (not shown in the picture) that will… Read more »