Files
DigiRadio/README.md
T
micheleandCursor 8cd962ee25 Replace TODO with agent backlog and refresh READMEs.
Adopt the prioritised task list for the coding agent and document
fw 0.7.0 status plus the full HTTP API in Software/README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 23:26:24 +02:00

5.5 KiB
Raw Blame History

DigiRadio

DAB+/FM Bluetooth Receiver with SigmaDSP Audio Processing

Open-source digital radio — Si4684 tuner · ADAU1701 SigmaDSP · Bluetooth aptX Adaptive · ESP32-S3

Status Firmware PCB Hardware License Firmware License: Apache 2.0


Overview

DigiRadio is an open-source digital radio receiver that combines terrestrial broadcast reception (DAB+ / DAB / FM) with a programmable audio-processing stage and high-quality Bluetooth audio output.

Incoming broadcast audio is decoded by a Silicon Labs Si4684 digital-radio receiver, processed by an Analog Devices ADAU1701 SigmaDSP (equalisation, mixing, level control), and transmitted over Bluetooth by a Qualcomm QCC3056-based Feasycom FSC-BT1035 module supporting the aptX Adaptive codec. An Espressif ESP32-S3 acts as the host controller, orchestrating the three subsystems and providing Wi-Fi/BLE connectivity and a USB service interface.

The entire tuner → DSP → Bluetooth path is fully digital (I²S, 48 kHz / 24-bit) — no analogue conversions are introduced between the tuner and the wireless link.

 FM/DAB antenna → [ Si4684 ] --I²S--> [ ADAU1701 DSP ] --I²S--> [ FSC-BT1035 ] → aptX
                       ↑                     ↑                        ↑
                       └──── SPI ──── [ ESP32-S3 host ] ──── UART ────┘
                                             │  I²C

Key Features

  • DAB+ / DAB / FM reception (Si4684) via external whip antenna (SMA)
  • Fully digital audio path — no avoidable A/DD/A conversions
  • Programmable audio processing on the ADAU1701 SigmaDSP
  • Bluetooth 5.2 output with aptX / aptX HD / aptX Adaptive
  • ESP32-S3 host with native USB, Wi-Fi and BLE
  • USB-C powered; single-rail 3.3 V + low-noise 1.8 V for the tuner
  • 6-layer impedance-controlled PCB, 50 × 90 mm, two ground planes
  • Three antennas (ESP32 2.4 GHz, BT1035 2.4 GHz, FM/DAB SMA) with proper keep-outs

Repository Structure

DigiRadio/
├── docs/                     → symlink to Software/docs/manual (canonical LaTeX manual)
│   ├── manual.tex            build with: cd docs && latexmk -lualatex manual.tex
│   └── manual.pdf
├── Hardware/
│   ├── schematics/           Schematic (PDF)
│   ├── gerber/               Gerber + drill files (fabrication)
│   ├── bom/                  Bill of Materials
│   ├── pick-and-place/       Component placement (CPL / centroid)
│   ├── easyeda/              EasyEDA source project
│   └── 3d/                   3D renders / STEP
└── Software/                 Firmware (ESP-IDF — see Software/README.md, docs/TODO.md)

Documentation

The full design is described in the Technical Manual, covering hardware, firmware architecture, companion-chip drivers (Si4684, ADAU1701, FSC-BT1035), the HTTP JSON API, and build instructions. LaTeX sources live in Software/docs/manual/; the repository root docs/ entry is a symbolic link to that folder (single source of truth).

Firmware development backlog and agent tasks: Software/docs/TODO.md.


Design Highlights

Topic Choice Rationale
Audio quality QCC3056 / aptX Adaptive The codec is the dominant quality factor on a wireless link; the DAC lives in the sink
Audio path Fully digital I²S Avoids unnecessary A/DD/A conversions between tuner and Bluetooth
I²S master ADAU1701 (12.288 MHz) Clean ×256 → 48 kHz; avoids sample-rate mismatch
Stack-up 6-layer, 2× GND Solid ground reference under RF, crystals and USB
USB routing TOP, ref. GND 90 Ω diff achievable at manufacturable geometry
Antennas 3 zones, diagonal 2.4 GHz Coexistence separation + full-layer keep-outs

Status

  • Schematic — complete and reviewed
  • PCB layout — 6-layer, DRC clean, plane continuity verified
  • BOM — finalised (manufacturable / sourced)
  • 🔜 Prototype — in fabrication (PCBWay)
  • 🛠️ Firmware — fw 0.7.0 on main (tuner, DSP, BT pairing, presets); see Software/docs/TODO.md

Manufacturing

The board is manufactured with PCBWay as a 6-layer, impedance-controlled PCB with turnkey assembly. The FSC-BT1035 Bluetooth module is sourced from Feasycom (the footprint uses a BT806-compatible, pin-identical land pattern). See Chapter Hardware and manufacturing notes in the manual for fabrication settings and MSL-3 handling of the BT module.


License

  • Hardware (schematics, PCB, Gerbers, BOM): CERN-OHL-S v2 — see LICENSE
  • Firmware / Software: Apache-2.0 — see Software/LICENSE
  • Documentation: CC BY 4.0

Intellectual property of the design remains with the author. You are free to study, modify and build the hardware under the terms of the respective licenses.


Author

Michele Bigi — Open-source hardware project.

Contributions, issues and questions are welcome via the repository issue tracker.