← Back to home

Embedded / Hardware

FM Wireless Transceiver

A pair of custom PCBs for FM audio transmission — one board transmits microphone audio, the other receives and plays it through a speaker. I designed the hardware from component selection through PCB layout, then wrote bare-metal firmware to drive the full system.

What it does

Hardware

Component Details
MCUN32G455REL7 (Cortex-M4)
RF chipQN8066 FM transceiver (I2C)
DisplayHS96L03W2C03 OLED (I2C)
AmplifierNS4150B audio amp
PowerTP4054 charger + single-cell LiPo
DebugSWD via J-Link

Firmware

Bare-metal C firmware with no RTOS. Two build targets share the same codebase, differentiated by a compile-time FM_APP_ROLE macro — one for TX, one for RX. Modules cover board init, I2C bus recovery, QN8066 RF configuration, and OLED rendering.

What I learned

This was my first end-to-end hardware project — selecting components, laying out PCBs, bringing up I2C peripherals, and iterating on RF tuning. Analog FM transmission introduces real noise challenges that digital links avoid, which gave me practical appreciation for signal quality trade-offs in wireless systems.

Honest assessment: Audio quality still has room for improvement — analog FM noise is noticeable. Future work could explore digital modulation or better antenna matching for cleaner transmission.

Links

GitHub repository →

Demo & Photos

FM transceiver PCBs with antennas, OLED display, and batteries

TX and RX boards with QN8066 RF modules, OLED displays, and LiPo power.

Demo: FM audio transmission between TX and RX boards.