← TRIGLER Lab
FM Broadcast Receiver — Reference Design

Wren R1

Single-chip FM stereo receiver — RDA5807M tuner, ATmega328P control, OLED display. Circuit reference and full bill of materials.

Document WRN-REF-001
Revision B
Issued 2026-09-03
Status Concept — reference design
76–108MHz
Tunable band (region-select)
0.96in
OLED display, 128×64
~11.4hrs
Speaker runtime, 1200mAh
~$78/unit
Real BOM, Mouser/DigiKey qty 1
01

Overview

Wren R1 is a minimal single-chip FM broadcast receiver. The RDA5807M does essentially all of the RF work internally — synthesizer, IF chain, stereo decode, and even a digital volume/mute stage — so the rest of the circuit is just an MCU to drive it over I2C, a small display for frequency/station info, basic transport controls, an audio amp for a built-in speaker, and battery power.

The one detail worth calling out up front: the audio signal itself does not pass through the MCU. The tuner's analog L/R line outputs feed the amplifier and headphone jack directly — the MCU only ever talks to the tuner over I2C to change frequency, volume, or band, never touching the audio path. See the bypass line in the diagram below.

Rev B: the BOM in §04 has been repriced against real Mouser/DigiKey quantity-1 listings rather than engineering estimates. The bare RDA5807M IC isn't stocked by either distributor, so the tuner line is sourced as an assembled breakout carrying the same chip — see the callout in §04 for what that changes.
02

System Block Diagram

MCU as a thin control hub over I2C/GPIO; the analog audio path runs tuner → amp directly, bypassing the MCU entirely.

I2C I2C, shared bus GPIO / interrupt Shutdown / mute 3.3V rail Analog L/R audio out FM Tuner IC RDA5807M · 76–108 MHz OLED Display SSD1306, 128×64 Battery & Power MCP73831 · LDO · LiPo 1200mAh ATmega328P Control MCU — I2C master never touches the audio path Audio Amp PAM8403, class-D stereo Input Controls Rotary encoder + 3 buttons Speaker ×2, 8Ω 1W 3.5mm TRS headphone jack Plug-detect switch → mutes speaker, amp shutdown pin on insertion
System block diagram. Solid arrows are I2C/GPIO control lines; the heavy line on the left is the analog audio path, which runs tuner → amp directly rather than through the MCU. The dashed line is the shared 3.3V power rail, which also reaches the tuner, display, and amp (omitted elsewhere for clarity).
Why bypass the MCU for audio: routing analog audio through the MCU would need a DAC/ADC stage and adds noise, latency, and firmware complexity for no benefit — the RDA5807M already outputs a clean stereo line-level signal. The MCU's only job in the audio path is telling the amp to shut down when headphones are plugged in.
03

Circuit Reference

Interface and function of each block, plus the passive support components each IC needs to run per its datasheet reference design.

