Jump to content

Sinclair ZX Spectrum Keyboard Membrane Repair

From RetroTechCollection
A cracked Sinclair ZX Spectrum keyboard membrane
A 48K Spectrum membrane with a cracked tail (inset).

Diagnosing, removing and replacing the keyboard membrane on the rubber-key Sinclair ZX Spectrum (16K and 48K), the Spectrum+ and the Spectrum 128, which uses the Spectrum+ membrane.[1]

How the keyboard works

[edit | edit source]

The keyboard is an 8 × 5 matrix that the CPU scans every 20 ms, once per maskable interrupt. Two ribbon tails run from the membrane to the board. KB1, the 5-way tail, carries the row outputs KB0–KB4 to the ULA; KB2, the 8-way tail, connects the columns through diodes to the high address lines A8–A15. Pull-up resistors hold the row outputs high when no key is pressed.[2] Section 1.8 of the manual numbers the pull-ups R64–R68, but the Issue 3 circuit diagram and the parts lists give them as R65–R69 (10 kΩ); R64 is a 15 Ω resistor elsewhere on the board.[3][4]

Period drawing of the matrix

[edit | edit source]

A hand-drawn rear view of the matrix in Ferranti's Spectrum hardware file, now in the Ferranti Archives 2026, labels the 8-way tail KB2 "ADDS A8–A15" and the 5-way tail KB1 "D0–D4". Each of the eight lines on the 8-way tail serves one half-row of five keys and goes to one of the address lines A8 to A15; each of the five lines on the 5-way tail serves one key from every half-row. (Half-row here means five keys side by side on the keyboard; section 1.8 of Sinclair's manual names the electrical lines the other way round, calling the five ULA lines rows.) The same sheet maps both tails to the pins of a 16-pin DIL plug.[5] On the board the 8-way lines pass through diodes D1 to D8 (1N4148), and the 5-way lines go to the ULA's keyboard inputs, KB0 to KB4 on pins 19, 20, 23, 24 and 26, which the ULA passes to data lines D0 to D4 when the Z80 reads the keyboard.[3][6][7]

A key press is a connection between one line of each tail, so a key can be simulated at the board's connectors without the membrane. Ferranti's 1983 ULA test box did this electronically, with 4066 analogue switches wired across the connector pins and closed for about 30 ms per key press.[8]

Reading the pattern of dead keys

[edit | edit source]

Count the dead keys before opening the case. The keys are wired in eight blocks of five and five blocks of eight.[9]

Sinclair's keyboard fault rules[9]
Symptom Where the fault is
A block of five keys dead KB2 circuitry or the 8-way membrane tail
A block of eight keys dead KB1 circuitry or the 5-way membrane tail
KB1 fault Check for a short between two or more of the 5 tracks; change the membrane
KB2 fault Check for a short between two or more of the 8 tracks; change the membrane
Whole keyboard dead Change IC1 (the ULA)
Wrong keyboard response Change IC1
Keyboard response too fast Change IC1

T.I.S.'s field-service notes add two checks before changing the ULA for a dead keyboard: that +5 V is reaching the keyboard, and the 10 kΩ row resistors (R65 to R69), a failed one of which kills one row.[10] Ian Worsley's repair guide says that keys which fail only when the machine is warm, with a good ULA, mean a membrane change.[11]

Tools and materials

[edit | edit source]
  • small cross-head screwdrivers
  • an anti-static mat or strap
  • isopropyl alcohol and lint-free swabs
  • the correct replacement membrane: the rubber-key 16K/48K and the Spectrum+ membranes are different parts, and the Spectrum+ one has five layers[12]
  • for the rubber-key model: 12 mm and 6 mm double-sided tape for the keyboard template[13]
  • for the Spectrum+ and 128: double-sided tape for the tails, and Paxolin or similar about 0.75 mm thick for clamp packing[12]

Rubber-key Spectrum (16K and 48K)

[edit | edit source]

