Replacing a Symmetricom ND-4 processor with a Raspberry Pi

I've had a broken Symmetricom ND-4 wall mount NTP clock display sitting around for ages. For some reason, this turned into one of those projects where I decided I really wanted to get it working. It was such a simple device that it seemed stupid that I couldn't fix it.  

 

Poking around showed that the power supply seemed fine, but the Realtek RTL8019AS Ethernet chip was obviously faulty (AKA, it got hot!).

I tried replacing it, first with a pull from a different board, and then with a new one (I have a hot-air rework station and reflow oven). This didn't fix it, and some more research / probing of the (Rabbit 2000) processor showed that there were more issues - the UART was obviously trying to send something, but the baud-rate was nothing sensible, etc.

Processor board

Eventually, I gave up trying to repair the processor board and it just sat in the corner of my workshop, gathering dust. But it kept bugging me, and so I decided to give it another whirl.

The display itself is a 7 segment LED driven by a MAX7219 ("Serially Interfaced, 8-Digit, LED Display Driver") with 4" high digits. This is a very common LED display driver, and there is a nice Python library for driving it, so....

 
I ripped out the processor board, and replaced it with a Raspberry Pi Zero W. The ND-4 power supply already has a 5V rail, suitable for the Pi, and the MAX7219 is easily driven over the Pi SPI bus.
 
The wiring is as follows:
ND-4MAX7219FunctionPi Pin
VCC   VCC 2
GND   GND 6
PA0 CLK SPI CLK(11) 23
PA1 LOAD/CS SPI CE0(8) 24
PA2 DIN MOSI(10) 19

The Pi speaks NTP to get the correct time and uses the luma.led_matrix library to drive the display. 

Code is here: https://github.com/wkumari/symmetricom-nd4-python

 

Driver board Pi connection Running Mounted Pi

 

Additional information