Last Updated on 10. Oktober 2026 by sfambachLink-Status: OK
Der RF Nano ist eine Replik des Arduino Nano, zusätzlich verfügt er noch über einen NRF24L01 Baustein, was ihm die RF Kommunikation ermöglicht.
Vorsicht, es gibt unterschiedliche Versionen dieses Nanos, es lohnt sich also genau hinzuschauen.
Fakten
Das Board sieht wie ein gewöhnlicher Nano aus, wenn da nicht die aufgedampfte Antenne (unten) und ein Micro USB anstatt des Mini-USB Anschlusses wären.

Vergleich mit dem Standard
Die Pinbelegung habe ich mit dem Standard verglichen, diese ist bei mir gleich. (Bitte nochmal überprüfen, da andere Imitate abweichende Pin Belegungen haben könnten).

NRF Verbindungen
Die Pin-Informationen sind dem Schaltplan des Herstellers entnommen.
ACHTUNG: Die Pins für CE und CSN sind bei mir, im Gegensatz zu den meisten Beispielen im Netz, vertauscht, es soll aber auch RF-Nanos mit richtiger Pinbelegung geben.
| Beschreibung | Pin |
| CE | 10 (9) |
| CSN | 9 (10) |
| SCK | 13 |
| MOSI | 4 |
| MISO | 5 |
Anwendungsbereiche
- Fernsteuerung
- Sensor Knoten
- Alles, was miteinander kommunizieren muss.
Ansichten


Programmierung
Bibliotheken
Vom Hersteller benutzte Bibliothek
Meine bewährte Bibliothek hat beim ersten Test nicht funktioniert, weshalb ich erstmal die des Herstellers ausprobiert habe. So konnte ich den Fehler in meinem Programm finden.
https://github.com/joewalnes/arduino-play/tree/master/lib/MirfLink-Status: OK
https://github.com/tmrh20/RF24/Link-Status: OK
Standard RF Bibliothek
Hier die Standard-Bibliothek, die ich schon in anderen Projekten verwendet habe.
https://github.com/tmrh20/RF24/Link-Status: OK
Testprogramme
Programm des Herstellers
Für den ersten Test verwende ich die Programme des Herstellers. Der Quellcode ist auf Github über den folgenden Link verfügbar:
https://github.com/emakefun/emakefun-nano-plusLink-Status: OK
Ich habe 2 gleiche Nanos erworben und den einen als Empfänger und den anderen als Sender programmiert. Die Ausgabe ist im folgenden Bild zu sehen.

Test mit RF Bibliothek
Hier mein Testprogramm mit der RF Bibliothek. Die Bibliotheksdateien habe ich einfach ins Projekt kopiert. Hier der Code:
Quellcode Receiver.ino (GitHub GistLink-Status: OK)
// Nano Remote Receiver
// This programm receives a char array with maximum size 20
// www.fambach.net
//
// Libs:
// https://github.com/tmrh20/RF24/
//
// GPL2
/***********************************************************/
// radio
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#define PIN_CE 10
#define PIN_CSN 9
RF24 radio(PIN_CE, PIN_CSN);
byte addresses[][6] = {"007", "001"};
#define SIZE 20
char buf[SIZE];
/***********************************************************/
void setup() {
Serial.begin(9600);
delay(4000);
Serial.println("SPI settings");
SPI.begin();
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_2XCLOCK_MASK);
Serial.println("init rf");
radio.begin(); // initialize RF24
radio.setRetries(0, 15); // set retries times
radio.setPALevel(RF24_PA_LOW); // set power
radio.openWritingPipe(addresses[0]);
radio.openReadingPipe(1, addresses[1]);
radio.startListening(); // start monitoring
}
void loop()
{
// receive data ;)
receiveData();
}
void receiveData() {
if ( radio.available()) { // if receive the data
// Read the data payload until we've received everything
bool done = false;
while (radio.available())
{
// Fetch the data payload
radio.read( buf, sizeof(buf));
// for(int i = 0; i < 20; i ++){
// Serial.print((char)buf[i]);
// }
Serial.println(buf);
}
}
else
{
// Serial.println("No radio available"); //only for test purpose
}
}
Quellcode Sender.ino (GitHub GistLink-Status: OK)
// Nano Remote Transmiter
// This programm sends Hello World! x (x is an index from 0 to 9)
// www.fambach.net
//
// Libs:
// https://github.com/tmrh20/RF24/
//
// GPL2
/***********************************************************/
// RF
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#define PIN_CE 10
#define PIN_CSN 9
RF24 radio(PIN_CE, PIN_CSN); // define the object to control NRF24L01
byte addresses[][6] = {"007", "001"};
int mode = 1;
#define SIZE 20
char buf[SIZE];
void setup() {
Serial.begin(9600);
/***********************************************************************/
// init radio
radio.begin(); // initialize RF24
radio.setRetries(0, 15); // set retries times
radio.setPALevel(RF24_PA_LOW); // set power
radio.openWritingPipe(addresses[1]); // open delivery channel
radio.openReadingPipe(1, addresses[0]);
radio.stopListening();
}
int i = 0;
void loop() {
String s;
s.reserve(20);
s = "Hello World! ";
s += i;
s.toCharArray(buf, SIZE);
Serial.println(s);
radio.write(buf,sizeof(buf));
i++;
if (i > 9) i = 0;
delay(1000);
}
Link zum Github Verzeichnis:
https://github.com/sfambach/arduino/tree/master/variants/NanoRF/RFTestLink-Status: Kaputt

