ESP32-based digital VFO, meter, and menu firmware for a Cobra 19XS-style radio.
- Flashable PlatformIO project
- ESP32 Arduino firmware in
src/main.cpp - Dual OLED support:
- 128x64 main frequency screen
- 128x32 Cobra-style meter screen
- Separate preview/status screen for quick-glance frequency and mode info
- Encoder menu, memory slots, meter modes, and voltage calibration
platformio.ini— build configurationsrc/main.cpp— firmware sourcemain code— legacy source snapshot from the original upload
- Open the folder in VS Code with PlatformIO installed.
- Select the
esp32devenvironment. - Build and upload.
Command line:
pio run
pio run -t upload27.000.000 MHz
AM RX
^ step underline moves with the selected tuning step
S/RF
S1 S3 S5 S7 S9 +10 +20 +30
pixel-dotted Cobra 148 GTL-style meter face
STATUS RX
FREQ 27.000 MHz
MODE AM STEP 1k
- Short press encoder: cycle tuning step
- Long press encoder: open menu
- Encoder rotation: tune or navigate menus
- Long press from main screen: toggle meter invert
- Meter mode, brightness, invert, and voltage calibration are in the Meter menu
- Si5351 CLK0 -> radio mixer/VFO injection point
- GPIO35 -> audio/S-meter tap
- GPIO34 / GPIO26 -> PTT detect/key
- GPIO36 -> voltage divider input
- Shared ground is required
- This firmware is written for an ESP32 Dev Module target.
- The voltage input must be scaled with a proper divider before connecting to GPIO36.
- Radio modifications should only be done by experienced users.