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 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.

2 thoughts on “SmartParallel: stripboard prototype – now with blinkenlights

  1. Lenore Underwood

    IMHO blinking lights are distracting and usually worthless except to say ‘I can do that’. Especially when an ‘on’ printer will most likely be the best confirmation that data is flowing. 🙂 Saves a bit on parts and pcb space too.

    I would definitely try to find out why the resets are still occurring when the board is off. Probably the last thing on the to-do list, but that’s not normal behavior.

    Good job so far. 🙂

    Reply
    1. Machina Post author

      Yeah, I’m definitely heading in that direction re the blinkenlights.

      The resets are a confusing issue. If I disconnect the printer and power to the board, I’m still getting around 1.6V on the power rails via the serial connection, via the TX and RX lines. This probably has something to do with my rather hacked-together board for housing the microcontroller. If I disconnect the microcontroller board from the SmartParallel prototype, this problem goes away. So I’m not going to worry about this right now.

      If I reconnect and power up the printer, then I’m getting around 2.6V and the printer won’t go online. Also, this is not to do with the microcontroller board – with that disconnected, the problem remains. All the pullups are powered via a diode now, so it’s not them. I need to start unplugging signal connections one-by-one to narrow it down.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.