AVR · CI-V / IF;

Band Decoder

Automatic Band Decoder for Kenwood & ICOM Transceivers

Introduction

This project is a fully automatic band decoder that reads frequency data directly from Kenwood and ICOM transceivers and drives antenna switches and amplifiers — no extra band-data cable, no manual switching, no guessing.

The decoder taps directly into the radio's remote-control bus and extracts the operating frequency in real-time. It then converts this into clean band signals that can control your entire antenna farm.

Key Features:

  • Dual firmware variants — one for Kenwood (ASCII IF; protocol), one for ICOM (binary CI-V with auto address detection)
  • Synchronized firmware versions — both variants behave identically regardless of which transceiver drives them
  • Relay feedback monitoring — knows not just what band it should be on, but whether the switching hardware actually got there
  • Fault detection — flags stuck relays or unresponsive drivers
  • Majority-filtered band thresholds — prevents antenna switch chatter during quick VFO sweeps
  • Built-in menu system — all settings adjustable on-device, no reprogramming required
Band Decoder assembled board

Supplies

Microcontroller & Core Components

  • ATmega328P (AVR microcontroller)
  • SN74LVC07A buffer/driver for radio interface isolation
  • Pull-up resistors (values tuned during testing for clean 19200 baud communication)
  • Relay driver IC (ULN2803 or equivalent)
  • Relay feedback inputs (opto-isolated or direct sensing)

Connectors & Wiring

  • Kenwood variant: RS-232 COM port cable (straight-through, DB9) — Pin 2 → Pin 2, Pin 3 → Pin 3. ⚠️ A null-modem (crossed) cable will not work.
  • ICOM variant: CI-V bus connection (typically 3.5 mm stereo jack or RCA) — CI-V data line and ground.
  • Antenna switch interface: relay coil connections (typically +13.8 V switched to GND) and optional feedback sense lines.

Optional Components

  • TFT display (1.8″ 128×160 RGB, ST7735 driver) for menu system and status display
  • Rotary encoder or buttons for menu navigation
  • 3D-printed enclosure custom-designed for PCB mounting

Tools Required

  • Soldering station
  • USB-to-TTL serial programmer (for ATmega328P)
  • Multimeter
  • Oscilloscope (recommended for debugging CI-V / IF; signals)
Components layout

How It Works

Overview

A band decoder sits between the radio and the rest of the station — antenna switches, amplifiers, anything that needs to know which band you're on. Instead of running a separate band-data cable from an external source, this decoder taps directly into the radio's own remote-control bus and extracts the operating frequency from there.

Two Firmware Variants

There are two firmware variants, one for each radio family, kept on synchronized version numbers so a given release behaves identically regardless of which transceiver is driving it:

Kenwood Variant
Parses the ASCII IF; command set used by Kenwood transceivers. Periodically sends IF; query to radio. Radio responds with current frequency and status (TX/RX state, mode, etc.). Firmware extracts frequency and determines active band.

ICOM Variant
Decodes ICOM's binary CI-V protocol. Automatic detection of the radio's CI-V address — no manual configuration needed. Listens for CI-V traffic on the bus. Extracts frequency data from CI-V frames.

Hardware Architecture

The hardware consists of three main functional blocks:

  1. Microcontroller (ATmega328P) — Handles communication with radio, implements band detection logic, controls relay outputs, monitors feedback lines, runs finite-state machine for fault detection
  2. SN74LVC07A Buffer/Isolator — Isolates decoder from radio's CI-V/IF; line, provides clean signal translation, pull-up resistor values tuned during testing for reliable 19200 baud communication
  3. Relay Driver + Feedback Monitoring — Drives antenna switch relay coils, monitors relay feedback lines, finite-state machine watches driver outputs and relay feedback, knows whether switching hardware actually reached target band, can flag faults if relay sticks or driver doesn't respond

Noise Immunity

Band thresholds are majority-filtered before being acted on, so a brief, noisy frequency reading during a quick VFO sweep doesn't cause the antenna switch to chatter between bands. The firmware requires multiple consecutive readings of the same band before switching.

Circuit schematic

🔍 Kliknite pre zobrazenie schémy v plnej veľkosti

