Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 64 commits ahead, 193 commits behind gnulnulf:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Arduino & Raspberry Pi driver for nRF24L01(+) 2.4GHz Wireless Transceiver

*** I no longer maintain this fork, pls use the latest fork from TMRh20

Design Goals:

  • Maximally compliant with the intended operation of the chip

  • Easy for beginners to use

  • Consumed with a public interface that's similiar to other Arduino standard libraries

  • Built against the standard SPI library.

  • Support popular platform

  • Modifications to the RF24 library in this fork is backward compatible. A single enhancement which may cause issue, is code which relies on the driver to power down the radio, as a side effect. The radio is no longer powered down after each transmit. Rather, the application must take responsibility for power management. Normally this is achieved by use of powerDown and powerUp. If you wish to maximize power efficiency, you must call powerDown after transmit (write, startWrite).

Please refer to links :

Optimized High Speed Arduino driver for nRF24L01 2.4GHz Wireless Transceiver

Design Goals: This library is designed to be...

  • More compliant with the manufacturer specified operation of the chip, while allowing advanced users
  • to work outside the reccommended operation.
  • Utilize the capabilities of the radio to their full potential via Arduino
  • More reliable and feature rich
  • Easy for beginners to use, with well documented examples and features
  • Consumed with a public interface that's similiar to other Arduino standard libraries
  • Built against the standard SPI library.

April 2014: Official Release: Still some work to do, but most benefits have been realized


  • The library has been tweaked to allow full use of the FIFO buffers for maximum transfer speeds
  • Changes to read() and available () functionality have increased reliability and response
  • Extended timeout periods have been added to aid in noisy or otherwise unreliable environments
  • Delays have been removed where possible to ensure maximum efficiency
  • Full Due support with extended SPI functions
  • ATTiny 24/44/84 25/45/85 now supported.
  • More! See the links below and class documentation for more info.

Please refer to:

This chip uses the SPI bus, plus two chip control pins. Remember that pin 10 must still remain an output, or
the SPI hardware will go into 'slave' mode.

Supported Boards:

  • Uno, Nano, etc (328 based boards)
  • Mega Types (2560, 1280, etc)
  • ARM (Arduino Due) via extended SPI methods
  • ATTiny 24/44/84 25/45/85
  • Raspberry Pi
  • See the documentation for more info


Arduino and Raspberry Pi driver/libraries for nRF24L01






No releases published


No packages published


  • C++ 55.4%
  • C 35.9%
  • CSS 3.6%
  • Processing 3.0%
  • Makefile 1.0%
  • XSLT 0.6%
  • Other 0.5%