nRF24LU1+ Project 

Hardware

Software

Details

This project was meant to be a stepping stone to another project using some of Nordic's 2.4 GHz transceivers. The nRF24LU1+ seemed like a really easy way to get started, since it's an 8-bit micro with USB 2.0 and RF built-in, and it comes pre-programmed with a USB bootloader. Nordic provides an SDK with example code, which I made heavy use of for this project. Communication with the nRF24LU1+ on the PC is done using libusb. I bought a Nordic Key Fob from Sparkfun to help test everything, and the final result is a key fob that can do play/pause, next/previous track, and volume up/down.

The code for the microcontroller is heavily based on the Nordic Semiconductor nRFgo SDK, especially the USB code. The RF code is based on code from DIYembedded and Sparkfun. SDCC was used to compile everything. The code uses the receive function of the 2.4 GHz transceiver and the USB 2.0 transceiver to listen for packets from the Nordic Key Fob and send them to the PC. The source code is available under the BSD 2-Clause license. See the "Software" links above for a download link.

The code for the PC to interface with the board is written as a console application that uses libusb to get data from the nRF24LU1+. Code is provided that shows how to use both polling and asynchronous requests to interface with a nRF24LU1+. The source code is available under the BSD 2-Clause license. See the "Software" links above for a download link.

You must use your own USB VID/PID combination in the PC software and microcontroller software, and generate your own libusb drivers. You can get VID/PID combinations from Lakeview Research.

Change log

2011-06-26

  • Initial release