

Barcode
3D printable lever steno machine
- Size
- 177 × 62.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 28
- Nets
- 38
- Pads
- 148
- Tracks, vias
- 299, 17
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 13 Sep 2025
- Updated
- 9 Mar 2026
Overview
Barcode is an open-source printed circuit board by noette, from the noette/barcode repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 177 × 62.5 mm with 28 parts on 38 nets, routed with 299 tracks and 17 vias.
It is built around the AH49ENTR-G1 and CD4051BE. It belongs with the RP2040 boards of this library.
Main components
2README
README.mdbarcode
Prototype 3D printable lever steno machine.
Part List
- 24x Hall effect sensor: AH49ENTR
- 3x 8:1 Muxes: CD4051BE
- 1x Microcontroller: Seeed Studio RP2040
- 76x Magnets: 5mm x 2mm
- 1x Axle: 5mm x 185mm
PCB
KiCad files for the PCB are in PCB.
AH49ENTR and CD4051BE footprints from DigiKey. RP2040 footprints from Seeed Studio.
3D Printed Parts
machine.3mf contains the assembly with all the parts to be 3D printed.
Firmware
Firmware was written in Arduino and is in firmware.ino.
On first boot, the machine enters calibration mode. Press each key fully down to calibrate the sensor, once all keys have been calibrated the machine will begin to send keypresses.
Assembly
Solder the components onto the PCB. It fits around the second row of pillars in the case.
The "keycaps" for the asterisk and pinky keys are printed separate and can be fit onto the corresponding levers.
Each lever has a magnet hole below the key which is used for sensing. The magnet in the hole on the side should attract to the corresponding magnet hole in the case.
The escapement has 10 magnet holes in the bottom which pair up to the 10 holes in the case, as well as 2 more holes on the side. I learned this was very overkill. I only left 2 pairs of the bottom magnets in. The magnets in the escapement should be repelling the ones in the case.
After all magnets are in, place the escapement and keys in the case and thread the axle through.
Current issues/limitations
- Magnets are stronger than I'd like, makes the escapement mechanism not all that effective. Could either switch to smaller magnets or come up with some system for adjustable strength?
- Key travel on top row is much less than the vowels (though is this just how it is on lever machines?)
- PCB needs to be better positioned and secured
- Axle is not actually attached in the machine at all
- Haven't implemented any actual steno protocols in the firmware. Since I couldn't get Arduino NKRO to work, it only sends the keys on stroke release.
Parts
28| Qty | Value | Footprint | References |
|---|---|---|---|
| 24 | AH49ENTR-G1 | AH49ENTR:SOT-23-3_DIO | U1, U2, U10, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U24, U25, U26 +8 |
| 3 | CD4051BE | CD4051BE:N16 | U11, U12, U23 |
| 1 | XIAO-RP2040-DIP | Seeed Studio XIAO Series Library:XIAO-RP2040-DIP | U28 |
Questions
How big is the Barcode PCB?
It measures 177 × 62.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Barcode use?
28 parts, built around the AH49ENTR-G1 and CD4051BE. 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 Barcode KiCad files?
From the noette/barcode repository on GitHub, at the commit this page was made from: the board is PCB/PCB.kicad_pcb and its schematic PCB/OPL_Kicad_Library-master/Grove Vision AI V2 Library/Grove - Vision AI Module V2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Barcode design in my own project?
Its repository publishes it under the GPL-3.0 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 layers65.6 × 91.8 mm

- 2 layers34 × 99.9 mm

- 2 layers200 × 100 mm

Polykit x voice card
polykit/polykit-x-voice-card
Schematics and PCB layout for a voice card with multimode filter for a polyphonic synthesizer
207 parts58 - 2 layers124.5 × 77.5 mm

- 2 layers285 × 222.5 mm

Polykit x mainboard
polykit/polykit-x-mainboard
Schematics and PCB layout for a mainboard for an 8 voice polyphonic synthesizer
220 parts22 - 2 layers66 × 114.3 mm

- 4 layers26.4 × 41.7 mm

- 2 layers144.1 × 181.4 mm

Quadulator
GlobalSequence/quadulator
Quadulator - A quad LFO/ADSR envelope generator for Eurorack synthesizers
128 parts6