DDDAC 1794 Build

This article is about building my own version of the DDDAC 1794 NOS DIY dac. Designed by Doede Douma. The NOS stands for Non Over Sampling DAC, without any filtering.

More info:

There is a massive thread diyaudio about the DDDAC 1794; nos-192-24-dac-pcm1794-waveio-usb-input. It can be a little overwhelming; it contains today almost 8000 messages. In 2017 it were only 6000 messages to read.

Audio Creative has published some nice article about this DAC. They are also the official channel to for available DIY DDDAC 1794 kits.

You can start a DDDAC 1794 NOS build very basic and depending on your budget and time extend it in time. I started my build in 2017 and completed most at the beginning of 2018.

In its most basic form it contains:

  • Power supply (kit available, but of course you can use your own)
  • Mainboard (sold as kit)
  • One or more DAC boards (sold as kit)
  • Output decoupling choice (default a cheap capacitor is supplied)
  • An enclosure and even that is an option.

In the most basic form only a SPDIF input is available. Other sources can be connected to an I2S input.

Specs of this build:

  • DDDAC 1794 subsystem exist out of:
    • 1x Blue Mainboard.
    • 2x DAC with Tent boards.
    • 2x Cinemag 600/600CLI Transformers as output decoupler.
  • Raspberry Pi 3B
    • HifiBerry Digi+ Pro as I2S source for the DAC.
    • An Allo Isolator for galvanic isolation between the buildin Pi and HifiBerry + DAC.
    • Moode Audio as software distribution.

Special features of this build:

  • Nice enclosure with:
    • OLED Display with information about the current track
    • Source button to choose from:
      • Raspberry (long press of the source button pause or continue current track)
      • Digital Source 1 SPDIF/Toslink
      • Digital Source 2 SPDIF
    • Soft power down for Raspberry
  • Allo Isolator mod to use both Crystals from the Hifiberry
    • Allo Isolator doesn’t required 6.5VDC
  • Software mods for:

All schematic, drawings, tweaks etc can be found at my github repo dddac1794build.

Article Content:

  • Overview
  • Main board + DAC modules
  • Power Supply
  • Output decoupler
  • Raspberry Pi
  • Enclosure
  • Source selection
  • OLED Display
  • Soft power down
  • Part list

System Overview

Overview is provided by three diagrams:

  • Blocks
  • Actual used electronics and global interconnections
  • Electrical scheme (kiKad)

The functional blocks of the system are:

This system DDDAC 1794 building blocks

The used electronics and connections are shown in the following diagram:

Connections between the blocks

The exact connection between the modules are shown in the diagram below:

Schematic of the system

The remainder of the article provide more detail of some of the modules.

Main board + DAC modules

The DIY kits supplied by Audio Creative are beautiful kits. You directly see that PCB are high quality. SMD components are already mounted on the PCB, you only need to solder the through hole components your self.

It includes silver wire for connecting the DAC with the main board. The kit also include Dale resistors for the I/V conversion. If you like to use silver solder, you can buy also a small amount from Audio Creative. You can find the construction documentation and more also on the DDDAC page of Audio Creative.

DDDAC1794 main and DAC module kits
Assembled main module
Assembled DAC module
Main with a single DAC module

Currently my system contains 2 DAC modules and have room left for a third DAC module.

Power supply

For the Mainboard and DAC boards a stock DDDAC 12V PS kit is used.

DDDAC1794 12V PS

The other components use 5V, but no DDDAC 5V PS kit is used for it. The 5V PS exists out of a clean 5V and a dirty 5V. The clean is used by the Hifiberry and the Allo Isolator (at least the clean part of the isolator). The dirty 5V by the Pi and other auxilary components. The 5V uses a toroidal transformer with secondary 2x6VAC, 30W. Followed by a dual DIYIHNK 4.17uV 5V/1A regulator. It uses a TPS7A4700 for regulation.

Dual DIYIHNK 4.17uV 5V/1A regulator

