FM Repeater Controller
An ESP32-S3-based controller for FM repeaters, combining receiver detection, PTT control, transmission limits, CW identification and voice announcements.
Key features
SQL / software VOX
Controls transmitter PTT from a receiver squelch signal or detected audio. A squelch-stability delay helps reject short noise bursts.
HANG / courtesy tone
Hold the transmitter for 0–30 seconds after reception ends. Select no tone, one tone or two tones.
TOT protection
Limit continuous transmission to 1–30 minutes, with lockout and recovery behavior.
CW identification
Configure an identification message of up to 19 characters, triggered by access or scheduled using the clock.
Voice ID and time announcements
Uses DFPlayer audio files for announcements and time signals. Supply audio appropriate to your station.
DTMF decoding
Includes software decoding of DTMF tones from received audio.
Hardware design
The controller uses an ESP32-S3, a 2.4-inch ILI9341 touchscreen, a DS3231 real-time clock and a DFPlayer audio module. An analog mixer combines received audio, CW tones and voice announcements for the transmitter microphone input. Audio levels can be adjusted on the board.
Repeater activation can be detected using an external squelch signal or software VOX. Active levels for the SQL input and PTT output are configurable to suit the connected radios.
Configuration options
Touchscreen
Adjust key parameters such as TOT, HANG and CW ID on the controller. Repeating pauses during touchscreen editing.
Windows utility
Read and modify detailed settings over USB, then save them to the controller.
Web browser
Configure from a PC or smartphone over Wi-Fi. Supports both an existing Wi-Fi network and the controller's own access point.
Clock-based functions
A DS3231 RTC supports scheduled CW and voice identification.
Technical documentation and downloads
Schematics, KiCad PCB files, libraries, firmware, board photos and assembly notes are available in the development articles below.
PCB, schematics and firmwareOperating screens and configuration reference
The Ver0.3 PCB requires a jumper-wire correction; this was fixed in Ver0.4. See the technical article for details.
Available options and prices
| Option | Price |
|---|---|
| Bare PCB | USD 20 / PHP 1,200 |
| Partially assembled board (no LCD) | USD 70 / PHP 4,200 |
| Assembled board | USD 80 / PHP 4,800 |
| Complete unit | USD 126.67 / PHP 7,600 |
Prices depend on the supplied assembly option. Shipping is quoted separately. Radios, power supplies, antennas and any required station authorizations are separate.
Ask about pricing and shipping