Would it not be useful, I considered to myself, if there was a device which you could plug into the back of a Spectrum which would take a few of these measurements for you, and perhaps run a handful of tests which might give some useful clues as to the health of the machine?
Yes, I thought, such a thing might be useful, so I made one.
The interface consists of two Raspberry Pi Picos with their RP2040 microcontrollers programmed to run various tests which sample the voltages and monitor the signals on the rear edge connector. There's a small OLED screen on the front to display the readings and results.
![Image](https://www.derekfountain.org/images/zx_diag.jpg)
I wrote it up here. Here's a short video introducing it:
The current implementation measures the +5V, +12V and -5V voltages, checks the ULA generated clocks, checks several Z80 signals, checks the data and address buses are at least sane, and ensures the Z80 is running at least the start of the Spectrum's ROM program. It could do a lot more, I think, so if anyone's go any bright ideas for further useful tests I'd like to hear them.
Clearly there are limitations to the approach, given it can only sample what levels are on the edge connector, as opposed to what might be going on actually inside the machine. But it does provide useful information.
As with all my projects it's open source and free software. The Github repository is here.