The Raspberry Pi is direct fed by the 5V dirty on the GPIO connector 5V, the USB PS connector is not used.

To the Hifiberry a connector on position P3 is added. This is used to fed the clean 5V to the Hifiberry and the Allo Isolator. If you had used the PS connector of the Allo Isolator it self, that voltage had to be 6.5VDC, because the voltage drop of the onboard 5V regulator.

By the way both the Raspberry, HifiBerry and the Allo Isolator all have onboard 3.3V regulators that are used to fed the electronics onboard.

In my build there is no connection between the dirty and clean ground. Make sure that in that case you also have the mod for the clock select.

Output decoupler

I replaced the default no name caps first by 2x MKT-Capacitor ax. 2,2µF ERD 1813 NOS. Later followed by Cinemag 15/15b transformers.

And finally settled with two Cinemag CLMI 600/600C to decouple the outputs. Both are nicely mounted to the side of the enclosure with a 3D printed mounted (Thanks Henk!).

Cinemag transformer mount

Raspberry Pi

Hardware

The Raspberry Pi is in this system not only important as a I2S source for the DAC, but the Raspberry Pi also controls most of the auxiliary modules like the display and source selection.

You can see this back in use of the Raspberry expansion header:

Raspberry Pi GPIO usages

The hardware is stacked as following:

  • On the bottom the Raspberry Pi
  • Followed by a PiFace GPIO Shim
  • Then the Allo Isolator
  • And finally the HifiBerry Digi+ Pro

The PiFace GPIO Shim makes it possible to breakout the GPIO and others pins, while continue stacking other boards.

PiFace GPIO Shim -Header Breakout

Special attention is needed for letting the Allo Isolator and HifiBerry work together and still honor the separation between the dirty and clean 5V modules. See an other article for more details.

All GPIO interfacing including the power supply for the Pi connected to the PiFAC GPIO Shim.

Operating System

Tested a lot of software distributions. Started with Rune Audio and currently Moode Audio 6.4.2 is used. It provides an easy to install system, a nice (web) GUI and is easy to mod.

It requires two configuration settings for make it work for this specific system:

First select the the HifiBerry Digi+ Pro as I2S device, which will require a reboot.

Second force to use 24 bit as output signal, source that aren’t 24 bit are converted. You can also provide a fixed upsample rate. See the article Selective Resample for an other interesting option.

Additional software for the display, source and soft power are handled in the previous paragraphs.

Enclosure

The chosen enclosure is a model of the Hifi2000 Galaxy line, the Galaxy Maggiorato GX388 330 x 280mm x 2HE 10mm front panel SILVER, including a Base Galaxy GX.

Galaxy Maggiorato

The base plate makes it easy to mount all components first on the base plate and then place the base plate in the case.

Base Galaxy GX

To see if everything fits the following floorplan is used.

floorplan

For designing the front and pack panel I used Front Panel Designer from Schaeffer. Within this application you can directly see the cost of the design and place an order with Schaeffer. Also it provides nice renders of the panels.

The project files can be download from:

I wanted the display a little bit sunken in the front, but not the full 10 mm. Therefore also on the back some material should be extruded to bring the display more to the front.

front panel
back panel with deepened location for the display PCB

I am very satisfied with the end result:

Source selection

The system has three sources:

  • Raspberry Pi, I2S
  • Digital 1, SPDIF or Toslink
  • Digital 2, SPDIF

Selecting the source is done with momentary switch next to the display. The switch is directly connected to the Raspberry Pi.

On power on default Digital 1 is selected. When the Raspberry is booted the Raspberry is default selected as source and the switch led is turned on. As long as the Raspberry is booting the screen will stay dark.

A short press will select the next source. If the Raspberry is selected a long press will pause or continue the current track.

The led current is to much for the Raspberry it self, the soft power down PCB contains a transistor to drive the led.

A dual relay module is used for selecting between I2S or SPDIF and selecting between Digital 1 or 2.

Dual Relay Module

