Skip to the content
PCBKitNew board
4 layers153.6 × 106.8 mmHandlebar, the printed circuit board in 3D

Elite-C https://deskthority.net/wiki/Elite-C footprint from ceoloide: https://github.com/ceoloide/ergogen-footprints

Size
153.6 × 106.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
61
Nets
78
Pads
515
Tracks, vias
558, 1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
23 Mar 2024
Updated
17 Aug 2026

Overview

Handlebar is an open-source printed circuit board by philtherobot, from the philtherobot/handlebar repository on GitHub. It is a 4-layer board of 153.6 × 106.8 mm with 61 parts on 78 nets, routed with 558 tracks and 1 via.

Its parts include 25 diodes and 25 switches.

README

README.md

Ergogen

Online design tool at https://ergogen.cache.works/.

Elite-C https://deskthority.net/wiki/Elite-C footprint from ceoloide: https://github.com/ceoloide/ergogen-footprints

Running ergogen:

text
cd handlebar
ergogen . -o output

Pass a folder instead of an input file name because handlebar has custom footprints and that's how this works.

Parts

  • Choc v1 switches (Keebd)
  • DMK keycaps, 1U (Keebd)
  • Elite-C v4, 2 parts (Omega Keys)
  • TRRS PJ-320A jack, 2 parts (Clickety Split)
  • TRRS cable (Clickety Split)
  • Diodes 1N4148W, SOD-123, 50 parts (Digikey 4530-1N4148WCT-ND)
  • Push buttons FSMCTTR, 2 parts (Digikey 450-2133-1-ND)
  • RGB LEDs FZ2812-5050, QMK compatible (WS2812B) (Digikey, 4544-FZ2812-5050CT-ND)
  • MCU socket 801-43-064-10-002000 (Digikey, ED10864-64-ND)
  • PCBs, 2 parts
  • USB-C/USB cable

The Atmega32u4 on the Elite-C has 32KB flash, 2.5KB SRAM, 16MHz CPU.

Base

Mild steel plate, 1/16", 5/64" or 3/32" thick. 1.5mm to 2.5mm thick. 200x150mm or 8"x6", two times.

We plan to either solder the standoff or screw them.

  • 8mm long, M2 standoff, 6 times
  • dome head M2 screws, 6mm of thread, 6 times
  • dome head M2 screws, 4mm of thread, 8 times
  • flat head M2 screws, 6mm full length, 6 times
  • flat head M2 screws, 10mm full length, 8 times
  • M2 nuts, 8 times

Cost

Elite-C at Omega Keys, 24$ each. Keycaps and switches, 114$ PCB, JLCPcb, TRRS cable Digi-key

Not used, extra

Switches, 13$ TRRS cable, Keebd, 7$ (not used)

KiCAD

Tutorial: https://flatfootfox.com/ergogen-part5-kicad-firmware-assembly/

We are better to use constraints from makers. JLCPCB seems to have less capability than others. I found a Kicad board with JLC's capability set. See JLCPCB_1-2Layer template.

DO NOT edit the elite-c footprint as this will introduce a lot of errors! The errors are introduced because the nets that were setup by Ergogen are lost during the footprint edition.

Steps after ergogen has been executed:

  • Import board settings from JLCPCB_1-2Layer template:
    • File/Board Setup/Import from another board.
    • Turn User.Drawings back on.
    • Change track width to 0.25mm in Net Classes
  • add the resistors footprints, R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
    • under the TRRS
    • do not show the reference
  • change footprint of indicators to Personal:WS2812B
  • (useful: Route/Interactive Router Setting, try Highlight + Free angle or Walk around)
  • complete the net connections for the resistors on front of board (VCC on the right, SDA at the top, SCL at the bottom)
  • add a via below the indicators for VCC
  • wire keys pin 1 (2 of them) to diode 2 on the back
  • wire diode pads to holes on the front and back
  • wire columns on the back
  • route columns around the top and through the middle of the MCU, starting with n_inner
  • wire rows on the front: they enter the MCU from the left
  • wire reset, place it on the right
  • wire VCC on the left of reset and go from the second resistor to the via on the back
  • wire ground, going between n_vcc and n_scl on the TRRS connector, up on the left of VCC
  • wire ground to all ground pins on the MCU
  • wire SDA from TRRS to the MCU on the back
  • indicator grounds
  • indicator "next" and to the MCU

Optional:

  • give a little bit of space around pads and traces
  • add the name and version on the silkscreens

Fabrication