Programming the Microcontroller

Required Equipment

You will need a USB-to-TTL serial programmer or ISP programmer.

For serial programming (via bootloader):

  • USB-to-TTL adapter (FT232RL, CH340, or similar)
  • Pinout must match your PCB's programming header
  • Typical pinout: DTR – RX – TX – VCC – CTS – GND

For ISP programming (no bootloader):

  • USBasp, AVRISP mkII, or Arduino as ISP
  • 6-pin ISP header connection

⚠️ Important: Always verify pin order before connecting. Wrong connection may prevent programming or damage the board. Check voltage levels (5V vs 3.3V) before connecting.

Firmware Versions

Current release: V8K7.2

Firmware history:

  • V8K7.2 — Fixed band-frequency threshold issue affecting 12m / 6m boundary on Kenwood variant
  • V8K6 — Kenwood variant rebuilt from ICOM V8K6.2 base; kept Kenwood logo, icon set, baud rate options; added AS (antenna switch) feedback menu entry

Flashing the Firmware

If using Arduino IDE:

  1. Install AVR board support package
  2. Select "Arduino Pro or Pro Mini"
  3. Choose ATmega328P (5V, 16 MHz)
  4. Select correct COM port
  5. Upload firmware

If using avrdude directly:

avrdude -c arduino -p m328p -P /dev/ttyUSB0 -b 57600 -U flash:w:banddecoder_v8k7.2.hex:i

Lock bits: The firmware is provided as a programmed, lock-bit protected unit. Lock bits prevent unauthorized reading of the firmware.

Programming the microcontroller

Hardware Assembly

Assembly Order

  1. Power supply section — Voltage regulator (if using 13.8V input), decoupling capacitors, power LED. Test: verify 5V output before proceeding.
  2. Microcontroller section — ATmega328P socket (recommended) or direct solder, crystal oscillator and load capacitors, reset circuit, ISP header. Test: verify bootloader responds to programmer.
  3. Radio interface — SN74LVC07A buffer, pull-up resistors (tune values during testing), RS-232 level translator (for Kenwood), CI-V connector (for ICOM). Test: verify clean signals with oscilloscope.
  4. Relay driver section — ULN2803 or equivalent, output connectors, flyback diodes (if not internal to driver IC). Test: verify each output switches correctly.
  5. Feedback sensing (optional) — Opto-isolators or voltage dividers. Test: verify feedback reads correctly in firmware menu.
  6. Display and controls (optional) — TFT display, rotary encoder or buttons. Test: verify menu system responds.

Testing Procedure

  1. Power-on test — Apply 13.8V power, check current draw (should be <100mA without relays), verify 5V rail present, check display boots (if installed).
  2. Radio communication test — Connect to radio, verify decoder receives frequency data, check display shows correct frequency, test both Kenwood and ICOM variants.
  3. Output test — Step through all bands using radio VFO, verify each output activates at correct frequency, check for chatter during quick tuning, verify majority filtering works.
  4. Feedback test (if installed) — Manually activate relay, verify feedback is detected, test fault detection by disconnecting relay.
Assembly process

Configuration & Menu System

Menu Structure

The built-in menu system allows all settings to be adjusted directly on the device — no reprogramming required.

Main menu items:

  1. Band thresholds — adjust frequency boundaries for each band
  2. Output assignment — map bands to physical outputs
  3. Baud rate — adjust serial communication speed (Kenwood)
  4. CI-V address — manual override (ICOM, normally auto-detected)
  5. AS feedback — enable/disable antenna switch feedback monitoring
  6. Display settings — brightness, color scheme
  7. Fault reset — clear latched faults

Initial Configuration

  1. Power on with radio connected
  2. Verify frequency display matches radio
  3. Set band thresholds (if defaults don't match your region's band plan)
  4. Assign outputs to your antenna switch configuration
  5. Enable feedback monitoring (if hardware supports it)
  6. Test all bands by tuning radio through each band

Kenwood-Specific Settings

  • Baud rate: Typically 19200 (adjustable in menu)
  • Polling rate: How often IF; command is sent
  • Timeout: How long to wait for radio response

