73 lines
2.4 KiB
Markdown
73 lines
2.4 KiB
Markdown
# DigiRadio — Firmware
|
|
|
|
> ⚠️ **Status: in active development.**
|
|
> The firmware will be released here after hardware bring-up and validation on the
|
|
> first prototype. Publishing firmware before it can be tested on real hardware
|
|
> would not be meaningful, so this directory currently documents the **planned
|
|
> architecture** only.
|
|
|
|
---
|
|
|
|
## Target Platform
|
|
|
|
- **Host MCU:** Espressif **ESP32-S3** (native USB, Wi-Fi, BLE)
|
|
- **Toolchain:** ESP-IDF (planned)
|
|
- **DSP tooling:** Analog Devices **SigmaStudio** for the ADAU1701 audio flow
|
|
|
|
---
|
|
|
|
## Planned Architecture
|
|
|
|
The ESP32-S3 is the system host and orchestrates the three audio subsystems over
|
|
three separate buses.
|
|
|
|
### Boot sequence
|
|
1. ESP32-S3 releases the ADAU1701 reset line (GPIO-controlled).
|
|
2. ESP32-S3 loads the compiled SigmaStudio program into the DSP program/parameter
|
|
RAM over **I²C** (host-load model; on-board self-boot EEPROM is a DNP option).
|
|
3. ESP32-S3 starts the DSP core.
|
|
4. ESP32-S3 loads the Si4684 firmware/patch over **SPI**.
|
|
5. FSC-BT1035 is brought up over **UART** (Feasycom ASCII command set).
|
|
|
|
### Runtime control
|
|
- **Audio parameters** (volume, EQ, source mix): written to the ADAU1701
|
|
**safeload registers** over I²C to avoid audio pops.
|
|
- **Tuner:** DAB/FM band and station control via Si4684 over SPI.
|
|
- **Bluetooth:** A2DP source control (aptX Adaptive), pairing and status via
|
|
FSC-BT1035 UART commands.
|
|
- **Connectivity:** optional Wi-Fi internet-radio stream injected into the DSP via
|
|
a second I²S input.
|
|
|
|
---
|
|
|
|
## Bus Map (summary)
|
|
|
|
| Bus | Devices | Notes |
|
|
|---|---|---|
|
|
| **I²C** | ADAU1701, MAC EEPROM, (self-boot EEPROM DNP) | single system bus; distinct addresses |
|
|
| **SPI** | Si4684 | firmware/patch load + control |
|
|
| **UART** | FSC-BT1035 | ASCII command set, 4-wire with flow control |
|
|
| **I²S** | Si4684 → DSP → BT1035 (+ ESP32 in) | DSP is I²S master (48 kHz) |
|
|
|
|
See the [Technical Reference Manual](../docs/DigiRadio_Manual.pdf) for the complete
|
|
pin assignment and address map.
|
|
|
|
---
|
|
|
|
## Roadmap
|
|
|
|
- [ ] ESP32-S3 project skeleton (ESP-IDF)
|
|
- [ ] ADAU1701 program loader (SigmaStudio export → I²C write)
|
|
- [ ] Si4684 firmware loader + DAB/FM control
|
|
- [ ] FSC-BT1035 UART driver (A2DP source, aptX Adaptive)
|
|
- [ ] Runtime control (volume / EQ / source) via safeload
|
|
- [ ] Wi-Fi internet-radio source (optional)
|
|
- [ ] Bring-up notes and validated example configuration
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
Firmware in this directory is licensed under the [MIT License](../LICENSE) once
|
|
released.
|