Developed for exciter retrofits
Originally developed for replacing the proprietary controller of a DRFS06 exciter, while remaining useful for other TSA5511-based designs.
Arduino PLL control project
A PLL controller for TSA5511-based FM exciter and VCO projects. It combines an Arduino Nano, a 16x2 LCD, three pushbuttons, System Settings, Quick Menu, carefully managed EEPROM storage and automatic PLL communication recovery into a compact front-panel frequency controller.
Originally developed for replacing the proprietary controller of a DRFS06 exciter, while remaining useful for other TSA5511-based designs.
The LCD interface separates persistent System Settings from the direct Quick Menu, so configuration and everyday operation remain clear.
Persistent system settings, per-band operating states and user memories are restored after restart, while temporary actions stay out of EEPROM.
Explore a functional simulation of the controller without physical hardware. Operate the virtual 16x2 LCD and buttons, navigate System Settings and the Quick Menu, inspect the virtual TSA5511 status and output ports, and trigger simulated I²C communication loss or a TSA5511 power cycle to observe the recovery behaviour.
The simulation does not communicate with a physical Arduino or TSA5511. Any saved demo settings remain local to the browser.
This project provides a compact Arduino-based front-panel controller for TSA5511 PLL designs. It brings both persistent configuration and everyday operating functions to a 16x2 LCD interface, so frequency control, memory handling and RF-drive control can be handled directly from the hardware.
The controller is intended for VCO frequency control from 64 MHz up to 1,300 MHz, within the specification range of the TSA5511. It supports configurable VCO bands, selectable PLL crystal frequency, I²C address handling, periodic TSA5511 status monitoring, state-aware recovery from communication loss or unexpected PLL resets, lock indication, user memories, station-name editing, temporary RF-drive control, optional menu-title display and LCD backlight control.
The hardware consists of an Arduino Nano or compatible board, a standard 16x2 LCD, three pushbuttons with 470 nF debounce capacitors, the TSA5511 PLL circuit and an optional PLL lock LED. The lock LED can also act as a blinking fault indicator, while the LCD displays the lock status directly.
Pull-up resistors on SDA and SCL are required. If the I²C bus passes through RF-decoupling circuitry, lower pull-up values such as 1 kΩ or 2 kΩ may improve communication reliability. When using TSA5511 package variants with fewer available output ports, make sure that port mapping only selects physically available ports.
In normal use, the VCO frequency is adjusted with UP and DOWN and confirmed with a short SET press. Holding SET cancels the pending frequency change and returns to the main screen unchanged. Holding UP or DOWN starts an accelerated sweep through the selected frequency band. If no confirmation is given, the frequency edit will time out unchanged. The System Settings menu discards unsaved changes on timeout, while Quick Menu actions are applied immediately. PLL lock is verified after programming. To prevent false unlock indications caused by FM modulation, lock-flag polling stops after lock has been detected, while periodic TSA5511 status monitoring remains active, including during menu operation and frequency editing. I²C communication loss is indicated and retried automatically. Any active menu is closed with unsaved changes discarded and any unconfirmed frequency edit is cancelled. After communication is restored, existing PLL programming is retained after a read-only interruption without POR; acquisition control and lock verification are resumed if required. Full reprogramming is performed only after an uncertain write or an unexpected TSA5511 reset indicated by POR.
This landing page provides a concise project overview and direct access to the interactive browser demo. The GitHub repository remains the authoritative source for the full Arduino sketch, detailed documentation, pin mappings and version history.
The complete Arduino sketch and project documentation are available in the public GitHub repository. Use the repository for the latest source code, detailed comments, pin mappings and version history.