Networking and Communication: RF24

Week 13 | How to Make (Almost) Anything | MIT Media Lab | Fall 2016

My goal for this week was to using RF24L01+ Modules so the sensor & stepper board can talk to the heat board wirelessly.



Started from figuring out how many pins I needed for both boards and I used 2x4 header for the RF module as well as the ISP pins. Then I created the board in Eagle based on the fabduino layout and component, with an extra 5V regulator for the entire board.


And then I run into lots of errors when programming my boards and spent many late night hours debugging both boards and figured that I've made a few very basic mistakes. So time for fixing and I also decided to get rid of some of the analogue pins on the stepper board (trying to have all the electronics small as possible). And I also carefully lined up the edge of the board with the stepper breakout board I made in the output week.




After both boards got burnt bootloader, I ran the getting started example code of the RF24 library and had been through some problems including sending failure all the time; mostly working but randomly sending failure occurs, etc.. I tried with new modules and then finally got them to work with the GettingStarted code.



I tried testing with my sensor panel sending to the other board that ran the stepper- nothing worked out. So I returned to earlier steps testing with exactly same setup as Dan Chen's tutorial. Unfortunately I couldn't get the wind sensor to control the servo at all.



I was at that point suspecting lots of things that could go wrong, so I decided to test the same thing with two UNO boards as a step understanding the problem. Everything worked as expected on UNO. The sensor was not calibrated, but at least the sender and receiver are communicating with the same data.



Then I used the same code and switched back to my boards, the servo was not working again.


However, when the servo was detached, they worked fine again. I checked some other tutorials and some people mentioned the power problem and saying that it could be solved by adding a capacitor. I couldn't find a large capacitor as lots of people suggested on the internet, so I ended up trying a 22uF- was not helping and not sure why.

I thought there might be a chance it works with other output devices other than servos so I paused on solving that problem and started to working on the actual communication I needed for my project. After I uploaded the code to the stepper board, everything seemed not working again- not even as far as it worked earlier.

That was one of the most frustrated moments of the week and that made me decided to purchase the Base Module for nRF24L01- will figure out whether that helps or not soon.



Thank you for reading!