The relay module is also controlled by same daemon on the Raspberry Pi as for controlling the display. The module is mounted against the back panel of the enclosure.

OLED Display

The system contains a small display to show source information.

The display specs:

  • Size :1.3″
  • Type: OLED
  • Resolution: 128×64
  • Interface: I2C
  • Driver: SSD1106

The display shows information about the Raspberry or the Digital Source (1 or 2):

If the Raspberry Pi is active the following information is show:

For controlling the display a daemon is running on the Pi. This daemon is written in Python and will work uses two libraries for the main functionality:

  • pyhton-mpd2 is used to connect to MPD for reading out information about the current song and playlist.
  • python-luma.oled is used to drive the display itself.

The daemon also contains the functionality to read the source button and control the led in the source button. Due using the MPD client library, you don’t have to integrate with Moode Audio itself. It will work on any MPD based or compatible audio player, even over the network if you want a separated display.

Soft power down

There is risk to corrupt the SD card of Raspberry Pi when it isn’t proper shutdown and I do power down my audio equipment when not in use, a solution is needed.

A software power down module is developed for this purpose. See the article Raspberry Soft Power Down for more information.

Part List

To give a clue about the number of parts and investment required hereby the list of my specific system.

Small parts like wiring, additional nut, bolts and some connectors are not on the list.

nrdescriptionsubsystemSuppliercountpricetotal
1DDDAC 1794 blue mainboarddacAudiocreative1€ 165,00€ 165,00
2DDDAC 1794 DAC boarddacAudiocreative2€ 159,00€ 318,00
3DDDAC 12V PSdacAudiocreative1€ 94,00€ 94,00
5DIYINHK Ultra Low Noise PSstreamerDiyinhk1€ 41,82€ 41,82
6Block RDK 30VA/2x6VstreamerConrad1€ 19,64€ 19,64
7Raspberry 3streamerSOSsolutions1€ 36,95€ 36,95
8SD Card 8 GBstreamerSOSsolutions1€ 7,95€ 7,95
9Hifiberry Digi+ ProstreamerSOSsolutions1€ 42,95€ 42,95
10AC Main C14 Chassis partcaseConrad1€ 5,25€ 5,25
11Fuse 20mmcaseConrad1€ 1,20€ 1,20
12Torx147 Optical SPDIF Receiver 192kcaseDiyinhk1€ 3,35€ 3,35
13CinchConnector Rean AV NYS367-9caseConrad1€ 4,36€ 4,36
14CinchConnector Rean AV NYS367-2caseConrad1€ 4,36€ 4,36
15CinchConnector Rean AV NYS367-4caseConrad3€ 4,36€ 13,08
16Cinch-connector internalcaseConrad1€ 1,48€ 1,48
17OLED Display 1.3″ I2CcaseDiymall by ebay1€ 8,51€ 8,51
18Galaxy Maggiorato GX388 330 x 280mm x 2HE 10mm front panel SILVERcaseModus1€ 53,00€ 53,00
19Base Galaxy GX345/348/385/388caseModus1€ 8,00€ 8,00
20Case feetscaseModus4€ 3,50€ 14,00
21Frontplate JobcaseSchaeffer1€ 58,89€ 58,89
22Backplate JobscaseSchaeffer1€ 42,38€ 42,38
23Relais board arduino 1x relais (active high)caseDX1€ 2,30€ 2,30
24Relais board arduino 2x relais (active low)caseDX1€ 4,00€ 4,00
25Attiny85case?1€ 2,30€ 2,30
26Switch TRU COMPONENTS LAS1-AGQ-22E, BLcaseConrad2€ 19,82€ 39,64
27Allo IsolatorstreamerSOSsolutions1€ 60,95€ 60,95
28Cinemags CMLI-600/600 setdacAudiocreative*1€ 249,00€ 249,00
29PiFace GPIO ShimstreamerKiwi Electronics1€ 5,95€ 5,95

The partlist can be downloaded at:

AMIGA Keyboard tester

AMIGA keyboard tester

