Bouw een compacte FM-radio met Arduino Nano en RDA5807M
Onderdelen en benodigdheden
| Arduino Nano R3 | 1 |
| 0,96" OLED-display (64x128) | 1 |
| RDA5807M FM-radio module | 1 |
| PAM8403 audio-versterkermodule (met volumeknop en aan/uit-schakelaar) | 1 |
| 3W luidspreker | 1 |
| 2x 6x6 tactiele schakelaars | 1 |
| 100k potentiometer | 1 |
| DC-voedingsconnector | 1 |
Optioneel
- 3D-printer (voor de behuizing)
Benodigde gereedschappen
- 3D-printer (bijv. Creality Ender 3)
- Solderbout en soldeer
- Heetlijmpistool
- Superlijm
- M3-gewinde-inserten en bouten
Over dit project
Onlangs kwam ik de RDA5807-module tegen: een FM-radiotuner in een miniatuur behuizing. Het is goedkoop, communiceert via I2C (alleen twee draden) en vereist dus minimale bedrading.
Mijn moeder luisterde elke dag radio tijdens het koken, tot haar radio het gaf. Ik wilde haar verrassen met een zelfgebouwde radio. In deze tutorial laat ik zien hoe ik de RDA5807M interfaceerde met een Arduino Nano, een behuizing ontwierp en 3D-printte. Ik ben nieuw in 3D-ontwerp, dus het ontwerp is eenvoudig en functioneel.
Laten we beginnen!
Stap 1: Het plan
We houden alles simpel en netjes. De Arduino Nano fungeert als hersenen. De communicatie met de radiomodule is al geregeld door de Radio-bibliotheek (die ook werkt voor SI4703, SI4705 en TEA5767). Installeer deze bibliotheek via de Arduino Library Manager.
Bediening:
- Knop 1 (voorkant): schakelt de radio in 'Frequentie-selectie' modus
- Knop 2: bevestigt de geselecteerde frequentie
- Potentiometer: bladert door vooraf geprogrammeerde zenders (in te stellen in de code)
Het OLED-display toont de afgestemde frequentie. De audio-uitgang van de radiomodule is te zwak voor een luidspreker, daarom versterken we het signaal met de PAM8403-module. Ik koos een versie met ingebouwde volumeregeling en aan/uit-schakelaar.
Stap 2: De FM-radiomodule voorbereiden
De module is extreem klein en de soldeerpads hebben een niet-standaard afstand (niet bruikbaar op breadboard of printplaat). Maak daarom een breakout-print:
- Zaag een klein stukje printplaat (grootte van de module, minimaal 5 gaten per kant).
- Soldeer mannelijke headerpinnen op de print.
- Plaats de module erop en soldeer dunne draden (bijv. afgeknipt componentenpootjes) tussen de module-pads en de headerpinnen.
Stap 3: De behuizing maken (3D-print)
De behuizing is ontworpen in Fusion 360 en geprint op een Creality Ender 3. Alle STL-bestanden zijn bijgeleverd. Ik schilderde de frontplaat wit (één filamentkleur). M3-gewinde-inserten werden met de solderbout in de buitenste behuizing gezet. De binnenste rand wordt met superlijm in de buitenste behuizing gelijmd. Let op: boor achteraf een 6mm gat (voor de volumeknop van de versterker) en een 2mm gat (voor de antenne) in de achterplaat – ik vergeet dit toe te voegen in het ontwerp.
Stap 4: De printplaten maken
We maken twee printplaten:
- Hoofdprint: Arduino Nano, FM-module, connectoren.
- Frontprint: twee tactiele schakelaars, gemonteerd op de frontplaat.
Ik gebruikte mannelijke/vrouwelijke header-connectoren voor alle componenten (gemontageerbaar). Volg het schema voor de bedrading.
Stap 5: Programmeren
Download de bijgeleverde FMRadio_final.ino en open in de Arduino IDE. Pas twee zaken aan voordat je uploadt:
- Zenderfrequenties: Zoek de lokale zenders en hun frequenties op. Voeg ze toe aan de array
stations[]zonder decimaalteken (bijv. 9110 = 91,10 MHz, 10110 = 101,10 MHz). Pas de array-grootte aan: bij 12 zenders wordtstations[12]. - Array-index correctie: Vul
(aantal zenders - 1)in op de aangegeven plaats in de code (bij 12 zenders dus 11).
Upload de sketch.
Stap 6: Assemblage
- Plak het OLED-display en de luidspreker met heetlijm op de frontplaat.
- Plaats de 3D-geprinte knoppen, zet een drup superlijm op de tactiele schakelaars en monteer de frontprint erop (uitlijnen met de knoppen).
- Draai de potentiometer vast op de frontplaat.
- Bevestig de frontplaat met superlijm op de binnenrand.
- Maak alle verbindingen met de hoofdprint. Sluit de audio-uitgang van de radiomodule aan op de versterker (op de achterplaat gemonteerd).
- Zet heetlijm om de connectoren als tractiereductie.
- Schroef de achterplaat vast met M3-bouten.
- Snij 4 cirkels van een heetlijmstaf (2–3 mm dik) en plak ze als rubberen voeten onder de behuizing.
Stap 7: Genieten!
Voed de radio met 5V (of gebruik een 7805-regelaar op 12V invoer). Je zelfgebouwde FM-radio is klaar!
Bedankt voor het volgen van deze tutorial. Laat me weten als jij er ook een maakt. Abonneer op mijn YouTube-kanaal voor meer projecten.
Code en bestanden
- Arduino-code:
FMRadio_final.ino(bijgeleverd) - Radio-bibliotheek: GitHub
- 3D-printbestanden (STL): Frontplaat, Achterplaat, Knop, Binnenrand, Knopje, Buitenbehuizing
Productieproces
- Betrouwbaar Arduino RFID Aanwezigheidssysteem Aangedreven door Python
- Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
- Bouw Boeiende LCD Animaties & Games met Arduino UNO
- Bouw een Wi‑Fi Internetradio met Raspberry Pi en Arduino: Stream Wereldwijde Zenders
- Een slimme voltmeter bouwen met Arduino en smartphone – Eenvoudig DIY-project
- Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
- Nauwkeurige Frequentie- en Duty Cycle-meting met Arduino UNO
- Bestuur een Arduino-rover naadloos met Firmata en een Xbox One-controller
- Realtime afstandsmeting met Arduino Sonar & Processing visualisatie
- Naadloze LED-dimmer met Bolt IoT en Arduino UNO
- Bouw een Real-time Digitale Kompas met Arduino & Processing