ErgoDonk Zero build guide

Table of contents

  1. Tools and materials
  2. Assembly steps
    1. Prepare
    2. Diodes
    3. Switch Sockets
    4. Jumpers
    5. RP2040 Zero MCU
    6. TRRS Jacks
    7. Solenoid
    8. Rotary encoders
    9. Final assembly
  3. Warnings and disclaimers

Tools and materials

  • soldering iron and solder
  • no-clean flux makes soldering easier
  • solder wick or desoldering pump to correct mistakes
  • good tweezers
  • flush cutters to trim diode legs
  • masking, kapton or electrical tape
  • isopropyl-alcohol for cleaning
  • Optional - magnetic ‘third hand’ PCB work holding fixture. (I’m partial to the little cones)
  • Optional - multimeter for troubleshooting.
  • Optional - magnifier headband.

Assembly steps

This guide includes all optional components.


Prepare

Make sure you know which side you are working on, and don’t make two left hand sides by mistake. Stick a piece of tape on the front side of both PCBs to help remember.

@todo Update image. Sofle V3

The assembly order does not matter. This guide is written in the order I like to install components, starting with the components on the back, shortest to tallest:

  • diodes
  • switch sockets

Then install the components on the front:

  • Jumpers
  • RP2040 Zero MCU
  • TRRS connector
  • Solenoid components
  • Rotary encoder

Diodes

Diodes, surface mount or through-hole, should be installed on the back of the board. This allows for easy access after the keyplate is installed, and allows for the use of choc keyplates and stabilizers.

If you are hand soldering, through hole diodes are recommended because they are easier. If you damage a pad on one side, you can install the diode on the opposite side.

If you are using PCBA with surface mount diodes, either the front or the back will technically work, but surface mount diodes on the front will prevent the use of a choc keyplate.

There is one diode per key, and one for the rotary encoder. The right hand has more than the left hand.

When inserting diodes into the backs of the boards, you only need to insert diodes into the footprints that have an accompanying switch socket outline. For example, in this image, we are looking at the backside of the left hand board. The left hand does not have a switch 18, so there is no socket outline, and so no diode would be needed. If you do add a diode where it is not needed, there is no negative impact.
Through hole diode orientation

For surface mount diodes, a common soldering method method is to tin one pad, place the diode on, apply the soldering iron to the diode leg until it melts the solder underneath and sinks flush with the PCB. Then come back and solder the other leg. Alternately, you can use a rework station heat gun and solder paste. (I prefer this method for smds).
SMD Orientation:
SMD orientation marking example SMD orientation example

For through-hole diodes, pre bending the legs while they are still on the paper strip makes inserting them much easier. You can use a 3d printed diode bending jig to make quick uniform bends.
Using a carpenters pencil as a bending jig Using a carpenters pencil as a bending jig

Alternately, a carpenters pencil is roughly the right size. (The diode holes are 8mm apart, wooden pencils are often 7mm - 8mm).
Using a carpenters pencil as a bending jig

With the PCB eleveated via workholding, insert the bent diodes into the holes on the back of the board. Diodes must be oriented with the black band in the direction of the “arrow” symbol on the PCB. There is also a black outline around the pad to make it easy to check the diode orientation is correct after the diode has been soldered in place.
Through hole diode orientation

Through hole diode orientation Left hand diode locations on the back of the ErgoDonk zero keyboar Right hand diode locations on the back of the ErgoDonk zero keyboard

Solder the legs in place.

Flip over the board, and trim the legs.

When you trim off the diode legs, save 12 for use as jumpers.


Switch Sockets

Switch sockets installed on the back of the PCB facing up towards the front of the PCB. Make sure they are flush with the PCB.

  1. Put all the sockets in place. PCB hole tolerance can vary quite a bit, so some sockets may snap in, while others rest in the holes. If you have some that snap in, be sure to check everything is flush before you start soldering.
  2. Solder one side of each socket by heating the metal connector. Apply solder and look for the solder to wick down to the PCB. You want a solid joint since this may take some mechanical strain from switch installation and removal. The 3d printed workholding feet are really handy here. You can reposition the board as you work to get the best angle for soldering those connectors.
  3. Give the board a few good taps to make sure there are no loose sockets.
  4. Rotate the board 180 degrees and solder the remaining sides.

ErgoDonk left hand backside indicating socket placement ErgoDonk right hand backside indicating socket placement


Jumpers

Because the MCU on both sides shares the same footprint, we need to set jumpers to ensure the power is routed correctly. The set of six jumpers for the right and left hands are marked accordingly. They can be soldered on the front or the back. Soldering on the front is recommended.

You can bridge the jumpers by dragging a blob of solder across the 2 adjacent pads. Modern rosin core solder can make this difficult. As an alternate bridging method, you can bend a diode leg and solder that in place. There is bending jig to make it easy to bend jumpers to the optimal width. The bottom slot on the jig is for the jumpers.

Bending jig location Jumper bending jig in use Six bent jumpers made from diode legs Jumpers on the board that have not been soldered. Soldered jumpers on the left hand of the ErgoDonk Zero clipping excess jumpers on the left hand of the ErgoDonk Zero


RP2040 Zero MCU

The Zero is installed on the top of the board, buttons facing up.

RP2040 Zero installed on the top of the left hand board of the ErgoDonk Zero keyboard RP2040 Zero installed on the top of both sides of the ErgoDonk Zero keyboard

  • Top of the board: this is the side of the PCB opposite the diodes and switch sockets
  • Marked holes: Insert the Zero into the holes with the rectangular outline on the top of the board.

