
Switch
byrantech/laptop
anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

A snap-on shield for the Waveshare ESP32-S3-LCD-1.47B with the same footprint as the board itself (36.37 × 20.32 mm): one 3.5mm jack that serves both an iambic paddle (TRS plug) and a straight key (TS mono plug — the…
Morsekey shield is an open-source printed circuit board by mnantel, from the mnantel/wavemorse repository on GitHub. It is a 2-layer board of 36.4 × 20.3 mm with 6 parts on 5 nets, routed with 14 tracks and 0 vias.
A snap-on shield for the Waveshare ESP32-S3-LCD-1.47B with the same footprint as the board itself (36.37 × 20.32 mm): one 3.5mm jack that serves both an iambic paddle (TRS plug) and a straight key (TS mono plug — the firmware auto-detects it), an optional piezo sidetone, and female headers the ESP32 board (male pins soldered pointing down) plugs into.
The jack opens at the antenna end, its bushing protruding past the edge the
same way the USB-C does at the other end. Renders: render-top.png /
render-bottom.png.
Upload morsekey-shield-gerbers.zip to the fab's quote page. All defaults
are fine: 2 layers, 1.6 mm FR-4, HASL, any color, smallest quantity
(usually 5). Cost is a few dollars plus shipping.
Before ordering — the paper test: print placement-1to1.pdf at 100%
scale (no "fit to page"), hold the ESP32 board's header holes over the
drawing, and confirm every hole lines up. This catches any dimension error
while it's still free.
| Qty | Part | DigiKey P/N | Note |
|---|---|---|---|
| 1 | Same Sky SJ1-3523N 3.5 mm TRS jack | CP1-3523N-ND | through-hole, right angle |
| 1 | Same Sky CPT-1207-5LTH-T piezo transducer | 2223-CPT-1207-5LTH-T-ND | optional — sidetone; ø12.5 mm, 5.0 mm pin pitch, 85 dB |
| 2 | 1×9 female header socket, 2.54 mm | e.g. S7007-ND (Sullins PPTC091LFBN-RC) | standard 8.5 mm height |
| 2 | 1×9 male pin header, 2.54 mm | e.g. S1012EC-09-ND (breakaway) | solder to the ESP32 board, pins down |
| 2 | M2 screw + standoff | — | optional — case mounting, USB end corners |
Piezo alternates (same footprint): TDK PS1240P02BT (DigiKey 445-2525-1-ND, often backordered) or Same Sky CPT-1206-3TH-T (2223-CPT-1206-3TH-T-ND). Any ~12 mm two-pin piezo transducer (externally driven — not an "indicator") with ~5 mm pin spacing fits: the piezo pads are plated slots, so pin spacing anywhere from about 4 to 6 mm drops in (datasheet pitch is 5.0 ±0.5 mm, and the original round holes at exactly 5.0 mm were too tight for real parts).
| Net | Header pin | Goes to |
|---|---|---|
| DIT | GPIO2 | jack tip |
| DAH | GPIO3 | jack ring |
| PIEZO | GPIO5 | piezo + |
| GND | both G pins | jack sleeve, piezo −, ground pour |
Paddle vs straight key: a TRS (stereo) plug = paddle on tip/ring. A TS
(mono) straight-key plug grounds the ring permanently; the firmware detects
this (at power-up, or after 8 s of continuous "dah") and turns the tip into
a straight-key input — the status bar shows SKEY. Unplug it and paddle
mode returns automatically.
generate_shield.py builds the .kicad_pcb from scratch (see its header for
the KiCad python invocation), then:
kicad-cli pcb drc --refill-zones --save-board --severity-error --exit-code-violations -o drc.rpt morsekey-shield.kicad_pcb
kicad-cli pcb export gerbers --check-zones -l "F.Cu,B.Cu,F.Paste,B.Paste,F.Silkscreen,B.Silkscreen,F.Mask,B.Mask,Edge.Cuts" -o gerbers/ morsekey-shield.kicad_pcb
kicad-cli pcb export drill --format excellon --excellon-separate-th -o gerbers/ morsekey-shield.kicad_pcb| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | MountingHole_2.2mm_M2 | MountingHole_2.2mm_M2 | H1, H2 |
| 2 | PinSocket_1x09_P2.54mm_Vertical | PinSocket_1x09_P2.54mm_Vertical | J1, J2 |
| 1 | Buzzer_TDK_PS1240P02BT_D12.2mm_H6.5mm | Buzzer_TDK_PS1240P02BT_D12.2mm_H6.5mm | BZ1 |
| 1 | Jack_3.5mm_CUI_SJ1-3523N_Horizontal | Jack_3.5mm_CUI_SJ1-3523N_Horizontal | JP |
It measures 36.4 × 20.3 mm and has 2 copper layers, 1.6 mm thick.
6 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.
From the mnantel/wavemorse repository on GitHub, at the commit this page was made from: the board is shield/morsekey-shield.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask mnantel before reusing the design.

byrantech/laptop
anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.


Jcparkyn/dpoint
Open-source digital stylus using camera tracking and inertial measurements

VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

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

Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