Tuner & Antenna
BlockFunctionInterfaceNotes
RDA5807M tuner boardFM synthesizer, IF chain, stereo decode, RDS decodeSTEMMA QT / I2C (addr 0x10/0x11)Bare IC isn't stocked by Mouser/DigiKey — sourced as an assembled breakout with crystal and decoupling already onboard, see §04
Antenna leadRF pickup, 76–108MHz bandANT pad~75cm unshielded wire (¼λ @ 100MHz) or the headphone cable itself
Control & Display
BlockFunctionInterfaceNotes
ATmega328PReads controls, drives display, sets tuner registersI2C master, GPIO8MHz internal or 16MHz crystal; 3.3V core
16MHz crystal + 2×22pFMCU clock referenceXTAL1/XTAL2Skip if running the internal 8MHz RC oscillator instead
SSD1306 OLED moduleFrequency, RDS text, signal/battery statusI2C (addr 0x3C), shares bus with tuner128×64, ~15mA typical mixed content
4.7kΩ pull-ups ×2I2C bus terminationSDA/SCLOmit if the tuner or OLED module already carries its own bus pull-ups
Rotary encoder (EC11)Tune / volume, push = mode selectGPIO, 2× interrupt pins + buttonSoftware-debounced
Tactile buttons ×3Preset seek, band select, muteGPIO, pull-up + debounce
Audio
BlockFunctionInterfaceNotes
PAM8403Stereo class-D amplification for the speakersAnalog in (from tuner LOUT/ROUT), SD pin from MCUSD (shutdown) pin tied to a GPIO, not always-on
1µF coupling caps ×2AC-couple tuner output into the amp inputsAnalogBlocks tuner's DC bias from the amp inputs
3.5mm TRS jackDirect line-level headphone outputAnalog, wired straight to tuner LOUT/ROUTOnboard switch contacts feed a GPIO for plug-detect
Power
BlockFunctionInterfaceNotes
MCP73831 charger ICLi-ion/LiPo charge management from USB-CI2C n/a — standalone analog chargerReal Mouser/DigiKey stand-in for the hobbyist TP4056 module, which isn't distributor-stocked
LDO regulatorBattery (3.0–4.2V) → clean 3.3V system railLinear reg.MCP1700-3302, TO-92
LiPo cell, 1200mAhMain power sourcePower rail, JST-PHProtected pouch cell — closest real distributor-stocked capacity to the original 1000mAh target
Slide power switchHard cutoff between battery and regulatorMechanical, in-line with battery +True off — no standby draw
04

Bill of Materials

Real single-unit (qty 1) pricing pulled from live Mouser/DigiKey listings on 2026-09-03, not engineering estimates. Where a part in the original design isn't stocked by either distributor, it's substituted with the closest real distributor-available equivalent — noted per line. A bare number in the P/N column is DigiKey's product catalog ID (paste as digikey.com/en/products/detail/…/<id>, or search the manufacturer part number directly) rather than the formatted cut-tape order code — this doc only lists an order code where one was directly confirmed.

The RDA5807M itself isn't on Mouser or DigiKey. It's a Chinese-market part normally sourced via LCSC or as an assembled AliExpress module. The real distributor-stocked equivalent is Adafruit's ScoutMakes FM Radio Board — a STEMMA QT/I2C breakout carrying the same RDA5807M chip with its crystal and decoupling already onboard — which DigiKey does stock. That single substitution is the biggest line in the BOM below, and it's also why the total is ~4.6× the original hobbyist-sourced estimate: DigiKey/Mouser mostly carry assembled Adafruit/CUI-class modules rather than bare low-cost ICs, and qty-1 pricing gets none of the volume discount a real production order would see.
ComponentDistributor P/NQtyUnit Cost
ATmega328P-AUDigiKey ATMEGA328P-AU-ND1$2.66
16MHz crystal, Abracon ABLS-16.000MHZ-B4-TDigiKey 535-10226-1-ND1$0.24
22pF NP0 cap, Yageo CC0805JRNPO9BN220DigiKey 311-1103-1-ND2$0.24
10kΩ resistor, Yageo RC0805FR-0710KLDigiKey 7275351$0.10
100nF cap, Kemet C0805C104K5RACTUDigiKey 4111692$0.32
Compute & Control subtotal$3.56
FM tuner board — RDA5807M (Adafruit ScoutMakes, STEMMA QT)DigiKey 5651 (Adafruit Industries)1$24.95
Antenna wire lead, 75cmgeneric hookup wire, not a distributor SKU1$0.10
4.7kΩ I2C pull-up, Panasonic ERJ-6ENF4701VDigiKey 9543522$0.24
RF / Tuner subtotal$25.29
PAM8403DR-H class-D amp ICDigiKey PAM8403DR-HDICT-ND1$0.90
Speaker, 8Ω 1W, CUI/Same Sky CMS-15113-078SP-67DigiKey 95611032$5.98
3.5mm TRS jack w/ switch, CUI SJ1-3525NDigiKey 7386871$1.23
1µF cap, Murata GRM21BR71C105KA01LDigiKey 490-1691-1-ND2$0.28
Audio subtotal$8.39
OLED module, SSD1306 128×64, Adafruit 326DigiKey 53536801$17.50
Rotary encoder w/ push, Bourns PEC11R-4215F-S0024DigiKey PEC11R-4215F-S0024-ND1$2.95
Tactile button, Panasonic EVQ-P7A01PDigiKey P16763CT-ND3$0.84
Display & Input subtotal$21.29
MCP73831T-2ACI/OT charger ICDigiKey 9643011$0.76
MCP1700-3302E/TO LDO, 3.3VDigiKey MCP1700-3302E-TO-ND1$0.50
LiPo cell, 1200mAh, Adafruit 258DigiKey 50545441$9.95
USB-C connector, GCT USB4085-GF-ADigiKey 98596621$0.91
Slide switch, C&K OS102011MA1QN1DigiKey 19814301$0.65
Power subtotal$12.77
2-layer PCB + SMT assemblyfab-house quote (JLCPCB/PCBWay), not a distributor SKU1$4.00
Enclosure (3D-print / low-vol injection)local fab/vendor quote, not a distributor SKU1$3.00
Mechanical subtotal$7.00
Total, real BOM per unit (Mouser/DigiKey, qty 1)~$78.30
Quantity breaks: a handful of lines drop meaningfully at qty 25 — ATmega328P-AU to $2.44, MCP73831 to $0.75, MCP1700 to $0.42, the rotary encoder to $2.18, the 10kΩ resistor to $0.034, the 100nF cap to $0.091. The big-ticket items (tuner board, OLED, speakers, battery) are branded modules that don't discount much at this volume — they're what keeps the total high even before qty 25, and they're the parts worth re-shopping (cheaper generic modules, or a real production quote) before trusting this number for anything beyond a single prototype.
Cheaper path, not distributor-verified: sourcing the bare RDA5807M and a generic SSD1306 module via LCSC/AliExpress instead — the original hobbyist approach — lands close to the ~$17 estimate from Rev A. That's a real, commonly-used sourcing path, just not one Mouser or DigiKey carry, so it isn't reflected in the table above.
05

Power Budget

Currents estimated at the 3.3V system rail; runtime assumes the Adafruit 258 1200mAh LiPo cell (§04) with ~90% conversion efficiency through the LDO (≈1,140mAh effective at the 3.3V rail).

ProfileMCUTunerOLEDAmp + speakerTotalRuntime
Speaker playback5 mA15 mA15 mA60 mA100 mA~11.4 hrs
Headphones (amp off)5 mA15 mA15 mA0 mA40 mA~28.5 hrs
Amp draw scales with volume and is the single biggest lever on runtime — the figures above assume moderate listening volume, not full output.
06

Design Notes

TopicNote
Band selectionRDA5807M's band (US/Europe 87–108MHz, Japan 76–91MHz, world 76–108MHz) and channel spacing are set by I2C register, not hardware — firmware-selectable, no BOM impact
AntennaA ¼-wave wire at 100MHz is ~75cm; the classic low-cost approach is wiring the headphone cable itself as the antenna, with a short flying lead as a fallback for speaker-only use
RDSThe RDA5807M decodes RDS/RBDS (station name, radiotext) in hardware — not required for a v1 build, but the OLED + I2C plumbing to show it is already in place
Volume controlHandled digitally inside the tuner IC via I2C (16 steps) — no physical volume potentiometer needed in the audio path
True power-offThe slide switch cuts the battery from the regulator entirely; no quiescent draw when off, at the cost of losing station presets stored only in MCU RAM (write presets to EEPROM if that matters)
Wren R1 — FM Receiver Reference Design Rev B BOM repriced against real Mouser/DigiKey listings; circuit design not yet prototyped or bench-verified