Skip to the content
2 layers88.9 × 71.1 mmSTM SDR, the printed circuit board in 3D

A portable FM radio receiver with OLED display, built on STM32F411CEU6 microcontroller with SI4732-A10 software-defined radio chip.

Size
88.9 × 71.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
87
Pads
323
Tracks, vias
544, 81
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 May 2026
Updated
6 May 2026

Overview

STM SDR is an open-source printed circuit board by Beacroxx, from the Beacroxx/STM-SDR repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 88.9 × 71.1 mm with 64 parts on 87 nets, routed with 544 tracks and 81 vias.

It is built around the AS179-92LF, SI4732-A10-GS and TPS63001DRC, with the Q13FC1350000400, SKRPACE010 and X322525MOB4SI among its other parts. Its parts include 24 capacitors, 16 resistors, 6 ICs, 5 connectors and 3 switches. It belongs with the radio and wireless boards and the STM32 boards of this library.

Main components

6

README

README.md

STM-SDR

A portable FM radio receiver with OLED display, built on STM32F411CEU6 microcontroller with SI4732-A10 software-defined radio chip.

Hardware Components

  • Microcontroller: STM32F411CEU6 (96 MHz ARM Cortex-M4, 512KB Flash)
  • Radio Receiver: SI4732-A10-GS (FM tuning: 64-108 MHz, I2C interface)
  • Display: SH1106 128x64 monochrome OLED (SPI interface)
  • User Input: Dual rotary encoders with buttons
  • Audio: Stereo audio with RMS monitoring
  • Battery: Li-ion monitoring with charging detection
  • Power: USB + battery powered

For detailed schematics and PCB design, see the kicad/ folder.

Features

  • FM radio tuning with seek functionality
  • Real-time audio level monitoring with visual bars
  • Battery percentage display
  • Configurable settings via menu system:
    • Frequency (64-108 MHz)
    • Volume (0-63)
    • Seek RSSI threshold
    • Mono/Stereo RSSI thresholds
    • Soft mute parameters
    • Antenna selection (internal/external)
  • Persistent configuration storage in flash memory
  • Dual encoder control for intuitive navigation

Build Instructions

This project uses PlatformIO for build and upload.

  1. Install PlatformIO (VS Code extension or CLI)
  2. Open the project folder
  3. Run platformio run to build
  4. Run platformio run --target upload to flash to the board

Requirements

  • PlatformIO
  • ST-Link debugger for uploading
  • GCC ARM toolchain

Usage

Home Screen Controls

  • Left Encoder: Rotate to adjust frequency (±0.05 MHz), press to enter menu
  • Right Encoder: Rotate to adjust volume (±1), press to toggle mute
  • Left Encoder Hold: Seek down
  • Right Encoder Hold: Seek up

Menu Navigation

  • Left Encoder: Scroll through settings
  • Right Encoder: Select setting to adjust value
  • Right Encoder Press: Enter/Exit adjustment menu

Settings

  1. Tuned Frequency (64-108 MHz)
  2. Volume (0-63)
  3. Seek RSSI Threshold (0-127 dBuV)
  4. Mono RSSI Threshold (0-127 dBuV)
  5. Stereo RSSI Threshold (0-127 dBuV)
  6. Soft Mute Slope (0-63 dB/dB)
  7. Soft Mute Max Attenuation (0-31 dB)
  8. Soft Mute Threshold (0-15 dB)
  9. Mute (toggle)
  10. Mute on Seek (toggle)
  11. External Antenna (toggle)

Known Issues/Limitations

  • USB D+/D- pins are connected but the USB peripheral is not configured
  • Charge controller status line is connected to PA4 but usage commented out (see src/guidraw.cpp)
  • OLED dimming and auto-turnoff are not implemented yet
  • RDS (Radio Data System) infrastructure missing
  • No preset station storage
  • Always-on power mode (no sleep)

Future Improvements

  • Implement USB peripheral for data transfer
  • Use charge controller status monitoring
  • Add OLED dimming and auto-turnoff features
  • Read and display RDS information
  • Add preset station memory
  • Add power management with sleep modes

License

This project is licensed under the GNU General Public License v3.0, see the LICENSE file for details.

Parts