During the a repair of an Amiga 2000 keyboard I didn’t found it very handy to use my Amiga as tester for a defect keyboard:

  • During testing, to prevent damage with unplug or plugin of the keyboard, it requires power down of the Amiga.Which takes a lot of time and proceedings (the boot, shutdown etc)
  • Change to damage the keyboard port of the Amiga if something was really wrong

So the idea began to take shape of we could build a simple tester.
Next to me laying was a Arduino Uno with a Multi Functional Shield laying around. And the Amiga Keyboard protocol doesn’t seem to hard to me.

Hmmm lets first see if you one else already did use an Amiga Keyboard on an Arduino.
And yes the is. The purpose of the solution in the thread, is using the Amiga keyboard on other computer with Arduino as USB adapter. I used the script provided in message #90 as basis. It is original written by Janne Lof, but I can’t find the original reference. You can find the modified Arduino sketch at :

The Arduino Uno doesn’t support using the device as an USB hid. So first get rid of the the USB code and use an Serial.print to test if it works. And then switch to use the 4x 7 segments display.

Amiga 2000/3000 pin out

Lets connect a suitable connector for my Amiga 2000 keyboards. See AMIGA Keyboard connector pin-outs for pin-out of the other models. Due the shield already taken a bunch of pins, we need other free pins to use. Preferred some that are already available on the unused headers on the shield.

#define PIN_KLCK 6 // black (was 8)
#define PIN_KDAT 5 // brown (was 9)

For testing we use serial port, after testing the serial code is disabled. In the Arduino IDE under the Tools menu is a serial monitor. In setup make sure Serial.begin(9600); is called. Ok that seems to work.
Now the script will be changed to:

  • Show the amiga (hex) keycode on the two first digits of the display. 
  • On a key press the dp(=point) on the last segment will be on.
  • On a key release the dp(=point) on the last segment will be turned off again.
  • If an out of sync situation occurs the display show “____”.

In general it works well, but sometimes “____” or the key release doesn’t react. Lower the time of kdat low seems to improve it, but set to short, according to the protocol, some hardware will refuse to work it.

For reference it is nice to have the Amiga Keyboard codes at hand:

My Mitsumi based Amiga 2000 keyboards works fine, but the Cherry based version doesn’t. That board takes to much power from the USB 5V.

On my bucket list for further improvements:

  • Joystick test
  • Mouse test
  • Maybe on other SPI or I2C display for more rich feedback.
  • How to deal with the Cherry board (separated supply … ?)

mBlock Arduino Multi Function Shield

My kids like easy coding with Scratch or mBlock. I found a nice Arduino shield for them to play with, only it could only be programmed with the Arduino IDE. Luckily mBlock provided a way to extent the mBlock environment.

The Arduino Multi Function Shield is a low cost shield provided by several suppliers.
It contains a lot of basic IO for fun experiments. Typical the stuff you put normally first on a breadboard.The shield contains:

  • 3x push switches
  • 4x leds
  • 1x buzzer
  • 1x potentiometer
  • 1x 4 segments 3461 BS display 
  • And some interfaces for optional io/sensors

You can code it your self in the Arduino IDE or use an existing library like the arduino-multi-function-shield library

mBlock

mBlock  is a Scratch like IDE for making computer program, but it also supports several hardware platforms like the mBot, but also Arduino. My kids use this very accessible environment for the mBot, but is also support other hardware like the Arduino Uno.

mBlock environment web or app

mBlock Extension

To make the it able to use the Arduino shield in mBlock, a so called extension should be created for it in the mBlock online extension builder.
When a extension is finished it can be published for approval. In the will so up in the Extension store.

In the extension center you create for a certain category a number of blocks.

new block in the extension builder

Each block can be hooked to matching C code for :

  • declare
  • setup
  • code
set led block configuration

For use it needs to be added to you mBlock environment. Unless you want to hack the extension yourself, you can use the MF Shield from the extension center.

MF Shield extendsion in the extension center

MFS Blocks

