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
- Use the Arduino Leonardo Micro I have on hand (and live without the CW practice mode) or find a different Arduino with more flash memory?
- Add a SPST for sidetone switch? Might be nice.
- Where should I put the key jack? I should think about the ergonomics of using the whole thing as a handheld with the N6ARA TinyPaddle. I planned it to be on the bottom-front, but I think it should be on bottom-right (I'm right-handed) and the cables should attach bottom-left, or perhaps off the back.
- Can I cram all this into the Altoids tin?
Decisions
- Use a 16x2 screen (vs no screen). Why not. I have one.
- Use a rotary encoder with button for CW speed and control mode. Kinda like the QMX.
- Three memory buttons (6x6x8)
- Two LEDs (command mode and key output down).
- 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.)