micheleandCursor 0e25c4cc1a Document Si4684 driver, TunerService, and tuner HTTP API (0.4.0).
Adds ch-si4684 and updates API/class reference chapters for slice 4.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:10:52 +02:00
2026-07-05 19:05:07 +02:00
2026-07-06 01:12:37 +02:00
2026-07-06 08:53:33 +02:00
2026-07-06 01:12:37 +02:00
2026-07-06 09:29:38 +00:00
2026-07-06 07:22:56 +02:00

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/                     Technical Reference Manual (LaTeX source + PDF)
│   └── DigiRadio_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 (in development — see Software/README.md)

Documentation

The full design is described in the Technical Reference Manual, covering the system architecture, signal chain, clock and power design, the 6-layer stack-up and controlled-impedance strategy, the functional blocks, and the design decisions behind the key choices.


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 — in active development (released after bring-up)

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 the Manufacturing chapter of the manual for fabrication notes, impedance-control 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.

S
Description
No description provided
Readme
32 MiB
Languages
C++ 54.6%
C 18%
Swift 9.8%
TeX 9.4%
HTML 3.8%
Other 4.4%