Amateur radio, and the software I keep building around it — a CW trainer and an SWR reader that run in the browser, an extension that logs your practice, and firmware for the keys on the desk. All of it open.

CW Trainer

CWT

Key into your microphone and every dit, dah and gap is measured against a perfect sender at the same speed. See where your timing is solid, and hear where it is not.

web app · nothing leaves the browser

SWR Band Plan

NanoBands

Drop in a photo of your NanoVNA's SWR screen, or an .s1p file, and see which band segments your antenna is ready for. It traces the curve, finds the dips and the 3:1 crossings, and lays the US band plan over them for your license class.

web app · your photo stays in the browser

Practice Log

lcwo-tutor

A Chrome extension that captures your LCWO practice as you do it — every attempt at every clip, straight off the page. It keeps the history, tracks the characters you keep missing, and builds a report that says whether you are actually getting better.

chrome extension · stays on your machine

Keyer Firmware

k3ng_cw_keyer

My fork of K3NG's Arduino keyer, tuned for the rig on my bench: a CW decoder on the display, terminal-less echo practice with repeat, and the feature set trimmed to what this build actually has buttons for.

arduino · source on github

Paddle Adapter

cw-usb

A paddle is two switches; a computer wants a keyboard. This is the fifty-line bridge between them — a USB HID adapter that reports dit and dah as key presses, so browser keyers take a real paddle as input.

arduino · source on github