Skip to content

Overview and Architecture

jj edited this page Oct 6, 2026 · 4 revisions

Overview & Architecture

This page explains what the zBitx is made of and how the pieces talk to each other. You don't need to know any of this to operate the radio, but it helps a lot when something isn't working — you'll know which part to look at.

The big picture

The zBitx is a software‑defined QRP transceiver. Three "brains" cooperate:

  1. The RF board — the analog radio hardware: receiver, 5‑watt transmitter, band‑pass and low‑pass filters, and the audio codec that turns RF‑derived audio into digital samples and back.
  2. The Raspberry Pi Zero 2 W — the main computer. It runs the zBitx application, which does all the digital signal processing (demodulation, filtering, FT8/CW decoding), holds your settings, serves the web interface, and runs the CAT server.
  3. The Raspberry Pi Pico (RP2040) — the front‑panel controller. It drives the 3.5″ ILI9488 touchscreen, reads the encoder knob and buttons, and shows meters, the spectrum/waterfall, and menus.
        ┌────────────────────────────┐
        │   RF board (5 W QRP)       │
        │  RX / TX / filters / codec │
        └────────────┬───────────────┘
                     │ audio + control (GPIO / I2C)
        ┌────────────┴─────────────┐        ┌───────────────────────┐
        │  Raspberry Pi Zero 2 W   │  I2C   │  Pi Pico (RP2040)     │
        │  zBitx application       │◄──────►│  Front‑panel firmware │
        │  DSP · settings · CAT    │        │  Touchscreen · knob   │
        │  web server              │        │  Meters · waterfall   │
        └────────────┬─────────────┘        └───────────────────────┘
                     │ WiFi / USB / network
        ┌────────────┴───────────────┐
        │  Your phone / tablet / PC  │
        │  Web interface · VNC · CAT │
        └────────────────────────────┘

The two software components

Because there are two computers, there are two pieces of software, and they are versioned separately:

  • Pi application — lives in the zbitx repository. This is what make builds and what runs on the Pi. Its version looks like v5.09.
  • Front‑panel firmware — lives in the zbitxfrontpanel repository as source, and is distributed as a compiled .uf2 file. Its version looks like 5.11f.

Every Pi release states the minimum front‑panel firmware it requires. If the two are mismatched you can get odd behavior — missing menu items, blank fields, or features that don't respond. When in doubt, update both and check the project's release notes in the repository.

You can see both versions right on the radio: Menu → SETUP shows the Panel version and Software version.

How the Pi and front panel talk

The Pi and the Pico communicate over an I2C link. In plain terms:

  • The Pi pushes field values to the panel — frequency, mode, meter readings, your callsign, and so on — so the screen always reflects the radio's real state.
  • The panel sends commands back to the Pi when you turn the knob, tap a button, or use a menu — "change frequency," "scan WiFi," "shut down," etc.

This is why, for example, your callsign and last frequency appear on the panel after a reboot: the Pi loads them from its settings file and pushes them across to the panel once it connects.

Where your settings live

All of your operating settings — callsign, grid, passkey, last frequency, per‑band memories (band stack), bandwidth, AGC, and more — are stored on the Pi, in a file called user_settings.ini inside the sbitx/data folder. The front panel does not store these itself; it displays what the Pi sends it.

The Pi saves this file automatically: a few seconds after you change something, when you key up to transmit, and on a clean shutdown. See Troubleshooting if settings aren't being remembered.

The three ways to control the radio

You can operate the zBitx from any of these, and they all stay in sync:

  1. Front panel — the touchscreen and knob on the radio itself. See Front Panel Operation.
  2. Web interface — point a browser on your phone, tablet, or computer at the radio's address. Great for a bigger screen, remote tuning, and even transmitting voice using your device's microphone.
  3. The Pi desktop — the Raspberry Pi's own graphical desktop, which you can reach with a screen and keyboard, or remotely through VNC.

What connects to the outside world

  • Antenna — to the RF board's antenna jack. Always connect an antenna or dummy load before transmitting.
  • WiFi — the Pi's wireless LAN, used for the web interface, VNC, time sync, and software updates. See WiFi Setup.
  • USB port — can act as a CAT control interface or as a keyboard/mouse input, switchable on the fly. See USB Mode.

Next: Installation & Flashing »

Clone this wiki locally