Arduino UNO NRF24L01+ Shield

Introduction: Arduino UNO NRF24L01+ Shield

I recently received my first couple of nRF24L01+ modules. But soon, I realised that the Arduino UNO onboard 3.3V regulator was not capable of driving the nRF24 modules at full power.

I ended up with lots of wiring between the Arduino UNO, breadboard with 3.3V regulator, and nRF24 module. Thus I decided to build a set of shields to make it easier for me testing these modules.

Step 1: The Shield Design

Nothing too complicated. It is a standard shield layout, with an on-board LM2937 3.3V regulator for the nRF24 module. The nRF24 module plugs into a set of header connectors.

Additional items are not essential, but include the following:

- Power LED

- Reset button

- Jumper to select INT0 or INT1 if the mudule's interrupts will be used

- LED for "BIND" status

- 2 Extra LEDs

- 2 Extra push buttons

Step 2: The PC Board

I used the free version of Eagle to create the PC Board. To keep the design simple, I opted for a single layer design. However, there are 5 jumpers that needs to be soldered on the top side.

Extra holes are provided for extra headers if required.

Step 3: Testing the Shields

To test the nRF24, two modules are required. Thus I ended op making two shields.

I created two sketches, one for Transmitter, and one for receiver. It is a simple one-way communication link.

When both units are powered up, the red LED on both shields will be on, indicating data is sent correctly, and received by the receiver.When a button on the transmitter is pressed, the corresponding LED on the receiver will turn on.

The link can be tested by pressing the RESET button on either the transmitter or receiver for a while. The "BIND" LED on the other unit will turn off, indicating loss of the communication link.

Step 4: NRF24 Remote Control for Electric Wheelchair

My first nRF24 project. a Remote control for my friend's electric wheelchair. This will enable him to use his wheelchair normally to reach his car. Once in his car, he can use the remote control to move the wheelchair into the garage, and out of the sun and rain.

The transmitter uses a PS2/3 joystick, and transmit the data to the chair's receiver. The receiver takes this data, and convert it into standard R/C Servo signals (PPM) which is then fed into the wheelchair controller.

Both Tx an Rx uses a ATMega328P.

For this project, I made the following changes to the standard nRF24 setup to increase the range of the link:

- Set output power to maximum

- Set data buffer to only 7 bytes

- Set baud rate to lowest setting

Be the First to Share

    Recommendations

    • For the Home Contest

      For the Home Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Make It Bridge

      Make It Bridge

    11 Comments

    0
    GamalielC
    GamalielC

    6 years ago

    Excellent!

    0
    Eric Brouwer
    Eric Brouwer

    Reply 6 years ago

    Thank you

    0
    Eric Brouwer
    Eric Brouwer

    Reply 6 years ago

    Hope you get it up and running

    0
    kroome
    kroome

    6 years ago

    WOW!!! very nice innovation....

    0
    dick55
    dick55

    6 years ago

    Nice Instructable and application. I'm sure your friend appreciates his "robot."

    It is interesting that the existing wheelchair controller had an interface that worked with servo-type commands.

    0
    Eric Brouwer
    Eric Brouwer

    Reply 6 years ago

    Thank you very much.
    The wheelchair had a Shark controller, but was struck by lightning while on charge.
    Due to the high replacement cost, I build a new controller using a ATMEGA328p, PS3 joysticks, and a 60A dual speed controller. The remote function was added as he had a specific problem to store the chair.

    0
    KNEXnCoding
    KNEXnCoding

    6 years ago

    Very cool! The shield design is so neat and tidy!

    0
    Eric Brouwer
    Eric Brouwer

    Reply 6 years ago

    Thank you very much.