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 74HC14 inverter IC and show the state of the /ERROR (red LED), /AUTOFEED (blue) and SELECT (yellow) lines. Two of those are active low and the third is normally high but goes low when the printer is offline – which is when you need to be alerted. So I wanted the lights to come on when these signals are low, hence the inverter, which also serves as a buffer/driver.
The fourth (green) LED is connected to the BUSY signal, which is active high. I’m using the buffered signal coming out of the 74HC541 IC to drive this.
With everything plugged back in and switched on, I can still print to the Epson dot matrix just fine and the bar LEDs flash pleasingly as the data is sent.
But the other LEDs didn’t work.
With the aid of the multimeter, I determined that the LEDs were getting power when they should have – a full 4.9V, which is all that anyone can ask. I wondered if I’d put them in backwards. Using the multimeter in diode mode and holding the probes to the LEDs’ legs told me that they were in the right way.
It was the resistors that were the problem. I’d used 470Ω resistors to try to keep the brightness level low to avoid being dazzled.
Well that worked.
The LEDs were so undazzling they were practically invisible. (In a darkened room I could make out that they were glowing dimly.) So out came the 470Ω resistors and in went 220Ω ones. That sorted it.
Everything is now working as advertised. But…
For a while now I’ve had the sneaking suspicion that those data line LEDs serve no purpose. Don’t get me wrong – I’m a big fan of blinkenlights. But that’s all they are. The characters fly past so fast where’s no way of gaining any useful information, other than the fact that characters are flowing and that the final one (as shown in the picture above) has the value 10, which is a linefeed. And nearly always will be.
When I come to lay out the PCB again – because I will be restarting from scratch with that – I’m going to look carefully at whether I want those lights. If they cause layout difficulties, they may go.