Category Archives: Projects

ESP8266 IoT room thermometer – part 3

The best projects are the ones you finish. And as projects go, this IoT room thermometer – and, for good measure, clock – was one of the easier ones. To recap, I wanted a thermometer in my office to measure the temperature and compare that with how I’m doing, at any given time, in terms of hand pain. I have… Read more »

DottyMatrix software stack: PHP & Python messaging

On the Raspberry Pi that I’m using to control my DottyMatrix serial-to-parallel Centronics printer interface there are two main software components – a web-based PHP/JavaScript front-end UI and a back-end server programmed in Python. So these need to talk to each other. Here’s the overall architecture of the solution: The matrixSvr.py program is intended to run permanently on the RPi… Read more »

DottyMatrix software stack: the front end

It’s one thing building an interface – it’s quite another working out how to use it. My DottyMatrix serial-to-parallel device is designed to drive my venerable old Epson MX-80 F/T III dot matrix printer (although it should work with any printer using a Centronics parallel interface). So far, I’ve mostly spoken to it using a terminal, sending text directly from… Read more »

DottyMatrix: a simple solution?

The DottyMatrix project began when I thought, ‘It would be nice to make use of my old Epson MX-80 F/T III dot matrix printer’. The problem was talking to it. But then I thought, ‘It’s just parallel printer interface. I’ll make a microcontroller-based device to act as an interface. How hard can that be?’. The answer, it turns out, is… Read more »

DottyMatrix: A simple acknowledgement

Although it was gratifying (and surprising) that my DottyMatrix serial-to-parallel interface worked as soon as I plugged it into an actual printer, there was one nagging flaw. And that was a lack of acknowledgement. The /ACK signal in the Centronics interface was often sadly neglected, if not ignored completely. But in theory, the sequence for printing a character goes like… Read more »

DottyMatrix: Printing to an actual printer

It seems the repairs to my venerable Epson MX-80 F/T III dot matrix printer did actually work because it’s now printing again! What’s more, it’s printing via the prototype of my DottyMatrix serial to Centronics parallel interface. Time for a quick recap. The DottyMatrix is based around an AVR ATMEGA328PB microcontroller. It takes input on a TTL-level serial connection and… Read more »

ESP8266 IoT room thermometer – part 1

Impulsiveness is not always a good thing. So here’s a handy rule for you: first, prototype; then fabricate the PCBs. Doing it that way, things have a chance of going well. Reverse that order and … well, not so much. Not that it was a disaster. In fact I had prototyped this little project – mostly. But we’re getting ahead of ourselves…. Read more »

DottyMatrix: It’s alive!

      1 Comment on DottyMatrix: It’s alive!

My old, beloved Epson MX-80 F/T III dot matrix printer is back in the land of the living. For now. As you can see from some of my earlier posts, I’m designing a serial-to-parallel interface with Centronics compatible DB25 connector so that I can print to my Epson from anything with a TTL serial port, such as a Raspberry Pi…. Read more »

DottyMatrix: ghost of the typewriter and the curse of the carriage return

In designing my DottyMatrix serial-to-parallel printer interface, I had to decide how it would handle the incoming data stream. The purpose of the DottyMatrix is to connect my venerable Epson MX-80 F/T III dot matrix printer to (probably) a Raspberry Pi so that I can print out text files, such as program listings. Obviously, it would be good if it… Read more »

DottyMatrix and Virtual Printer – together at last

It’s great when a plan comes together. Having independently played around with my DottyMatrix serial-to-parallel printer interface and the Virtual Printer (designed to simulate my still-dead Epson MX-80 F/T III dot matrix printer), it was time to hook them together. And it worked! On the left is the DottyMatrix using my prototyping board for the ATMEGA328PB microcontroller. Its serial port… Read more »

Virtual printer & more fun with AVR interrupts

In building my AVR ATMEGA328P-based ‘virtual parallel printer‘, there were two signals that required special treatment. So it was time to revisit interrupts. On a Centronics-style parallel port, the host machine sends an ‘init’ or reset signal to the printer to tell it to flush its buffers and set itself to the default state. It also sends a ‘strobe’ signal… Read more »

Building a virtual parallel printer

Here’s a tip for anyone building a device designed to interface with a parallel printer – you kind of need a parallel printer to test it on. That shouldn’t have been a problem. My DottyMatrix project – which will allow me to send data over a serial connection and have it printed on my Epson MX-80 F/T III dot matrix… Read more »

Getting to grips with the parallel interface

The Centronics interface seemed such an intrinsic part of a computer’s architecture that, to those of us whose computing coming-of-age was in the 1970s or 1980s, it seemed unimaginable that it would all but disappear. Who knew that serial interfaces would one day reign supreme? There’s something still very satisfying about hooking up a parallel connection, with fat cables and… Read more »

First PCB and more mistakes

      No Comments on First PCB and more mistakes

Okay, so I’ve already fessed up to some errors I made with my first-ever PCB. Now I’ve discovered another, and it’s a doozy. It’s also a valuable lesson. I’m waiting for a few bits of kit in order to do surface mount soldering. I’ll be writing more about this when it’s all installed (but as a teaser, it’s a hot… Read more »