Kompaktes FM-Radio mit Arduino Nano und RDA5807M selbst bauen
Bauteile und Zubehör
- 1× Arduino Nano R3
- 1× ElectroPeak 0,96″ OLED-Display (64×128 Pixel, I²C)
- 1× RDA5807M FM-Radio-Modul (I²C)
- 1× PAM8403 Audioverstärker-Modul (mit Lautstärkeregler und Ein-/Ausschalter)
- 1× 3-W-Lautsprecher
- 2× 6×6-mm-Taster
- 1× 100-kΩ-Potentiometer
- 1× DC-Strombuchse
- 3D-Drucker (für das Gehäuse)
Werkzeuge
- Lötkolben und Zubehör
- 3D-Drucker (Creality Ender 3 oder ähnlich)
- Heißklebepistole
- Schraubendreher (für M3-Gewindeeinsätze)
Projektüberblick
Das RDA5807M ist ein winziger, preiswerter FM-Tuner, der über I²C angesteuert wird – nur zwei Leitungen (SDA, SCL) sind nötig. Ich wollte meiner Mutter, deren altes Radio defekt war, ein selbstgebautes Gerät schenken. Entstanden ist ein kompaktes Radio mit OLED-Anzeige, Drehgeber für Senderwahl, Tastern für Modusumschaltung und einem 3D-gedruckten Gehäuse.
Schritt 1: Planung
Der Arduino Nano übernimmt die Steuerung. Die Kommunikation mit dem Radio-Modul erledigt die Radio-Bibliothek (von mathertel), die auch SI4703, SI4705 und TEA5767 unterstützt. Ein Taster schaltet in den „Frequenzwahl-Modus“, der zweite wählt den Sender. Das Potentiometer blättert durch im Code hinterlegte Favoritensender. Das OLED zeigt die aktuelle Frequenz an. Da das Audiosignal des RDA5807M sehr schwach ist, verstärkt der PAM8403 es für den Lautsprecher.
Schritt 2: Radio-Modul auf Breakout-Platine löten
Das Modul ist winzig und nicht breadboard-tauglich. Schneiden Sie ein kleines Lochrasterstück (ca. Modulgröße, mind. 5 Löcher pro Seite), löten Sie Stiftleisten darauf und verbinden Sie die Modul-Pads mit dünnen Drähten (z. B. abgeschnittene Bauteilbeinchen) zu den Stiftleisten.
Schritt 3: Gehäuse 3D-drucken
Das Gehäuse (Frontplatte, Rückplatte, äußerer Körper, innerer Rand, Knöpfe, Drehrädchen) wurde in Fusion 360 entworfen und auf einem Ender 3 gedruckt (STL-Dateien liegen bei). Die Frontplatte wurde weiß lackiert. M3-Gewindeeinsätze werden mit dem Lötkolben in den äußeren Körper eingearbeitet. Innerer Rand mit Superkleber im äußeren Körper fixieren. In der Rückplatte nachträglich 6-mm-Loch für den Verstärker-Drehknopf und 2-mm-Loch für die Antenne bohren.
Schritt 4: Platinen bestücken
Zwei kleine Lochrasterplatinen: Hauptplatine (Arduino, Radio-Modul, Verstärker) und Frontplatine (Taster, Potentiometer, OLED, Lautsprecher). Steckverbinder (Stift-/Buchsenleisten) erleichtern Montage und Wartung. Verdrahtung gemäß Schaltplan.
Schritt 5: Programmierung
Code (FMRadio_final.ino) in Arduino IDE öffnen. Zwei Anpassungen vor dem Hochladen:
- Lokale Senderfrequenzen im Array
stations[]eintragen (ohne Dezimalpunkt: 9110 = 91,10 MHz). Array-Größe in eckigen Klammern anpassen (z. B.stations[12]für 12 Sender). - Anzahl Sender minus 1 an der markierten Stelle eintragen (bei 12 Sendern also 11).
Danach Code hochladen.
Schritt 6: Zusammenbau
- OLED und Lautsprecher mit Heißkleber in Frontplatte fixieren.
- 3D-gedruckte Tasten aufsetzen, Tasterplatine mit Superkleber darauf positionieren (Ausrichtung prüfen).
- Potentiometer in Frontplatte verschrauben.
- Frontplatine mit reichlich Superkleber auf inneren Rand setzen.
- Alle Kabel zur Hauptplatine verbinden (Audio-Ausgang Radio-Modul → Verstärker-Eingang).
- Steckverbinder mit Heißkleber als Zugentlastung sichern.
- Rückplatte mit M3-Schrauben befestigen.
- 4 Scheiben aus Heißklebestift (2–3 mm dick) als Gummifüße unten ankleben.
Schritt 7: In Betrieb nehmen
Mit 5 V versorgen (oder 7805-Regler an 12 V). Radio einschalten – fertig!
Code & Ressourcen
- Arduino-Code: FMRadio_final.ino (im Repository)
- Radio-Bibliothek: github.com/mathertel/Radio
- STL-Dateien: Face Plate, Back Plate, Button, Inner Rim, Knob, Outer Body
Herstellungsprozess
- RFID-Anwesenheitssystem mit Arduino & Python – Daten direkt in phpMyAdmin (XAMPP) speichern
- Universelle Android-Fernbedienung mit Arduino, 1Sheeld & IR-Steuerung
- LCD-Animationen & Spiele mit Arduino UNO erstellen
- WLAN-Internetradio mit Raspberry Pi & Arduino bauen: Weltweite Sender streamen
- Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
- Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
- Frequenz & Tastverhältnis präzise messen mit Arduino UNO
- Arduino Rover per Firmata & Xbox One Gamepad steuern
- Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
- Digitaler Kompass in Echtzeit mit Arduino & Processing bauen