Prepare Gerber files:

  • File/Fabrication/Gerbers
  • Check the layers
    • *.Cu, *.Paste, *.Mask, *.Silkscreen, Edge.Cuts
  • Set a clean, new, empty directory
  • Plot
  • Generate drill files
  • Zip the output files, flat, no directory

Upload to JLCPCB (https://jlcpcb.com/)

PCB material is FR-4. Use the defaults (1.6mm). Remove JLC's serial numper. Pick your color.

Notes

Elite-C information:

https://flatfootfox.com/ergogen-part3-pcbs/

This has example of adding a PCB via: https://github.com/ergogen/ergogen/blob/675d2709dc4c2515ec34ecf4e5148127495283f3/config.yaml

PCM12 is a sliding switch. (no need it seems)

b3u1000p is a small reset push button. https://www.allaboutcircuits.com/electronic-components/datasheet/B3U-1000P-B--Omron/

This looks close to what I am trying to do: https://github.com/davidphilipbarr/Sweep/tree/main/Sweep%20half-swept

Redox schematic https://github.com/mattdibi/redox-keyboard/blob/master/redox/pcb/Redox-schematic.pdf

Hardware Checklist

  • MCU position on the PCB matches the one in the preview.
  • Through holes are the correct size for my components.
  • Fit between the diode and the switch.
  • Pull up 4.7KΩ resistors, SDA to VCC, SCL to VCC
  • Must I²C be connected to those two specific pins? D0 and D1? Yes, let's do that.
  • Should I ground all unused pins? No. And there is no need to cover the unused space with ground copper.
  • Are the back diodes pads connected to the traces on front? No and I added them.
  • Decide on PCB thickness: 1.6mm
  • What is the voltage needed by the RGB LEDs? 3V, so VCC is good. Crossed fingers.

Key Layout

Diagrams are made with Keyboard Layout Editor.

I have linked the Keyboard Layout Editor account with my Github account. In any case, I saved the diagrams to key_layout.

Parts

61
QtyValueFootprintReferences
25PG1350S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +9
25ComboDiodeD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +9
4MountingHole_2.2mm_M2_Pad_Via_2, _3, _4, _5
2Library:WS2812BI1, I2
1elite-c
1Library:SW_TACT_ALPS_SKQGABE010rst1
1TRRS-PJ-320A-dualTRRS-PJ-320A-dualTRRS1

The 59 most common of 61 parts.

Questions

How big is the Handlebar PCB?

It measures 153.6 × 106.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Handlebar use?

61 parts. 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 Handlebar KiCad files?

From the philtherobot/handlebar repository on GitHub, at the commit this page was made from: the board is output/pcbs/handlebar.kicad_pcb and its schematic output/pcbs/handlebar.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Handlebar design in my own project?

Its repository states no licence, so its author keeps all rights: ask philtherobot before reusing the design.

Similar boards

  • 4 layers40.6 × 17.8 mmPD Micro, the printed circuit board in 3D

    PD Micro

    ryan-ma/PD_Micro

    USB-C PD3.0 PPS on ATMega32U4 Arduino board

    61 parts439MIT
  • 4 layers51.4 × 61 mmGB LIVE32, the printed circuit board in 3D

    GB LIVE32

    Gekkio/gb-hardware

    Game Boy -related custom hardware by gekkio

    61 parts379CC-BY-4.0
  • 4 layers108.3 × 63 mmEthernet coupled probe, the printed circuit board in 3D

    Ethernet coupled probe

    azonenberg/starshipraider

    Open hardware test equipment

    61 parts193BSD-3-Clause
  • 4 layers39.7 × 20.8 mmWrangler v0, the printed circuit board in 3D

    Wrangler v0

    osresearch/pixel-wrangler

    HDMI to whatever adapter

    61 parts120
  • 4 layers18.4 × 33.3 mmHelios, the printed circuit board in 3D

    Helios

    0xCB-dev/0xCB-Helios

    rp2040 pro micro drop in

    61 parts119
  • 4 layers30.5 × 68.6 mm32bit-5v, the printed circuit board in 3D

    32bit-5v

    bread-modular/bread-modular

    Modular Synths for Everyone

    61 parts67MIT
  • 4 layers17.8 × 50.8 mmReDIP CIA, the printed circuit board in 3D

    ReDIP CIA

    daglem/reDIP-CIA

    MOS 6520 PIA / MOS 6522 VIA / MOS 6526/8520/8521 CIA replacement

    61 parts66CERN-OHL-S-2.0
  • 4 layers54.6 × 67.9 mmGradientDriver, the printed circuit board in 3D

    GradientDriver

    xecus/opensource-mri-project

    61 parts48