Category Archives: Projects

Sheldon robot: architecture

      No Comments on Sheldon robot: architecture

Right from the beginning I knew that the Sheldon robot would have a multi-processor architecture. This appeals to me the same way object-oriented programming appeals – you can create a modular system in which each part does a specific task and can be treated like a black box. The structure will be hierarchical. At the top – what I’m going… Read more »

Sheldon robot: the base vehicle

One of the things that spurred my current interest in electronics was a resurgence of my fascination with robots. And so, here we go with another project – a robot base vehicle that I can use for experimenting with sensors and algorithms. (Technically, this is not a new project – it’s a new start to a years-old project, but anyhoo…)… Read more »

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 2

Having cobbled together an ESP8266 microcontroller, temperature sensor and TFT LCD screen, the next step was to have the device talk to a server. There are two reasons for wanting to connect to a server: first, to get time and date updates; and second, to report the temperature and humidity so that the server can display them on an intranet… 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 »