Sinclair's procedure:[13]

  1. Unplug all leads. Turn the computer upside down and remove the five self-tapping screws.
  2. Hold the case halves together, turn the computer keys-up and lift the top half. It stays connected by the two keyboard tails; note how they lie in the case, and take care not to damage them.
  3. To reach the membrane or the rubber key mat, remove the escutcheon plate (the metal template), which is held by double-sided tape around its edges. Lever it away from one end with a screwdriver. Sinclair notes that it is not normally possible to remove the template without damaging it.
  4. On reassembly the membrane keys into projections on the case. Place the key mat over it and make sure it is properly seated, or depressed keys can be trapped under the template.
  5. Fit the template with fresh double-sided tape around all four edges: 12 mm tape on the sides and bottom, 6 mm at the top. Press firmly round the edges. Early Issue 2 machines had no tape on the top edge, and Sinclair added the strip to stop the template lifting.[14]
  6. When closing the case, make sure neither tail is trapped between components. A tail bent double will go open circuit sooner or later.
  7. Push each tail fully into its connector without kinking it.

Spectrum+ and Spectrum 128

[edit | edit source]

The Spectrum+ keyboard has a five-layer membrane, and the key springing comes from a bubble mat.[12] On the 128, Sinclair's procedure is to remove the two tail clamps and then the ten screws holding the reaction plate, and lift out the plate, the membrane and the bubble mat. Individual keys come off for cleaning by pressing the key and prising the retaining sleeve off its underside with a small screwdriver.[1] Worsley describes the Spectrum+ backing plate as held by nine screws.[11]

Sinclair's assembly instructions for the Spectrum+ keyboard:[12]

  1. Lay the tails in an S shape between the keyboard and the clamps, so that there is no tension in the membrane. To get this, leave the ends of the tracks on the middle layer protruding 1 mm past the clamps. This is easy to see on the wide tail and harder on the narrow one.
  2. Fit a packing piece under the tails at each clamp, about 0.75 mm thick and as wide as the tail. Paxolin is suitable. Current production had the packing fitted, and Sinclair says the instruction does not apply to a Spectrum+ whose serial number starts with S.
  3. Stick the two surfaces of each tail together near the connector end, with double-sided tape or a pair of tabs around the edges, to prevent short circuits on the board.
  4. Tighten the screws in order: the centre line of three first, the screws next to the tail clamps last. Tighten each to a firm fit only, about a quarter turn back from fully tight.
  5. The reaction plate may be metal or plastic. A metal plate needs its plastic insulator and 6.5 mm screws; a plastic plate takes 8 mm screws.
  6. Check every key on a newly assembled keyboard.

The 128 manual gives the same tail and screw instructions, and adds that the bubble mat, membrane and reaction plate locate on a peg at each end, and that the upper case should be supported face down with the keys clear of the bench while the keyboard is assembled.[1]

Worsley's fixes for Spectrum+ keyboards:[11]

  • Keys on the bottom row that do not work can often be cured without a new membrane. Remove the tail clamps, clean between the layers of each tail around the clamped area with WD-40 on a cotton bud, and add extra packing between tail and clamp when refitting.
  • A key that prints repeatedly means the backing plate is clamped too tightly. Slacken the screw nearest that key by a quarter turn.

Electrical load of the Spectrum+ membrane

[edit | edit source]

In November 1984 Timex and Ferranti investigated keyboard faults on Spectrum+ machines and measured the new keyboard. Ferranti describes it as a 6-layer membrane, against 2 layers on the rubber-key model, and measured about 100 pF of stray capacitance on each ULA keyboard input, about three times the old keyboard; Sinclair's manual calls it a five-layer membrane.[15][12] Timex's oscilloscope photographs show the rise time on a keyboard line going from about 330 ns with the old keyboard to about 1500 ns with the new one, and more crosstalk between columns.[16]

A good ULA still read the keyboard with more than 220 pF added to each input. The failures were ULAs with out-of-specification input thresholds, which the slower Spectrum+ lines exposed.[15] The ULA's keyboard inputs switch low below 1.4 V and high above 2.8 V, and on the 6C001 each has an internal 18K pull-up in addition to R65–R69.[17][18] So a Spectrum+ keyboard that misbehaves in one machine and works in another may be exposing a marginal ULA; see the Spectrum+ troubleshooting guide.

Protecting the tails from chafing

[edit | edit source]

When converting a Spectrum to a Spectrum+, Sinclair fits foam pads to stop the tails chafing: one on top of the modulator, and on Issue 3 and later boards two on top of the heatsink.[12]

Keys that make two contacts