Below are the new blocks created for use with the MF Shield and are available in mBlock:

Overview of the MF Shield blocks in mBlock

The MFS library use a Timer in the background to update the leds, display segments and read the switches.The MFS library has a very nice way to read the switches; it puts every event in a round robin queue.The function MFS.getButton get the first one from the queue. Using this function several times in the main loop is a bad idea.
That’s why the functionality is splitted in two;

  1. get first entry in the queue – (get button state block)
  2. eval if a certain key is pressed – (is button [x] [pressed] in [button state] block)

Read the switches

If you only have one button test you can use the get button state block directly in the eval block. If you have multiple you first need to store the button state into a variable and use that variable in the eval:

Only one switch test in your program:

Use multiple switches in your program:

Leds

Potentiometer

Display

Try-out extension

Try out the extension before it is published (before is applied to and approved by the mBlock Des):

  1. Click in the extension editor download
  2. Save it own disk
  3. Open mBlock 
  4. Open an explorer to the downloaded extension
  5. Drag and drop it onto mBlock
  6. Restart mBlock
  7. Chose add extension
  8. Add the MFS extension to your project (project device has to be an Arduino, only tested with the Uno)

If you to update the extension repeat step 1-6.

Resources:

You can find the extension on:

Other handy links:

If display segments are used with raw data (instead of display test use set display segment) you can enable each led of the segment. A-DP are the bits of the segment.

AMIGA 2000 Cherry keyboard restoration

Some time ago I was offered a defective Amiga keyboard. It was Amiga 2000 Cherry Keyboard, one of the more rare Amiga 2000 keyboards. The previous owner informed me that the keyboard was not working at all.

This keyboard has several unique distinctive features:

  • Red Amiga keys (notice different location of those keys; there is space between those keys and the space bar).
  • Uses Cherry MX switches.
  • Double shot caps (except for the Amiga keys); not printed symbols, but two colors of plastic. Just like my C64 keyboard.
  • Small function keys.

Let’s see how far we can get the keyboard working again.

First examination

An inspection of the exterior:

  • Plain label on the front with “Amiga 2000”
  • Slightly yellowed
  • No label of id on the bottom
  • US QWERTY layout
  • Nice red Amiga keys !
  • Big ass Return key
  • Six clickers for opening the case
  • Not the ergonomic connector seen with others, but I found pictures with exact the same connector and cable so it seems to be the original.
  • Foots the bottom are missing
  • In my opinion, the keyboard wobbles on the outer edges
  • It is opened before; the six clips looks scratched

After opening the case and inspecting the internals:

  • Identification:
    • On the PCB component side 4 labels:
      • 879/00 11883 13047552 (white upper left corner)
      • Unreadable (orange above the F1/F2 keys)
      • 197 (yellow above the F7/F8 keys)
      • Unreadable (white left from the cursor key > )
    • On the solder side of the PCB as part of the PCB: Cherry 601-1435  Rev.: 0.2
  • No metal plate to support the PCB and add a nice weight to the keyboard.
  • Old school lower quality pertinax PCB; the old brown stuff.
  • Damage to the traces and some pads
    • Normally on those two pads the shield cable is soldered.
    • Can be that there was to much mechanical stress and the traces came lose from the PCB.
    • The mask indicates that there should be 2 capacitors. But I’m not sure that it was ever there. Lets see if t can find photo’s of this area.
  • Due the damage above someone resoldered the shield cable
    • The solder looks no good.
    • It is connected to pin of a capacitor.
    • The trace did come loose from the pcb. (to hot welding temp used ?), so the capacitor is now floating.
  • Both pins pf the 6 MHz crystal looks to have bad solder joints. One is even loose.
  • PCB lacquer looks a little lumpy, nothing serious just aesthetic.
  • No other damage visible.

Some research