Fernbedienungs Test
Ich habe bereits ein paar Tests mit NRF Chips gemacht. Unter anderem habe ich eine SunFounder Fernbedienung in Betrieb genommen. Diese verwende ich in diesem Sketch als Basis. Die Software ist gleich zu der im gelinkten Projekt, jedoch habe ich für den Empfänger (der auf dem Nano RF ist) den CS auf Pin 10 und den CSN auf Pin 9 eingestellt.
Von Github kann der aktuelle Quellcode geladen werden:
https://github.com/sfambach/arduino/tree/master/variants/NanoRF/SFRemoteTestLink-Status: Unbekannt
Den Receiver wie oben beschrieben auf den Nano RF spielen. Den Transmitter, so wie er ist, auf die Fernbedienung spielen.

Probleme
Erste Kommunikation mit RF24 schlug fehl
Der CE und der CSN Pin sind im Gegensatz zu meinen anderen Projekten vertauscht. CE ist auf Pin 10 und CSN ist auf Pin 9.
ACHTUNG Siegfried berichtet (siehe unten in den Kommentaren), dass er einen Nano mit richtiger Pinbelegung bekommen hat also CSN auf 10 und CE auf 9!
Nano wird von Windows nicht erkannt
Evtl. mal einen CH340 Usb Treiber installieren.
https://github.com/emakefun/emakefun-nano-plus/tree/master/RF-Nano/CH340_DriverLink-Status: Unbekannt
Nahe stehende Empfänger verbinden sich nicht
Rachid beschreibt (siehe unten in den Kommentaren), dass er Probleme bei nahe beieinander stehenden Sender und Empfängern hat und die Initialisierung schiefläuft. Bei ihm hat geholfen, die Power hochzusetzen. Bei den diskreten nRF Modulen kann dies zu Problemen mit der Spannungsversorgung führen.
radio.setPALevel(RF24_PA_LOW); // set power
// tauschen durch
radio.setPALevel(RF24_PA_MAX);
Kanal setzen
Jens beschreibt (siehe unten in den Kommentaren), dass es von Vorteil sein kann, den Kanal manuell zu setzen. Dieser wird in der begin Methode der RF lib zwar auf 76 gesetzt, zur Fehlerbehebung kann dies jedoch eine Lösung sein, diesen in Sender/Empfänger gemeinsam auf einen anderen Wert zu setzen.
void setup(){
...
radio.setPALevel(RF24_PA_LOW);
radio.setChannel(99); // Kanal setzen
...
}
Fazit
Ich bin begeistert, ein Nano mit einem RF Chip, alles, was man benötigt, um ferngesteuerte Bots zu bauen. Hier kann man sich das Verdrahten sparen. Über die Stabilität und das Verhalten im Einsatz kann ich noch nichts berichten. Der erste Test war hierfür zu simpel.
Verwandte Beiträge
- Funduino JOYSTICK V1.ALink-Status: OK
- NRF RC AutoLink-Status: OK
- Sunfounder nRF24 FernbedienungLink-Status: OK
Quellen
https://github.com/emakefun/emakefun-nano-plusLink-Status: OK
https://github.com/tmrh20/RF24/Link-Status: OK
https://github.com/emakefun/emakefun-nano-plus/tree/master/RF-Nano/CH340_DriverLink-Status: Unbekannt
https://github.com/nulllaborg/lgt-rf-nanoLink-Status: Unbekannt
| Datum | Änderung | Autor |
|---|---|---|
| 10.10.2026 | Gist-Einbettung durch Code-Block ersetzt (Gist als Quelle verlinkt) | sfambach |
| 04.10.2026 | Rechtschreibung korrigiert: Tippfehler, Kommas, Grammatik | sfambach |
| 03.10.2026 | Log-Liste eingefügt | sfambach |
| 06.08.2019 | Beitrag erstellt | sfambach |
Ich habe zwei RF-Nano Clones V1229 von aliexpress (angebliche V3.0). Man erkennt V1x an der fehlenden Antennenbuchse.
Sie funktionieren mit RF24 SendRadio(10,9) mit den Beispielskripten von der Seite des Hersteller-Github-Repos https://github.com/emakefun/rf-nano. Die eingestellte Sendeleistung ist nebensächlich, zumindest solange die Nanos nebeneinander liegen.
Danke für deinen Beitrag
Hallo Stefan,
ich habe heute einen RF Nano aus China erhalten (V3.0) und dabei festgestellt, dass er nur arbeitet, wenn ich CE auf D9 und CSN auf D10 im Programm vorgebe. Mit der in verschiedenen Datenblättern und bei Dir genannten Variante kommt keine Übertragung zustande.
Gruß Siegfried
HI Stefan,
danke für die Infos. Ich denke, dass bei dem Beispiel mit der RF-Bibliothek noch der Kanal gesetzt werden soltle, bspw. nach der Sendestärke:
…
radio.setPALevel(RF24_PA_LOW); // set power
radio.setChannel(99); // NEU
,,,
Viele Grüße,
Jens
Hallo Jens,
danke für deinen Vorschlag. Der Kanal wird in der begin Methode der RF Biliothek auf 76 gesetzt. Ich habe es dennoch ausdokumentiert mit in den Code aufgenommen um evtl. Probleme zu beheben.
Gruß aus Hessen
Stefan
Hallo Stefan,
habe mich gefreut, dass du gleich geantwortet hast. Ich hatte Probleme, wahrscheinlich weil ich Sender und Empfänger unabhängig genutzt habe. Allerdings hatte ich auch die RF24-Library über den Arduino-Bibliotheksmanager eingebunden.
Viele Grüße,
Jens
Guten Tag,
ich habe eigentlich alles verfolgt wie beschrieben. CE und CSN Pins sind auch korrekt. Verdrahtung ist soweit auch sauber. Leider steht meine Ausgabe immer bei „SPI settings
init rf“ und das wars. Wo könnte mein Problem liegen?
Vielen Dank.
Hallo Rachid, ich kenne deinen genauen Testaufbau leider nicht. Zum Beispiel was deine Gegenstelle ist. Aber die RF Module, gerade die neueren, sind sehr kritisch was die Versorgungsspannung an geht. Wenn das eine Option ist, mal den Nano mit einer externen Spannungsquelle verbinden.
Auch kann man mit den Einstellungen spielen. Evtl nochmal pin cs und csn Pin rücktauschen.
Gruß
Stefan
Hallo Stefan,
vielen Dank für die schnelle Antwort.
Ich habe jetzt PA_LOW mit PA_MAX getauscht und dann hats funktioniert. Manchmal zu langsam und manchmal genau. Aber ich denke nur weil Empfänger und Sender zu nah stehen.
Vielen Dank.
VG,
Rachid
Hi Rachid,
danke für deine Lösung. Es wundert mich, dass mehr Power und bei kurzen Strecken was ändert, werde es mit in die Problembehandlung mit aufnehmen.
Gruß aus Hessen
Stefan