Install the Zero using the male-male headers that came with the Zero. (Or the low-profile headers, if your feeling fancy)!

  1. Insert the headers into the board and the Zero both before soldering. The header pin rows can tilt a little if it’s not inserted into both the board and the Zero. The header pins that come with the zero have one longer side. Install the longer side on the PCB because you’ll need to trim these, and the trimmed pins look better on the underside of the board. Use a piece of kapton tape to attach the Zero to the PCB while soldering. If you are using a Zero with pre-soldered headers, you’ll likely have to bend the headers a bit to get everything to line up perfectly. Once you get it in, the friction will keep it in place, and you can skip the tape.

  2. Flip the board over. Solder 1 of the outermost pins on each pin header on the PCB. Hold the board up to make sure the pin header is sitting flush with the pcb. If it’s not, you can reheat that joint until it is flush.
    first pin line up of the MCU
  3. Solder the remaining pcb/pin header joints on the back.
  4. Flip the board over. With the Zero, repeat the process of soldering & checking 1 pin with the pin header and the Zero.
  5. Solder all the remaining Zero/pin header pins.
    RP2040 Zero MCU all pins soldered

TRRS Jacks

Insert the jack into the outline on the front of the board. Some brands of jack will snap into the board, holding them in place. Others may need to be taped down. Then flip the board over and solder on the backside. Solder 1 pin first to check that everything is flush. Adjust as needed. Solder remaining pins.
TRRS jack from the front TRRS jack from the back


Solenoid

The Solenoid is installed on the left hand front of the board only. Right hand installation is not supported. Some of the build guide images show IN4004 diode label on the board. You can use either IN4001 or IN4004, they will both work.

  1. Put a piece of electrical tape on the backside of the tip120 and trim it to the outline. In some applications these get really hot so a heat sink could be attached. Our application will never need that heat sink, but we don’t want that exposed metal against our board. Alternately, You can slap a sticker on there if you’re feeling fancy.
    tip120 with untrimmed tape insulation tip120 with trimmed tape insulation tip120 with sticker insulation
  2. Use the tip120 bending jig to get a 90 degree bend just below the fat part of the pins.
    diode bending jig front diode bending jig back
  3. Insert the tip120 into the holes on the front of the board. Solder 1 pin, verify the tip120 is straight before soldering the remaining pins.
    tip120 render showing the 90 degree bend tip120 render showing the 90 degree bend
  4. Bend the legs of the 1k resistor using the bending jig on the left of the board.
    render demonstrating resistor bending jig
  5. Insert the 1k resistor into the holes on the front of the board. Orientation of the resistor does not matter. Solder in place.
    1k resistor placement indicated
  6. Bend the legs of the 1N4001 Shottky diode using the bending jig on the left of the board.
    render demonstrating resistor bending jig
  7. Insert the 1N4001 Shottky diode into the holes on the front of the board. Be sure to orient the diode with the strip towards the top of the board. Solder in place.
    Shottky diode placement indicated
  8. Flip the board and trim the pins sticking out for the components you just installed.
    trimming pins on the backside
  9. Using M2 screws, attach the solenoid to the top of the board. Run the wires through the big hole in the PCB. Tape the wires down with kapton tape. Solder onto the holes marked ‘solenoid’. Polarity does not matter, so either wire can go in either hole. Versions after 0.2.1 have an additional solenoid footprint connetion point closer to the solenoid itself. This is to accomodate shorter wires. Either connection point will work.
    Solenoid attached to the front of the left hand board by 2 M2 screws Solenoid wiring routed along the back of the board Solenoid connection point indicated

Rotary encoders

Saved these for last because they are tallest. Insert into the top of the board, and solder on the backside. Some EC11’s have metal tabs on opposite sides that add mechanical stability - no need to solder those tabs.
rotary encoder soldered to the PCB


Final assembly

Installing the stabilizers, keys and case.

  1. Install stabilizers. (Optional) The stabilizers are inserted into the front of the board, and screws are inserted on the back of the board. There are an abundance of holes around the pinky keys, so the stabilizer insertion holes have been marked with an arrow on the front of the board. Lay down the stabilizer stickers starting with the arrow side.
    stabilizer markings stabilizer installed on left hand shift key
    Notice the thumb clusters stabilizers are ‘back-to-back’:
    thumb stabilizers installed
  2. Snap switches into the corners of the key plate.
  3. Place the PCB on a flat surface. This will save some strain on the solder joints in the next step (though they should be able handle it).
  4. Carefully lower the top plate with switches on the main PCB and push into sockets. Ensure pins are aligned.
  5. Snap the remaining switches into the top plate pressing into the sockets.
  6. Place the encoder knob on the shaft. Tighten the set screw with a hex key. A small screwdriver for glasses may do in a pinch.
  7. @todo - update: Slide the four 8mm standoffs through the PCB and align to the holes on the key plate. Attach the standoffs to the keyplate using M2 screws.
  8. Attach the bottom plate to the four standoffs installed in the previous step.
  9. Use M2 screws to attach the three 12mm standoffs to the OLED cover plate.
  10. Slide the three standoff on the OLED plate through the PCB. Attach those standoffs to the backplate using M2 screws.
  11. Put at least 4 adhesive rubber feet in the corners so the keyboard is not moving when you type.

Warnings and disclaimers

  • Don’t connect or disconnect the TRRS cable when the keyboard is powered. It may short out. Always disconnect the USB cable first.
  • Be gentle with USB-C ports on your micro controllers. They are easy to break.
  • Keep in mind that this is a prototype of a DIY keyboard. It’s not a polished product.