[edit | edit source]

The Spectrum+ keyboard is two switching membranes in parallel. Some keys close a second contact on the top membrane as well as their own position:[12]

  • TRUE VIDEO, INV VIDEO, BREAK, DELETE, GRAPH, EXTEND MODE, EDIT, CAPS LOCK and the four cursor keys also connect row 1 / column 6 on the top membrane. TRUE VIDEO, for example, connects row 1 / column 6 on the top membrane and row 3 / column 1 on the lower one.
  • Full stop, semicolon, inverted commas and comma also connect row 2 / column 8 on the top membrane.

Row 1 / column 6 is the Caps Shift position and row 2 / column 8 the Symbol Shift position in Sinclair's matrix description, so each of these keys produces a shifted code with one press.[2] If a whole group fails together while the rest of the keyboard works, suspect the shared contact on the top membrane.

Damaged tails

[edit | edit source]

Most keyboard faults are the membrane: the pads under the keys wear out, or a tail cracks with age or handling.[11] A crinkled, creased or cracked tail end can be cut back by up to an inch to reach good material. Strip back the insulating layer by about another quarter inch, or the keyboard will stop working altogether. Worsley says this applies to both keyboard types.[11]

Light tarnish on the tail contacts cleans off with isopropyl alcohol on a swab.

The STOP key fix

[edit | edit source]

Step 5 of Sinclair's Spectrum-to-Spectrum+ conversion procedure is: test the keyboard, especially STOP, and if STOP does not work, connect a 22 kΩ resistor across R68. On an Issue 1 board, connect the 22 kΩ between pins 1 and 5 of RP1, on the reverse side of the board.[12]

R68 is one of the 10 kΩ row pull-ups on Issues 2 to 5. On Issue 6A it is 6.8 kΩ.[4] Timex's Issue 6A drawing of September 1984 also marks R68 as 6.8K; on that drawing it is the pull-up on KB1, ULA pin 20.[19] The fix belongs to fitting a Spectrum+ keyboard to a rubber-key board; on an unmodified rubber-key Spectrum with its own membrane, check the tails first.

Reassembly and test

[edit | edit source]
  1. Refit the keyboard with no folds or creases in any membrane layer.
  2. Fit the top cover without creasing the tails.[12]
  3. Replace the case screws evenly. Sinclair warns against overtightening the self-tapping screws.[13]
  4. Power up and test every key, including the shifted and extended combinations.[12]

Further reading

