Skip to the content
2 layers79.5 × 26 mmMorse kodeboard, the printed circuit board in 3D

I don't even know morse kode, but here is a keyboard for typing in morse kode

Size
79.5 × 26 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
5
Pads
36
Tracks, vias
26, 3
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Jul 2025
Updated
21 Jul 2025

Overview

Morse kodeboard is an open-source printed circuit board by will-hart, from the will-hart/morse-kodeboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 79.5 × 26 mm with 12 parts on 5 nets, routed with 26 tracks and 3 vias.

Its parts include 3 resistors, 3 switches and 1 connector. It belongs with the keyboards and input boards of this library.

README

README.md

Morse Kodeboard

I can type 1,250 words per minute on a keyboard with only the minor side effects of deafening people within 50 meters and wearing out the delete key inside a week. It occurs to me that If a TKL keyboard makes me 82.24563x more of an engineer, then how much more engineer would you become by removing 86 of the other keys?

Of course disruption requires innovation, and clearly you can't be a 1,000,000x engineer with just an "a" key. I considered using an LLM to interpret my intentions from the velocity and anger with which the key was pressed, but then after a period of quiet reflection I realised training an AI to do this would immediately make it sentient.

So to save all of humanity from an AI overlord, I instead applied my vast and terrifying engineering skills to come up with something the likes of which has never been seen before. This technological marvel is both simple and truly disruptive. I invented the idea of using a sequence of long and short pulses to represent the characters I want to type. I decided to call it a "Morse" coding sequence, named after Inspector Morse because I once lived somewhere where an episode was filmed.

This new type of keyboard is clearly more than a keyboard, as without it being a 1,000,000x engineer clearly isn't possible. So in honor of the great Inspector, I will call this marvel of modern science a

Morse Kodeboard.

TLDR

Somehow somebody thought of this idea and I though it would be fun. This is (rust) firmware for a RP Pico that uses a single button three buttons and morse code and pretends to be a USB HID keyboard. Technically it doesn't have a delete button so good luck if you morse code wrong, which is highly likely because I don't even know morse code.

License

  • Software: MIT or Apache 2.0
  • Hardware: CERN Open Hardware 2.0 - Permissive

Things I (re/)learned while doing this

  • USB Descriptors are always a pain, but I guess with embassy its kind of straightforward?
  • Most embassy examples don't use tasks for USB. Its because the code is messier as you need to make a lot of the descriptor buffers etc static. Using StaticCell was pretty handy here (there was one embassy example).
  • Wireshark + USBpcap are your friend! (although its still tricky working out which interface you're meant to look at in Windows).
    • Filter messages to a specific address using usb.addr[0:4] == "1.1."
  • Make sure to throttle loops, this was the cause of the keyboard not being recognised as the USB listening loop was running without any throttling.

Parts

12
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
3R_USResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3
3SW_DPSTPCM_Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW1, SW2, SW3
1Conn_01x03Connector_JST:JST_PH_S5B-PH-K_1x05_P2.00mm_HorizontalJ1
1Logo_Open_Hardware_SmallSymbol:OSHW-Logo2_7.3x6mm_CopperSYM1

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

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

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696

Questions

How big is the Morse kodeboard PCB?

It measures 79.5 × 26 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Morse kodeboard use?

12 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 Morse kodeboard KiCad files?

From the will-hart/morse-kodeboard repository on GitHub, at the commit this page was made from: the board is pcb/morse_kodeboard.kicad_pcb and its schematic pcb/morse_kodeboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Morse kodeboard 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).