Skip to the content
PCBKitNew board
2 layers23 × 40.5 mmKeylink revB, the printed circuit board in 3D

It is designed and maintained by the MorseForge developer as a companion device for upcoming external‑key features in the MorseForge app.

Size
23 × 40.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
17
Pads
37
Tracks, vias
59, 8
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
10 Jan 2026
Updated
16 Mar 2026

Overview

Keylink revB is an open-source printed circuit board by n2b8, from the n2b8/morseforge_keylink repository on GitHub. It is a 2-layer board of 23 × 40.5 mm with 7 parts on 17 nets, routed with 59 tracks and 8 vias.

Its parts include 2 resistors, 2 connectors, 1 capacitor, 1 IC and 1 switch. It belongs with the ESP32 and RISC-V boards of this library.

README

README.md

MorseForge Keylink

Keylink is an open‑source hardware adapter that makes traditional Morse keys Bluetooth‑capable.

It is designed and maintained by the MorseForge developer as a companion device for upcoming external‑key features in the MorseForge app.

🌐 MorseForge: https://morseforge.com


What is Keylink?

Keylink bridges classic Morse key hardware with modern Bluetooth‑enabled devices. It allows straight keys, paddles, and other traditional Morse inputs to transmit key events wirelessly using Bluetooth Low Energy (BLE).

Keylink is intended to:

  • Enable wireless Morse key input
  • Integrate directly with future MorseForge app features
  • Remain compact, battery‑powered, and easy to assemble
  • Be fully open source and community‑friendly

Unlike generic microcontroller dev boards, Keylink is a purpose‑built Morse interface.


Hardware Overview — Rev B

The current hardware revision (Rev B) includes:

  • ESP32‑C3 microcontroller (Seeed XIAO form factor)
  • 3.5 mm stereo jack (SJ1‑3523N) for Morse key input
  • Slide power switch for battery isolation
  • JST‑PH 2.0 mm battery connector
  • LiPo battery support
  • Passive input conditioning network

This revision has been fabricated via OSH Park and is undergoing validation.


PCB Renders (Rev B)

Top View

Keylink Rev B Top

Bottom View

Keylink Rev B Bottom

Renders generated from KiCad’s 3D viewer. These are not production photographs.


Repository Structure

text
hardware/
├── keylink_revB/     # KiCad schematic + PCB layout
├── gerber/           # Manufacturing Gerbers
mobile_app/           # React Native example app
software/             # Firmware (Arduino + legacy)

Additional firmware and software directories will be added as development progresses.


Firmware & App Integration

Keylink firmware now uses the Arduino framework and exposes the device as a BLE HID keyboard for Vail Adapter compatibility. The sketch lives at: software/keylink_ble_keyboard/keylink_ble_keyboard.ino.

Key events:

  • DIT (left paddle) sends Ctrl + [
  • DAH (right paddle) sends Ctrl + ]

Flashing (Arduino)

  1. Install Arduino IDE and the ESP32 board package.
  2. Install the "ESP32 BLE Keyboard" library (T-vK).
  3. Open software/keylink_ble_keyboard in Arduino IDE.
  4. Select board "Seeed XIAO ESP32C3" and flash.
  5. Pair the device as "Keylink" in your OS Bluetooth settings.

The prior CircuitPython UART firmware remains at software/code.py for reference but is not Vail-compatible.


Open Source

This project is released as open‑source hardware and software.

Licensing details will be finalized and documented explicitly, but the intent is:

  • Permissive open hardware
  • Permissive firmware licensing
  • Community contributions welcome

Disclaimer

This is experimental hardware.

No warranties are provided.
Use at your own risk.


Author

Keylink is designed and maintained by the MorseForge developer as part of the broader MorseForge ecosystem.

🌐 https://morseforge.com

Parts

7
QtyValueFootprintReferences
210kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
1100nFCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC1
1AudioJack3Connector_Audio:Jack_3.5mm_CUI_SJ1-3523N_HorizontalJ2
1Conn_01x02_SocketConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ1
1SW_SPSTButton_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1QSW1
1XIAO ESP32C3XIAO_ESP32C3:xiao_esp32c3U1

Questions

How big is the Keylink revB PCB?

It measures 23 × 40.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keylink revB use?

7 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 Keylink revB KiCad files?

From the n2b8/morseforge_keylink repository on GitHub, at the commit this page was made from: the board is hardware/keylink_revB/keylink_revB.kicad_pcb and its schematic hardware/keylink_revB/keylink_revB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keylink revB design in my own project?

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

Similar boards

  • 2 layersEncoder, the printed circuit board in 3D

    Encoder

    byrantech/laptop

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

    7 parts4.3kMIT
  • 2 layers40 × 20 mmSensor smd, the printed circuit board in 3D

    Sensor smd

    scottbez1/splitflap

    DIY split-flap display

    7 parts4.2k
  • 2 layers19.8 × 30 mmZ limit, the printed circuit board in 3D

    Z limit

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    7 parts3.7k
  • 2 layers35.6 × 58.2 mmDisplay Carrier, the printed circuit board in 3D

    Display Carrier

    AxxAxx/AxxSolder

    STM32 Based soldering station for JBC cartridges, 9-24 VDC and USB-PD power

    7 parts1.7kGPL-3.0
  • 2 layers20.3 × 16.3 mmMap MPX, the printed circuit board in 3D

    Map MPX

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    7 parts1.2k
  • 2 layers26 × 44 mmCompact carrier board, the printed circuit board in 3D

    Compact carrier board

    jamro/tiny-engineer

    A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.

    7 parts1.1k
  • 2 layers26.4 × 53.8 mmAtari pickup, the printed circuit board in 3D

    Atari pickup

    hoglet67/RGBtoHDMI

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

    7 parts1kGPL-3.0
  • 2 layersRj45 breakout, the printed circuit board in 3D

    Rj45 breakout

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    7 parts990GPL-3.0