Close
0%
0%

Original ZX Spectrum refurbished

Repairing and refurbishing an original ZX Spectrum issue 2

Public Chat
Similar projects worth following
A friend of mine asked me to check out a ZX Spectrum he'd just bought on eBay UK. When I was a teenager in the late 1980s, I had a Soviet Spectrum clone assembled by my dad, which essentially predetermined my career in IT, so it was a kind of historical moment for me… Furthermore, this project inspired me to design my own Spectrum-compatible computer, which I also wrote about here on Hackaday.
So, this is the story of restoration an original ZX Spectrum issue 2.

I already knew that trying to connect it to the TV via RF had failed, so I tried using the signal before the RF modulator and feeding it into the composite video input. The result was as follows:

This means the ULA is reading video memory and outputting a video signal, but the processor or ROM are not working.

The board looked fine; we can see the "spider mod" over the processor, as well as several other improvements recommended by Sinclair in the original service manual, mostly related to the power supply:

I checked the processor pins with an oscilloscope. Some address pins were changing, but pins A14 and A15 were constantly at +1.5 V, so the ULA wasn't outputting a ROMCS signal. To make sure it wasn't a ULA issue, I installed the ULA on an additional socket, which allowed me to disconnect any ULA pin from the board and test the signals on the ULA and the board separately:

Lines A14 and A15 still had +1.5 VDC. The clock signal from the ULA was normal, and the processor still showed some activity.

While I was checking everything with an oscilloscope here and there, something changed. The processor stopped working; it was dead and cold. I don't know what happened, and I don't know if my actions were the cause.

In any case, the processor is definitely dead now, so I decided to connect another processor in parallel using an edge connector and see what happens:

Now the video was a bit different:

It appears to be an incomplete memory check during the Spectrum's normal power-on initialization. I checked the data bus and found the cause::

This memory chip is dead and it's data pin is always high. Other memory chips are ok, i.e.:

So, I've replaced bad memory chip:

.... and CPU:

It would be probably better to replace all the memory chips...

But when I turned it On, it worked!

It was somewhat of a miracle to see this logo again after more than 35 years...

However, the image brightness and overall quality were poor, so I continued working on it.

A source of the video signals Y, U and V is ULA and service manual described the signals properties quite clearly, especially Y:

In reality, things were much worse:

"Change IC1" was the best option but IC1 is ULA and I didn't have the spare one :)

I don't know why the ULA Y output is so poor. Probably the chip is worn out because of its age...

Anyway, I had to do something with this. Looking at the circuit diagram, there is some kind of a mixer and then an emitter follower for the composite video signal right before RF modulator. Resistor R52 seems to be responsible for the output voltage Vp-p so I put a similar one in parallel to decrease its resistance and increase the peak-to-peak voltage accordingly:

I also replaced capacitor C65 just in case, but I don't think it made any difference. Another change, which you can see in the picture, was VR1 and VR2, because the originals were unstable:

Finally, a very known "video mod" which is a capacitor at video output to TV:

As a result, the picture on the TV is much better:

Well, this photo was taken after the refurbishing was completed... 

At this stage, I still had to test the cassette interface, sound, and keyboard. I'll describe this in the project logs.

  • Cassette interface

    Vlad • 08/19/2026 at 20:05 • 0 comments

    To test the cassette interface, I needed a cassette player, but I don't have one. So I tried using my smartphone as a player. However, this failed because the Spectrum didn't respond to the signal after the LOAD command.

    The user manual lists the following input parameters for the cassette interface:

    My smartphone obviously couldn't provide 5Vp-p output voltage to the headphone output, so I needed an amplifier and I decided to use op amps as follows: 

    It includes a bipolar power supply based on the ICL7660.

    It actually took me a while to figure out this circuit, as it turned out the signal levels specified in the service manual didn't work with this particular ZX Spectrum. Again, likely due to some ULA malfunction... I finally managed to load games by feeding a 7 Vp-p signal to the Spectrum EAR input:

    It would definitely have taken a lot less time if I had a real cassette player...

    Unfortunately, I haven't tested whether it saves programs to tape... But I checked the Spectrum microphone output with an oscilloscope using the SAVE "test" $SCREEN command and saw some kind of correct signal with an amplitude of 50 mV. Hopefully that's enough for recording.

  • Speaker

    Vlad • 08/05/2026 at 16:36 • 0 comments

    The speaker was rusty, marked with "X" sign by somebody and dead:

    According to the schematic of issue 2, the speaker is driven directly by the ULA output through two diodes to reduce the ULA output voltage, as I understand it:

    Some sources said the speaker impedance should be 40 ohms, others 200 ohms. In any case, I couldn't find a replacement speaker other than 8 ohms. So I decided to use it in series with a 39 ohm resistor and add an S9013 transistor as an emitter follower, similar to the circuit of issue 3:

    The new speaker and additional elements are a perfect fit:

    The resulting volume level is completely good.

  • Keyboard

    Vlad • 08/01/2026 at 11:57 • 0 comments

    The keyboard wasn't working due to damage to the membrane near both ends of the connectors. I initially tried cutting away the damaged areas, but that didn't help due to the poor condition of the conductive tracks. So I bought some conductive silver-based paint and repaired them:

    This helped, and now the keyboard worked, except for two keys, "B" and "N," as far as I remember. It turned out that the conductive track inside the membrane was damaged, and it seemed impossible to repair... But I tried it anyway:

    It took me a few days because silver paint needs at least 24 hours to dry.

    Finally I got it to work:

    However, I then discovered a newly-produced membrane on a German website:

    This is certainly much better than 40-years old, of course:

    All that was left to do was clean the rubber keys with isopropyl alcohol:

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates