JulianHartline.com Rotating Header Image

December, 2013:

Tinkering Update: nRF24L01+ Library for Microchip’s PIC microcontroller

It’s been awhile since I’ve posted anything, but I’ve been anything but boring the past few months. After hacking out the Hot Tub Remote project, I moved on to tinkering around with a PIC18F25K80. This PIC is a a very reasonable middle of the road processor. At 16Mips and 32K of program memory it has enough power for fairly ambitious projects.

Eric and I spent a decent amount of time and a few iterations to streamline the interaction between this PIC and the nRF24L01+. The nRF24L01 is a cheap and easy little wireless module that communicates in the 2.4GHZ frequency range. After breadboarding out a communicating pair of nRFs and spending a few weeks cleaning up, streamlining, and fine tuning our communication library, we started designing a PCB to make working with this module easier.

Eric did most of the work on this board and here is what the final board looked like. We shipped this board off to our Seeed Studio to be printed and received the boards and parts in the mail a few weeks later.


For this board, we carefully avoided any surface mount soldering (with the exception of the mini USB solder pads) in order to make populating the boards easier. The headers are optional and can be populated on a per-board basis depending on our needs. We ended up building out a total of 5 or so of these boards. Here is the populated board.


This board helped tremendously as far as getting the kinks worked out of our nRF code due to the increased stability afforded to us by soldered connections. A good number of the flakey behaviors from the breadboarded solution disappeared when we moved to the PCB.

The library that we ended up developing is available on Github: nRF_PIC18F25k80

In my next post, I’ll continue filling in the missing pieces from the last few months including a few more circuit boards that Eric and I designed and had printed.