Getting started with nrf24: Introduction


So anybody who’s been following my blog for the last few weeks will have noticed I’ve been fighting with the nrf24 series of chips, trying to get a wireless protocol in place I can use for program & debug capabilities.  Unfortunately, finding any kind of coherent and properly documented example code, or tutorials that make sense, has been rather hard.  I’ve found a few that at least got me partially started, in particular diyembedded‘s tutorials even though they’re based on the PIC and ARM.  However, the many and varied code examples all seem to say slightly different things, generally in less than straightforward ways.  Thus, I’m going to attempt to write my own tutorial series, as I bootstrap my way up through the available functionality.  It’s going to be very code-based, yet hopefully in a form that’s not too confusing.  This will also provide me with the opportunity to solidify my own understanding of the chip(s).

To start things off, the nrf24 series of chips from Nordic Semiconductor have gained a lot of popularity both in product and DIY circles because of their (relative) simplicity and low cost.  The radios themselves operate in the 2.4GHz band, and have a maximum air bitrate of 2Mbps in a 2MHz channel.  They use a GFSK encoding with a -82dBm sensitivity at 2Mbps, giving them a range in the 10’s of meters on average.  There are relatively few external components required, though I’ve had some problems there myself…

The tutorial sections themselves are [will be]:

  1. Hardware connection
  2. Physical layer communication
  3. Trivial transmission
  4. …[TBD]

The sections will be linked here as they are written, and this will eventually be the root document for the tutorial.



  1. Hi, I wonder if you can help me.
    I’ve got Microsoft Sidewinder X8 mouse and a receiver for it. Unfortunately that x8 receiver was paired to some other mouse and they don’t see each other. Pairing is done statically during the assembly, afaiu.

    Receiver is based on nRF24LU1, is there a way to change channel or in force mouse and usb dongle to pair? I don’t have a programmer for it, but Nordic mentioned it’s upgradeable over usb.


  2. hi there, I’ve found your blog looking for a solution on how to connect two/three NRF24L01+ (one which send data from my sensor and the other listening and sending the data by serial to my laptop). Are you planning to continue with the tutorial?I’m new on the topic and up to now it was very useful! In any case if you know another blog with these info I’d appreciate if you can share the links. Thanks for your time

    • I ended up dropping the NRF24 stuff a while ago, so probably won’t be of any more help. I might be using them in the future but it’d probably be a single-transmitter, single-receiver configuration…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: