Fm radio
snakeye·fm-radio·hardware/fm-radio.kicad_pcb
About the Fm radio PCB
Fm radio is an open source STM32 PCB design by snakeye, published on GitHub. It is a 4-layer board measuring 60 × 17 mm, with 41 components from 25 distinct parts.
Its main chip is the STM32F103CBT6, from the STM32 family. Other key parts include the LTC4054ES5-4.2, AP2112K-3.3 and RDA5807M. By type, the board carries 12 capacitors, 11 resistors, 5 connectors, 4 ICs, 2 transistors and 2 fuses.
It belongs with the rf & radio, displays & leds and audio designs in this gallery.
From the project
A DIY portable FM radio built around STM32F103 and RDA5807
A DIY portable FM radio built around STM32F103 and RDA5807.
This project started as a "build something useful and learn something new" challenge. It became my first serious STM32 build, with custom hardware, multiple PCB revisions, and firmware focused on reliability on real battery-powered hardware.
- I had several STM32 boards and programmers for years but never finished a real project with them. - The Arduino framework on STM32 made startup and low-level bring-up much easier than my previous attempts. - The first prototype used a TEA5767 module, but station lock was unstable and…

Main components on the Fm radio
Fm radio bill of materials (BOM)
41 components, 25 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LTC4054ES5-4.2 | TSOT-23-5 | U1 |
| 1 | AP2112K-3.3 | SOT-23-5 | U2 |
| 1 | RDA5807M | MSOP-10_3x3mm_P0.5mm | U3 |
| 1 | STM32F103CBT6 | QFP50P900X900X160-48N | U5 |
| 1 | IRLML6402 | SOT-23 | Q1 |
| 1 | IRLML2060 | SOT-23 | Q2 |
| 1 | 32768Hz | Crystal_DS15_D1.5mm_L5.0mm_Horizontal | Y1 |
| 1 | USB C | USB-C | J1 |
| 1 | AudioJack4 | PJ-320D-A | J2 |
| 1 | Prog | Prog Header | J3 |
| 1 | OLED | OLED-SCREEN | J4 |
| 1 | Bat | Battery Pads | J5 |
| 2 | ~ | L_0603_1608Metric | F1, F2 |
| 1 | ~ | SKRHAAE010 | SW1 |
| 1 | Power | BUTTON | SW2 |
| 1 | WS2812B-2020 | LED_WS2812B-2020_PLCC4_2.0x2.0mm | D1 |
| 1 | 270mH | L_0805_2012Metric | L1 |
| 1 | 100pF | C_0603_1608Metric | C1 |
| 1 | 22uF | C_0603_1608Metric | C4 |
| 7 | 1u | C_0603_1608Metric | C5, C11, C12, C14, C15, C16, C17 |
Show 5 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 3 | 100uF | C_1206_3216Metric | C6, C7, C8 |
| 2 | 5.1k | R_0603_1608Metric | R2, R3 |
| 1 | 15k | R_0603_1608Metric | R4 |
| 5 | 10k | R_0603_1608Metric | R5, R6, R7, R9, R12 |
| 3 | 100k | R_0603_1608Metric | R8, R10, R11 |
Fm radio design files
The KiCad project lives in the snakeye/fm-radio repository on GitHub; these links point at the commit this page was built from.
- Layouthardware/fm-radio.kicad_pcb
- Schematichardware/fm-radio.kicad_sch
Fm radio: common questions
What microcontroller does the Fm radio use?
The Fm radio is built around the STM32F103CBT6, from the STM32 family.
How big is the Fm radio PCB?
The Fm radio measures 60 × 17 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Fm radio?
41 components, from 25 distinct parts. The full bill of materials is listed on this page.
Where can I download the Fm radio design files?
From the snakeye/fm-radio repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Fm radio design in my own project?
The repository has no license, so all rights stay with snakeye. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Fm radio without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
LibreVNA
jankae
122 × 98 mm592 parts6LGPL-3.01.6kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2k