After some searching found that the PCB ID Cherry 601-1435 matches  with Amiga Commodore   G80-0879HAU (601-1435)  Cherry MX Black. It looks like that this keyboard is only used for the first batch of Amigas A2000A r4.x (the German design) from 86/87. The USA based sites find it a rare keyboard, but I think in Europe it isn’t because the A2000A is never sold in the states. Nice article can be found on AmigaLove.
On deskthority information and pictures are available.Based on one of that pictures:

  • It has the same cable and connector, so it it original. On AmigaLove it was stated that this keyboard has the ergonomic connector, but this isn’t always the case. The one on deskthority and mine obtained models have a different connector.
  • The pads (with the broken traces, on the images below the 4 holes right next to yellow wire) which are empty on my board are also empty on that picture, good news.
Image from deskthority.

It seems that the PCB from deskthority doesn’t have the brown pertinax PCB.

The connector is a 5-pin DIN plug. The pins are:

  1. Clock,
  2. Data,
  3. in not used.
  4. Ground,
  5. +5V.

The keyboard controller is made out of one of the first Intel 8 bit micro controllers (MS48 family):

  • Intel P8049AH (from 1977!)
  • ET 2716 Q1 (EPROM) with version 467
  • 74LS373
  • 74HCT373
  • Crystal 6MHz

The good thing about this is; no special MOS chips involved. All later Amiga keyboards use a MOS keyboard controller. The P8049AH contains 2k ROM, it isn’t used and relies on an external EPROM for the program.


I’m not sure about it, but it looks that this keyboard PCB is produced by Cherry Germany and not Commodore. Cherry did use this controller logic with several of their other products. They used instead of P8049AH also P8039AH, which is the same model but without internal ROM. Are pin compatible and can de swapped. It is configured to use the external EPROM.

The repair attempt

Shield

Based on the damage found, I think that the ground is floating and not connected to the PCB. The damage is related to relocated and resoldered (with to much heat?)  of the wire connected to shield carton. Lets first correct that by cleaning up add add a bridging wire and remove the shield wire.  

Ok caps light will now turn on at startup, but further it is still dead.
Remove the bridge wire again and provide are more permanent solution;

  • Desolder the bridge wire 
  • Scrap the lacquer for 3mm from trace that is left, but unconnected. Clean it with IPA, followed by flux with heating.
  • Again clean with IPA and apply flux.
  • Finally apply solder to the fresh cleaned copper.
  • Measure the connection

If keyboard is working again restore the shield wire by an little bit more easy to handle wire and also solder it on an different location.

Crystal

Next in line are the bad solder joints on pad/pins of the crystal. Not clearly visible in the image, but both pins are loose in solder joints. Just reflow the joints. To be sure measure the crystal is still working check it with the scope. And the answer is no. Maybe are the bad joints related to the mounting method, it hings on the legs and provide mechanical stress to the joints. The crystal will be replaced and will get little support of a drop soft (removable) glue.

EPROM Check

Next I will check it the EPROM is this functioning. For this I need an ROM image to match it against. This ROM is part of the Mame emulator a2000kbd_g80_us device.
Size and checksums are provided:

namesizecrcsha1
467.u42048fb92a773e787dc05de227f30a47ac5b9ee7a355c2e9e693b

This source did only provided the checksums, but not the ROM it self. The checksums are just fine for verify that the content of the ROM is still ok, but I like to also have the image itself. Luckily the site retroroms provides all Mame roms including the a2000kbd_g80_us.zip rom.First check if the ROM matches the checksums provided above. I use the hex editor HxD for such things.
Because the ICs on the keyboard PCB are soldered without sockets, I first have to desolder (so happy with my ZD-915 desoldering station !) the EPROM.

Now I can verify, using an old  programmer Leap EP-1 with Windows 98 SE, if the content of the EPROM matches the ROM image. And yes it does.

The EPROM checks out to be ok!

New Shoes

Instead of soldering it back, I decide to first solder an DIL socket back. Normally maybe not wise for keyboard to have ICs in sockets, but it makes future repair, checks and replacements easier. And this keyboard will get an easier life that the previous 30 years, therefore I trust that the IC will remain in its socket. And while busy with the iron lets give the other ICs also some shoes 😉