64
QtyValueFootprintReferences
71uFPCM_JLCPCB:C_0603C18, C19, C20, C21, C22, C23, C24
410uFPCM_JLCPCB:C_0603C25, C26, C28, C29
418pFPCM_JLCPCB:C_0603C9, C10, C13, C14
420kΩPCM_JLCPCB:R_0603R6, R7, R8, R9
3100nFPCM_JLCPCB:C_0603C3, C5, C6
3100pFPCM_JLCPCB:C_0603C15, C16, C17
32kΩPCM_JLCPCB:R_0603R14, R18, R19
3~PCM_JLCPCB:FB_0603FB1, FB2, FB3
210kΩPCM_JLCPCB:R_0603R13, R17
210ΩPCM_JLCPCB:R_0603R3, R4
212pFPCM_JLCPCB:C_0603C11, C12
25.1kΩPCM_JLCPCB:R_0603R1, R2
1100kΩPCM_JLCPCB:R_0603R15
118650Battery:BatteryHolder_Keystone_1042_1x18650BT1
12.2uFPCM_JLCPCB:C_0603C1
12.2uHInductor_SMD:L_Changjiang_FXL0530L2
132.768kHzPCM_JLCPCB:FC-135R_L3.2-W1.5X1
1560kΩPCM_JLCPCB:R_0603R12
16.8uHInductor_SMD:L_TDK_MLZ2012_h0.85mmL3
168kΩPCM_JLCPCB:R_0603R16
1AS179-92LFPackage_TO_SOT_SMD:SOT-363_SC-70-6U4
1AudioJack3Connector_Audio:Jack_3.5mm_CUI_SJ-3523-SMT_HorizontalJ7
1Connector, USB-TYPE-C-16PPCM_JLCPCB:TYPE-C-SMD_HX-TYPE-C-16PINJ3
1Encoder LeftRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW3
1Encoder RightRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW2
1External AntennaConnector_Coaxial:SMA_Samtec_SMA-J-P-H-ST-EM1_EdgeMountJ6
1LM4910MM/NOPBfootprints:MUA08AU6
1MCP73831-2-MCPackage_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.7x1.4mmU5
1Q13FC1350000400PCM_JLCPCB:FC-135R_L3.2-W1.5X3
1SI4732-A10-GSfootprints:SOIC_A10-GS_SILU3
1SKRPACE010footprints:SW_SKRPACE010_AALJ1
1STM32F411CEUxPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mmU1
1SWDConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1SW_SPDTButton_Switch_SMD:SW_SPDT_PCM12SW1
1TPS63001Package_SON:Texas_DRC0010J_ThermalViasU7
1X322525MOB4SIPCM_JLCPCB:OSC-SMD_4P-L3.2-W2.5-BLX2
1~teensy-sdr:UntitledOLED1

Similar boards

  • 2 layers110 × 140 mmKeypad PCB REV 3.0, the printed circuit board in 3D

    Keypad PCB REV 3.0

    yuhkm/STM32_Calculator_Keypad

    STM32 Based USB Keypad and Calculator

    111 parts
  • 4 layers230 × 84.9 mmDrunkDashboard v2, the printed circuit board in 3D

    DrunkDashboard v2

    drunkbatya/DrunkDashboard

    STM32 powered pixel automotive dashboard

    223 parts1GPL-3.0
  • 4 layers70 × 45.4 mmHcbboard, the printed circuit board in 3D

    Hcbboard

    ivarhak/BlueprintFlightComputerPCB

    Files for my flight computer project as a part of the Hack Club foundation's Blueprint program 2025. Board has an STM chip, 2 BMP351 barometers, 1 ICM-42688-P IMU, a microSD slot, battery charging capabilities, and…

    106 parts
  • 4 layers40 × 60 mmProxima, the printed circuit board in 3D

    Proxima

    LtBrain/proxima

    A TVC and fin control flight computer

    74 partsMIT
  • 2 layers95.4 × 92.4 mmPanelized, the printed circuit board in 3D

    Panelized

    kholia/ConsensusBasedTimeSync

    A portable, efficient, passive, consensus based (relative) time synchronization mechanism over radio waves. Cost-effective radio receivers too!

    326 parts7
  • 2 layers55 × 100 mmScoutAM, the printed circuit board in 3D

    ScoutAM

    RADARC/Scout-Radio

    Si4732 and Raspberry Pi Pico Radio device for Scouts to build and use to gain badges

    92 parts6GPL-3.0
  • 2 layers104.6 × 94.9 mmTEST PNAL, the printed circuit board in 3D

    TEST PNAL

    SREERAJSVT/SiSeriesRadio

    This project details the design and development of a Si4732/Si4735 based radio receiver utilizing a Raspberry Pi Pico for control and a custom-designed PCB

    139 parts1
  • 2 layers87.3 × 67 mmPico radio-5, the printed circuit board in 3D

    Pico radio-5

    bt-soft/pico-radio-5

    A Pico-Radio-5 egy fejlett, több sávos rádióvevő, amely a Raspberry Pi Pico (RP2040) mikrokontroller köré épül. A főbb hardverelemek:

    49 parts

Questions

How big is the STM SDR PCB?

It measures 88.9 × 71.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the STM SDR use?

64 parts, built around the AS179-92LF, SI4732-A10-GS, TPS63001DRC and Q13FC1350000400. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the STM SDR KiCad files?

From the Beacroxx/STM-SDR repository on GitHub, at the commit this page was made from: the board is kicad/stm-sdr.kicad_pcb and its schematic kicad/stm-sdr.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the STM SDR design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).