[edit | edit source]
Track layout of a replacement Spectrum keyboard PCB
Track layout of a 2011 replacement keyboard PCB for the rubber-key Spectrum ("ZX Spectrum keyboard PCB ver. 0.1, MCBX 06.2011"), with the matrix links drawn in red. Not a Sinclair drawing.
[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 ZX Spectrum 128 Service Manual, Sinclair Research Ltd, section 2 "Disassembly/Assembly" (pp. 22–23) and section 5.3 "Case Assembly Components" (p. 34). Hosted as Sinclair ZX Spectrum 128 Service Manual (PDF).
  2. ↑ 2.0 2.1 ZX Spectrum Service Manual, Sinclair Research Ltd, section 1.8 "Keyboard Scanning" (p. 14). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  3. ↑ 3.0 3.1 ZX Spectrum - Issue 3 circuit diagram, Sinclair Research Ltd. Hosted as File:Sinclair ZX Spectrum Issue 3 circuit diagram.png.
  4. ↑ 4.0 4.1 ZX Spectrum Service Manual, Sinclair Research Ltd, sections 8.11 and 9.17 "Resistors" (pp. 45, 54). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  5. ↑ Undated hand-drawn ZX Spectrum keyboard matrix, rear view, with a ribbon-to-DIL pin table, Ferranti Archives 2026 (SPEC-FER-SCH-067). Source for the tail-to-line mapping of the membrane.
  6. ↑ Ferranti logic diagram LD6790/ULA6C001/1, issue 3, 10 October 1983, Ferranti Archives 2026 (SPEC-FER-SCH-017). Source for the 6C001 pad list (KB0 to KB4 on pins 19, 20, 23, 24 and 26; data lines on 18, 21, 22, 25, 27, 29, 30, 31).
  7. ↑ Ferranti handwritten test procedure for the ULA 5C102, undated, Ferranti Archives 2026 (SPEC-FER-NOT-094). Source for the TAPE/LS output limits, the EAR input test levels, the CPU clock at a quarter of the master clock, and CPU clock stopping during the active display.
  8. ↑ Ferranti Spectrum test box master and slave interface schematic, 5 August 1983, Ferranti Archives 2026 (SPEC-FER-SCH-147). Source for key presses simulated with 4066 analogue switches across the keyboard lines, and for Ferranti's edge-connector lettering.
  9. ↑ 9.0 9.1 ZX Spectrum Service Manual, Sinclair Research Ltd, section 5.5 "Keyboard Structure" (p. 29) and section 6.7 "Keyboard Faults" (p. 34). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  10. ↑ ZX Spectrum Servicing Manual, prepared by Thorn (EMI) Datatech Ltd for Sinclair Research Ltd, March 1984, with T.I.S. "Repair Data" appended (symptom 7, keyboard faults). Hosted as ZX Spectrum Servicing Manual (Thorn EMI Datatech, 1984) (PDF). The T.I.S. sections are third-party field-service material.
  11. ↑ 11.0 11.1 11.2 11.3 11.4 Worsley, Ian. Repairing Spectrum & Spectrum Plus, from the Lil Old Sinclair Technical Information Repository, republished by World of Spectrum (retrieved 2026-10-01).
  12. ↑ 12.00 12.01 12.02 12.03 12.04 12.05 12.06 12.07 12.08 12.09 ZX Spectrum Service Manual, Sinclair Research Ltd, Supplement No. 2, sections 10.1–10.4 (pp. 57–59): the Spectrum+, the conversion procedure, keyboard assembly and keyboard operation. Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  13. ↑ 13.0 13.1 13.2 ZX Spectrum Service Manual, Sinclair Research Ltd, section 2 "Disassembly/Assembly" (p. 16) and section 7.2 "Repair" (p. 37). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  14. ↑ ZX Spectrum Service Manual, Sinclair Research Ltd, section 4.3 "Modifications – Issue 2 Board" (p. 23). Hosted as Sinclair ZX Spectrum Service Manual (PDF).
  15. ↑ 15.0 15.1 Ferranti memo "Spectrum+ 6C001-7 keyboard failures", 11 November 1984, Ferranti Archives 2026 (SPEC-FER-MEM-039). Source for the results of five returned ULAs on Issue 3 and Issue 6A boards, the input-threshold measurements, the short between pins 23 and 24, the Vcc-sensitive device, the 6-layer and 2-layer membranes, the 100 pF measured on the keyboard inputs and the 220 pF tolerated by a good ULA.
  16. ↑ Timex letter to Ferranti, "Spectrum ULA-7 Failure Analysis, Keyboard Faults", with oscilloscope Polaroids, 7 November 1984, Ferranti Archives 2026 (SPEC-TMX-LET-041). Source for the two fault categories (columns of keys dead; wrong keys in a column pair), the rise time on the keyboard lines (about 330 ns with the old keyboard, about 1500 ns with the Spectrum+ keyboard) and the increased crosstalk.
  17. ↑ Ferranti ULA 6C001 specification, issue 1, 26 August 1982, Ferranti Archives 2026 (SPEC-FER-DAT-097). Source for Vcc2 "2 V (nominal)", typical currents of 40 mA and 80 mA, keyboard input thresholds of 1.4 V and 2.8 V, TAPE/LS thresholds of 0.4 V and 1.0 V, other inputs 0.8 V and 2.0 V, and the output levels.
  18. ↑ Ferranti drawing ULA 6C001/4, input and output cell circuits, issue 1, 27 September 1982, Ferranti Archives 2026 (SPEC-FER-SCH-015). Source for the cell type on each 6C001 pin and the 18K pull-ups on the keyboard inputs.
  19. ↑ Timex Corporation (Dundee) "ZX Spectrum Circuit Diag. Issue 6A", Ferranti version, drawing 356-280106-01, sheet 1 of 2, 25 September 1984, Ferranti Archives 2026 (SPEC-TMX-SCH-069). Source for the 6C001E-7 ULA, the ZX8401 (IC27), the IC28 link points, C105 180 pF, R68 6.8K and the Issue 6A capacitor values.