Thursday, February 05, 2015

Chatting up Arduino with the Raspberry Pi using NRF24L01+

After hours of frustration, I have communication!

I spent a total of approximately 3 hours trying to get an Arduino Uno to communicate with the Raspberry Pi using the NRF24L01+ 2.4Ghz radio chip. It was a nightmare. For the longest time I was able to get messages sent from Arduino to Raspberry Pi but nothing was receiving on the Arduino side. I tried everything - swapped Uno boards, swapped NRF24L01+ chips, randomly swapped MISO and MOSI pins, adding capacitors for the 3.3V power supply. In the end I decided to switch out the Uno board and used a Nano board instead. Worked right after plugging everything in. It seems the Uno board female header pins are made of really poor quality and the dupont jumper cables cannot form good contacts.

So tonight, I decided to solder up one of my Arduino Mini Pro boards to try the NRF24L01+ with them. These boards are great, they're basically the same thing as the Uno boards but in super tiny form factor stripping away the FTDI serial chip and the GPIO pins (so that you can solder wires directly without a set of protruding GPIO pins)

Anyway, it's getting late now, I will leave the detailed documentation later in another post. In the mean time, here are some photos.

Arduino Mini Pro (a.k.a "Minions") connected to NRF24L01+ radio, I'm pulling the 3.3V from a power supply with a voltage regulator

The NRF24L01+ chip

Raspberry Pi ("Gru") with an extension GPIO also connected to a NRF24L01+. Gru is connected to my wireless router through an ethernet port to interface with the WAN

No comments :

Post a Comment