Skip to the content
PCBKitNew board
2 layers118.9 × 112.3 mmAmber, the printed circuit board in 3D

Personalized split keyboard based on Zebra experimentation

Size
118.9 × 112.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
50
Nets
46
Pads
414
Tracks, vias
648, 73
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 Feb 2021
Updated
1 Aug 2021

Overview

Amber is an open-source printed circuit board by nezumee, from the nezumee/amber repository on GitHub, published under the MIT licence. It is a 2-layer board of 118.9 × 112.3 mm with 50 parts on 46 nets, routed with 648 tracks and 73 vias.

It is built around the SJ-43504-SMT-TR. Its parts include 18 diodes, 17 switches, 6 connectors, 1 capacitor and 1 resistor. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Amber

Personalized split keyboard based on Zebra experimentation.

Bill of material

Making a PCB sandwich keyboard starting with an ergogen definition

This design was created with help of the https://github.com/mrzealot/ergogen tool that makes it easier to generate keyboard plates and PCBs.

Rough steps used:

  1. Generate PCB and outlines using ergogen: ergogen.yaml
  2. Create a Kicad schematic with switches and diodes, matching the ids created by ergogen, make a PCB based on that
  3. Overwrite the Kicad PCB with the one coming from ergogen
  4. Update PCB from schematic, preserving references but updating the nets and footprints as needed
  5. Import the edges layer from ergogen outline, keep default position so outline matches the switch positions
  6. Continue designing the PCB in Kicad as normal

Fitting the ProMicro between the switch plate and PCB

Many keyboards using ProMicro (like Corne) either have the ProMicro exposed, or use a small plate to cover it separately from the switch plate. While the tech prototype look of showing the MCU is nice, sometimes you want something cleaner looking, and also less prone to gathering visible dust. With this in mind, I decided to make the front plate that serves both as a plate for the switches and also covers all the components on the PCB. This led to a few challenges:

  1. Fit the ProMicro and its socket (yes, I didn't want to solder it to the PCB directly) between the PCB and the front plate. This required a surprising amount of effort:
  • Use the thinnest sockets I could find - Peel-a-way sockets (https://keeb.io/products/peel-a-way-sockets-for-pro-micros). They seem to be difficult to source, luckily I got some beforehand. Note that these sockets require bigger holes than you would normally have. My first iteration of the PCB had too narrow holes so they could not fit. 1.1mm in the second version is enough:
  • Mount ProMicro upside down
  • Make a cutout in the PCB to fit the components on ProMicro
  • The cutout and the fact that ProMicro is stuck between switches and the end of the board made routing quite difficult. Leaving a bridge between the left and right pin columns helped, but common ways of making reversible PCBs couldn't work. There is no space for dual ProMicro footprint, and I cannot reverse the ProMicro either since it becomes too tall to fit. I didn't want to mount it below the PCB either since there's even less space there.
  • To make the PCB reversible, I ended up using different pinouts for the left and right halves. For example, the index finger column (CI) is connected to B2 on the left side, but is mirrored to B4 on the right. This solved most of the pins at the cost of complicating firmware. A few that could not be reassigned, like VCC. For those, I added jumpers that are cut and soldered depending on which side is being built. For left side, you connect J1-J3 and cut J4-J6 (default). For the right side, you do the opposite.
  1. Fit a TRRS jack between the plates. The jack commonly used is even thicker than ProMicro with a socket. Luckily, it turned out there are special mid-mount jacks that mount into a cutout in the PCB: CUI Devices SJ-4350 series available on DigiKey, or PJ342C available on AliExpress (I got both; despite the differences in diagrams on seller sites, the ones I got look identical).

  2. Fit a reset button between the plates. This was straightforward, there's a number of thin tactile buttons available. I picked a small switch with button on the side. It turned out to be difficult to press, but I feel it's not a big deal since I don't use it often. Reset command can be added somewhere in the layout if needed.

With this, everything fits between the plates comfortably:

Of course, I waste all this effort by almost always using the keyboard with tented legs, attached using magnets: Things/Tented-base.stl.

Parts

50
QtyValueFootprintReferences
161N4148amber:Diode_THT7.6_SOD123D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D16, D17
16SW_Pushamber:CherryMX_MidHeight_HotswapS1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S16, S17
5kbd:M2_HOLE_v2P1, P2, P3, P4, P5
3Jumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mmJP1, JP2, JP3
3Jumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP4, JP5, JP6
1LED_BRCGamber:LED_D5.0mm-4_RGB_Wide_Pins-dualD15
1ProMicro_ramber:ProMicroC1
1RResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1
1Rotary_Encoder_Switchamber:Switch_MX2side_EncoderS15
1SJ-43504-SMT-TRamber:CUI_SJ-43504-SMT-TR-dualJ1
1SW_DIP_x01amber:SW_SPST_EVQP7CB1
1YS-SK6812MINI-Eamber:LED_WS2812B-PLCC4-dualLED1

Questions

How big is the Amber PCB?

It measures 118.9 × 112.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Amber use?

50 parts, built around the SJ-43504-SMT-TR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Amber KiCad files?

From the nezumee/amber repository on GitHub, at the commit this page was made from: the board is amber.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Amber design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers62.1 × 83.8 mmSs main board, the printed circuit board in 3D

    Ss main board

    loopj/short-stack

    World's Smallest Nintendo Wii, using a trimmed motherboard and custom stacked PCBs

    69 parts804
  • 2 layers187.2 × 26.6 mmBlade12, the printed circuit board in 3D

    Blade12

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    50 parts3.7k
  • 2 layers45.7 × 25.9 mmAccessory, the printed circuit board in 3D

    Accessory

    usbarmory/usbarmory

    USB armory - The open source compact secure computer

    50 parts1.5k
  • 2 layers21 × 31.5 mmK1-aioc, the printed circuit board in 3D

    K1-aioc

    skuep/AIOC

    Ham Radio All-in-one-Cable

    50 parts1.4kMIT
  • 2 layers42 × 32.5 mmLipoboard, the printed circuit board in 3D

    Lipoboard

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    50 parts915
  • 2 layers101 × 31.5 mmManagement, the printed circuit board in 3D

    Management

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    50 parts397Apache-2.0
  • 2 layers123.9 × 94.4 mmRoba R, the printed circuit board in 3D

    Roba R

    kumamuk-git/roBa

    50 parts363GPL-3.0