Spare parts

To be prepared see if I can get replacement parts, if needed.T he two 74xxxxx can be obtained from normal electronics stores.  The CPU and EPROM is different story. Luckily there is a company specialized in such parts and ask reasonable prices. This company is Slawmir in Poland (also present on ebay, use the filter “seller:slawmir” ).
An used P8039AH CPU and an ET 2716 EPROM will cost less then €5, lets order it for just in case we need it.

Schematic

Lets check the traces again, this time not only optical but also with the multi-meter.
To make sure everything is tested correct a schematic of the electronics would help, I could not find it only.  Lets recreate an schematic with KiCad. The PCB is self and the MCS-48 Family User’s manual are used to create the scheme.
Is fairly basic setup:

  • Timing circuit .
  • Reset circuit.
  • Extern EPROM with latch for the lowest 8 bits.
  • Additional 8 inputs with a HCT373.
  • Use port P1 and part of port P2 for IO.
  • The kclock and kdata use both two pins; one output and an interrupt input.

The only tricky one is the reuse of the for lowest bits of P2 for both address and IO.

Now we have a schematic, additional I will also create the PCB layout with only component placement (no traces):

Both together make it very efficient to measure the connections without constant following the trace. And because the ICs already have sockets, let get the IC’s out to make the measurement even more easy and have no risk at damaging the old ICs.Just following the connection from pin to pin in the scheme to see if it works. Also check for double connections.

Trace Connections

We start with measuring only the area where the control electronics are, not the connection of every Cherry MX switch. I only will follow a few of those just see if at least one switch and its connections are correct.
After measuring with the multimeter at least the A8 and A9 signal seems not connected to the EPROM.
Finally with an inspection with 8x zoom showed very thin crack in the upper layer of the underside of the PCB.The crack is spread over 6 traces, one affected (A10) is still working. Clearly I need some better tooling for visual inspection.

Restore A8 & A9

First quick fix is to temporary add some bridge wires for A8 and A9 to see if this is the last error to fix.
Boot with AmigaTestKit (formerly SysTest) And yes it works! Only the O and Z aren’t working, probably due the other broken traces (checked the switches).

Remove the coating from the damaged traces and cleanup with IPA and flux.

Then apply flux and with a very small soldering tip apply some tin on it. Steady hand required each trace is less then a 0.4 mm width.

And after soldering each broken trace all keys work again.Finish this with a strong lacquer to seal it.

Cleaning and put it back together again

Time to clean the enclosure and keys. All keys are removed and cleaned piece by pieces.

Now the keys are removed, you can seen that it are really double shot keys; no printed symbols, but used two different colors of plastic. This guarantees that the colors will not fade in time or use. Only the Amiga keys are an exception, those are still printed. All A2K,A3K,A4K keyboards that come after this model all have printed symbols.

Hmm I don’t like the way the spacebar is moving. It seems that one guidance of the stabilizer is broken.

Use some power glue to restore it and add some soft (removable) glue to outside to provide some support.

If that doesn’t work I can always order an original-cherry-2u-pcb-stabilizer.
Replace the missing foot rubbers by fresh new ones.

Due the clips of the enclosure closing and the the tight space for the keyboard cable, I use the following order for putting the enclosure back:

  • Take the upper part of the enclosure.
    • Place it up side down.
    • Place the PCB.
    • Make sure the keyboard cable is placed correct .
    • Place the two internal screws, but not fully tight them.
    • Move the PCB to most up.
    • Now you can tight both the screw.
  • Take the lower part of the enclosure
    • Place it up side down
    • Place the shield (with metal folly to the plastic)
    • Fix it with some tape or fold the folly in place with your hand
  • Now you can place both together and press the clips

And the end result:

Bonus

Because the schematic and PCB layout are created in KiCad, we also now have a nice render of the PCB. Including identification of the problems areas. Each of the three areas was enough to make the keyboard not work. This is the first I had to repair something with a triple error with the same effect; a dead keyboard.