ICOM-Specific Settings

  • CI-V address: Auto-detected, but can be manually overridden
  • CI-V baud rate: Fixed at 19200 (ICOM standard)
  • Transceive mode: Must be enabled on radio
Menu system display

Enclosure & Installation

3D-Printed Enclosure

A custom 3D-printed enclosure is available for this project. The enclosure features:

  • Precise cutouts for all connectors
  • Mounting points for PCB standoffs
  • Ventilation slots for heat dissipation
  • Cable strain relief
  • Optional display window

Mounting in Station

  1. Location: Near antenna switch to minimize cable runs
  2. Power: Connect to 13.8V station power supply
  3. Radio connection:
    • Kenwood: RS-232 cable to radio's COM port
    • ICOM: CI-V cable to radio's CI-V jack (can share bus with other devices)
  4. Antenna switch: Connect relay control cables
  5. Feedback (optional): Connect sense lines from antenna switch

Cable Requirements

RS-232 cable (Kenwood):
Straight-through DB9
Pin 2 → Pin 2 (RX)
Pin 3 → Pin 3 (TX)
Pin 5 → Pin 5 (GND)
⚠️ Null-modem cable will not work

CI-V cable (ICOM):
3.5mm stereo plug (or RCA, depending on radio)
Tip: CI-V data
Sleeve: Ground
Can use Y-cable to share bus with other CI-V devices

3D printed enclosure

Operation & Troubleshooting

Normal Operation

  1. Power on decoder and radio
  2. Decoder queries radio (Kenwood) or listens to CI-V bus (ICOM)
  3. Display shows current frequency and active band
  4. Corresponding output activates when band changes
  5. Antenna switch selects correct antenna

Fault Indicators

If using feedback monitoring:

  • Fault LED blinks — relay did not reach target state
  • Display shows error — indicates which output failed
  • Fault log — menu shows history of faults

Common fault causes:

  • Stuck relay in antenna switch
  • Broken wire between decoder and switch
  • Relay coil open circuit
  • Feedback sense wire disconnected

Troubleshooting Guide

Problem: No frequency display

  • Check radio connection
  • Verify baud rate matches radio settings
  • Check cable continuity
  • For ICOM: verify CI-V transceive mode is enabled on radio

Problem: Wrong band selected

  • Check band threshold settings in menu
  • Verify radio is actually on correct frequency
  • Check for interference on control bus

Problem: Outputs chatter during tuning

  • This is normal during quick VFO sweeps
  • Majority filtering should prevent sustained chatter
  • If persistent, check for noise on control bus
  • Verify pull-up resistor values on SN74LVC07A

Problem: Relay activates but antenna doesn't switch

  • Check antenna switch power
  • Verify relay coil connections
  • Test relay with multimeter
  • Check for stuck relay in antenna switch

Problem: Fault indicator active

  • Check relay feedback connections
  • Verify relay is actually switching
  • Test feedback sense circuit
  • Clear fault in menu and retry

Gallery

Downloads & Resources

Available Files

  • Schematic (PDF) — complete circuit diagram
  • PCB Gerber files — for ordering PCBs
  • 3D enclosure STL files — for 3D printing
  • Wiring guide — connection diagrams for Kenwood and ICOM
  • Bill of Materials (BOM) — complete parts list with DigiKey/Mouser links

Firmware

Firmware for this project is provided as a programmed, lock-bit protected unit, or built to order.

To obtain firmware:

  • Contact author with your callsign and station setup
  • Specify Kenwood or ICOM variant
  • Firmware will be provided as pre-programmed ATmega328P or hex file

Current version: V8K7.2

  • Kenwood variant: ASCII IF; protocol
  • ICOM variant: Binary CI-V with auto address detect
  • Both variants synchronized on same version number

Conclusion

This band decoder provides a clean, reliable interface between your Kenwood or ICOM transceiver and your antenna system. With automatic band detection, fault monitoring, and a flexible menu system, it adapts to virtually any station configuration.

Whether you're running a simple single-band setup or a complex multi-antenna farm, this decoder eliminates the need for manual band switching and ensures your antennas and amplifiers are always configured for the current frequency.

Happy DXing!