In this illustration we will going to wire the Arduino Board to build a remote switching using the NORDIC NRF24l01 2.4GHz Transceiver. The NRF24l01 will act as a remote controller to other NRF24L01. Both the master and the slave will drive by the Arduino boards along with and the NORDIC NRF24l01 RF Module. The host/master controller will send a signal command to the slave device and the slave device will execute the code and send back the response if the command is HIGH or LOW.

As you can see the illustration below we use the bi-directional logic level converter as our power supply to provide 3.3v to the NRF4L01 Radio module.

Required Components:

2x Arduino UNO/MEGA/NANO/PRO
2x NRF24L01 2.4GHz Transceiver Module (3.3v)
2x Solder Less Bread Board
2x 220 uF capacitor
1x Logic Level Converter
2x LED
2x 220k Resistor
Jumper Wire / DuPont Wire

Optional Component: Relay Module
(If you want to drive higher voltage such as light or appliances that runs on higher load)

Wiring Diagram for Transmitter

NRF24l01-Remote-Switching-Arduino-Board-Relay-Transmitter

Wiring Diagram for Receiver

NRF24l01-Remote-Switching-Arduino-Board-Relay-Receiver

Arduino Sketch Code for the TX

Arduino Sketch Code for the RX

Download NRF24 Code Library Here | Zip
Download NRF24L01 Code Library Here | Zip

Wiring the NRF24L01 2.4GHz Radio as Remote Switching
Facebooktwitterredditpinterestmail
Tagged on:     

JLCPCBPCBgogoPCBway4pcb

6 thoughts on “Wiring the NRF24L01 2.4GHz Radio as Remote Switching

  • at
    Permalink

    Is there a way to make this with multiple inputs and multiple outputs? Forgive me I am a beginner at this

    Reply
    • at
      Permalink

      Multiple I/O at the board? No, The NRF24l01 it is a communication device that works on 2.4Ghz, please refer to the documentations from the official Nordic Semiconductor,
      but you can setup a multiple IO driven by the MCU from the MCU itself you can trigger any I/O which is transmitted from the NRF24l01 TX Role. Regards…

      Reply
      • at
        Permalink

        My Apologies, perhaps I was unclear. My goal would to be to have this exact setup but with maybe 3 push buttons on the transmitter and 3 leds on the receiver, and be able to use them all at the same time (being able to push 2 buttons at once and having 2 leds on at once, or 1 and 1, 3 and 3 etc.)

        Reply
      • at
        Permalink

        I just tried using the example and it had the weird effect that basically any pin on the TX could be driven high and send a signal over to the RX, I fixed this by setting the input pin high in the setup and having it check for the pin to be low for a transmission to start, this fixed the problem with that, But I would still like to be able to figure out how to have multiple buttons control multiple leds at the same time on the RX

        Reply
        • at
          Permalink

          pato amigo como vas,estoy tratando de hacer funcionar esto compadre,pero me sale un error en el sketh del receptor exactamente aqui
          void loop(void){
          if (radio.available()){
          bool done = false;
          while (!done){
          radio.read(msg, 1);
          Serial.println(msg[0]);
          if (msg[1] == 111){delay(10);digitalWrite(Indicator, HIGH);}
          else {digitalWrite(Indicator, LOW);}
          delay(100);}}
          else{Serial.println(“Error: No Radio Transmission”);}}

          mira que la linea radio.read yo le quite el done=
          y se quita el error pero me sale una lista de 0 en el monitor serial y 255 y asi sucesivamente,no se si lograstes solucionarlo estoy tambien empesando si puedes me escribes a mi correo aver si me echas una mano..
          [email protected]
          soy luiscarlos

          Reply
  • at
    Permalink

    Can someone extend the code for 6 buttons and 6 leds because i dont know how to do it i just started with the programming ..

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *