Altoids Tin CW Keyer
Status: Planning · Started: July 2026
Overview
I need a CW keyer. I don't want to buy one, but let's put together a relatively straightforward build using preexisting firmware.
The build-log posts on the blog will capture the build as it happens; this page holds the current (and at some point final) state of the design: references, open questions, decisions, and eventually schematics, board layouts, and test results.
References
- K3NG Arduino CW Keyer — source and documentation for the firmware
- Arduino Pro Micro — pinout and specifications for the board this build is based on
- 16x2 Character LCD — pinout and wiring for the HD44780-compatible display
Open Questions
- None
Decisions
- Use an Arduino Pro Micro. I have one on hand, and it's got a micro USB not a mini USB.
- Use a 16x2 screen (vs no screen). Why not. I have one on hand.
- Use a rotary encoder with button for CW speed and control mode. Kinda like the QMX.
- Four memory buttons (6x6x8)
- Three LEDs (I can lay them out nicely).
- Use Arduino as the power source.
Arduino Pinouts:
| Arduino | Function | Notes |
|---|---|---|
| 8 (A8) | LCD RS (pin 4 ) | |
| 9 (A9) | LCD E (pin 6 ) | |
| 10 (A10) | Resistor divider for switch network | |
| 18 (A0) | LCD D4 (pin 11) | |
| 19 (A1) | LCD D5 (pin 12) | |
| 20 (A2) | LCD D6 (pin 13) | |
| 21 (A3) | LCD D7 (pin 14) | |
| 4 (A6) | Right paddle | |
| 5 | Left paddle | |
| 16 (MOSI) | Key out | Also drives a Key led |
| 14 (MISO) | (free) | |
| 15 (SCLK) | Speaker | |
| 6 (A7) | Rotary encoder pin 1 | |
| 7 | Rotary encoder pin 2 | |
| 2 (SDA) | Command mode LED | #define command_mode_active_led <pin> |
| 3 (SCL) | (free) |
Schematics
(Not yet — will appear as design work starts.)
Board Layouts
(Not yet.)
Build Notes
(Not yet — module-by-module notes will go here, with links to the relevant build-log posts.)
Test Notes
(Not yet — bench checks, timing measurements, and on-air results.)