Arduino and the nRF24L01+ RF Transceiver

Check out the nRF24L01+ on Arduino

After searching for a reliable RF transceiver that will work with Arduino and is not the XBee I think that I have finally found something that works well. The nRF24L01+ is a popular RF transceiver produced by Nordic. There is a breakout board available at SparkFun which gives access to the pins and provides all of the ancillary support circuitry to get the chip working. I won’t go into the details of the chip here, because they are pretty available elsewhere, but I will give an outline of how you can get one of these chips working with your Arduino. This will allow you to send digitized data from one micro controller to another wirelessly, and provides significant opportunity for tailoring the hardware and software to your particular application. The XBees are also great transcievers, but they are pricy and have too much horsepower for sending simple data wirelessly from one point to another. Plus, the nRF24L01+’s allow for some code reduction and streamlining, hacking and a better understanding of what is going on under the hood of the RF chip. However, if you are a fan of the XBee, that is great too.

Getting the chips working

Connect the pins

nRF24L01+ Arduino
SCK 13
CSN 10
VCC 5V rail (may depend on breakout board model

Get the code

You can get the nRF24L01 library files from my github account. The examples included implement an Arduino controlled master/slave radio pair in which when the master radio sends a “1” to the slave, the slave replies with a number starting with 1 and incrementing with each reply. It is very basic and does not use much of the more advanced features of the nRF24L01, but it is enough to get started and is compact and simple enough to easily expand upon. My goal was to make something which is most easily accessable and to document it well enough for anyone needing more advanced feature implementation to expand it. This code should be easy enough to get a simple reading from an analog signal, which is mostly what I think people are interested in for these radios. Load the nRF24L01 library into your Arduino library folder as per usual. The examples should then show up in your sketchbook after you restart the Arduino IDE.

Get Serial working

For the examples to work you will need to get a serial com working on your computer. I’m going to use putty here because I’m working in windows for this project ( I find embedded hardware easier to develop in windows). Putty is a free communications platform for windows, it is officially termed an open-source terminal emulator, serial console and network file transfer application. But that seems like a bit of a mess of an explination. More to the point, it will allow you to use your USB to connect to the Arduino and send and receive text data much the same way as the terminal window in the Arduino IDE works. But this way you won’t need the Arduino IDE and Putty does a whole lot more and you should get it anyway if you are in the Windows world. At any rate, once you get Putty working, you’ll need to set it up to talk to your Arduino.
Putty setup for Arduino
Putty setup for Arduino
This is pretty simple, just take a look at the window screenshot. Here the Serial line is set to COM3, this will probably be different on your system. You’ll need to figure out which COM port your Arduino is connected to. The Arduino IDE will tell you in Tools -> Serial Port, and there are other ways. You will need to already have both Arduino’s, the master and slave, already programmed and powered on. Also, the master Arduino will need to be connected to the computer that is running Putty. The Slave Arduino can be powered any way you see fit.

Communicate data

Roasted Citrus Butternut Squash

A great way to make squash. Has a lot of umami, and tastes a bit like takeout orange sesame chicken.Goes well with Saag Gosht. If possible, juice the orange including the rind, but you will need to have a mechanical juicer capable of doing it. Otherwise juice the orange and use a microplane to zest the rind.
Roasted Citrus Butternut Squash
Roast squash with tomatoes and an orange sauce.
Write a review
  1. 1 Butternut squash, cubed to ~1/2"
  2. 1 Tbsp Ghee (or Butter)
  3. 1/2 tsp Onion Powder
  4. 1/2 tsp Garlic Powder
  5. 1 Pint grape or cherry tomatoes whole
  6. 1 Orange
  7. 1 Tbsp Butter
  8. 1 Tbsp Soy Sauce
  9. 1.5 Tbsp Apple Vinegar
  1. Set oven to 400F.
  2. Melt Ghee in microwave
  3. Toss diced squash in ghee, onion powder, garlic powder
  4. Roast squash until about half done ~15min, add tomatoes
  5. Juice the orange, including rind if possible
  6. Add orange juice, butter, soy sauce and vinegar to a saucepan and reduce slightly
  7. Pull squash from oven when it is nicely browned on the edges
  8. Add squash to sauce, toss and season to taste.
  1. If you have a mechanical juicer, juice the whole orange including the rind. It will make the dish have a much more assertive orange taste.
Steve Lammers PhD

Old Rob (Old Fashioned)

Drink Old Fashioned
Drink Old Fashioned May I present, a for real Old Fashioned. If your whiskey sucks, so will this drink. But it is a great drink for good whiskey.
  • 1 tsp water
  • 1/2 tbsp sugar
  • 2 dash bitters
  • muddle
  • 1 slice orange rind….squeezed over glass to release oil
  • 3-4 large ice cubes
  • 2 oz whiskey ……that’s my recipe….others say club and fruit and other BS but the one I use is old skool real deal man drink

Saag Gosht (Lamb with Spinach Sauce) in the Pressure Cooker

Saag Ghost_0009 I use the pressure cooker to reduce the cooking time compared to a slow cooker and to concentrate the overall flavor. Less liquid is required to cook the meat in the pressure cooker. Also, by cooking the whole leg and then shredding it you get a good consistency of lamb, spinach and sauce.


Saag Gosht (Lamb with Spinach Sauce) in the Pressure Cooker
I use the pressure cooker to reduce the cooking time compared to a slow cooker and to concentrate the overall flavor. Less liquid is required to cook the meat in the pressure cooker. Also, by cooking the whole leg and then shredding it you get a good consistency of lamb, spinach and sauce.
Write a review
  1. 2 tablespoons ghee
  2. Whole 3-3.5lb lamb leg
  3. 2 medium onions, thinly sliced
  4. 4 cloves of garlic, minced
  5. 2-3 tablespoons yellow curry powder
  6. 1 pint grape tomatoes whole
  7. ¼ cup full fat coconut milk
  8. 30 ounces frozen spinach, defrosted and squeezed dry
  9. 1½ tablespoons garam masala
  10. freshly ground black pepper
  1. Heat the Ghee in the pressure cooker and brown the leg of lamb on all sides.
  2. Remove the lamb to a trey and sweat the onions and garlic.
  3. Add the curry powder and tomatoes, cook for about one minute until the curry is fragrant
  4. Put the leg of lamb back into the pot
  5. Add coconut milk and enough red wine to come up to about 1/3 of the side of the lamb
  6. Pressure cook for 1 hour, return to room pressure using natural release method
  7. Remove lamb to cool. Boil down the remaining liquid to sauce consistancy
  8. Shred lamb and return to the pot.
  9. Add spinach and garam masala and heat through
  10. Salt and pepper to taste
Steve Lammers PhD