Note: OpenRF™ is now used in the amazing new WhiskerRF™ Wireless IoT Technology Platform. With up to 10 miles of range using only two AAA batteries, the new WhiskerRF modules are truly miraculous. Check them out
OpenRF™ is a micro agnostic, RFIC agnostic wireless protocol stack for embedded applications. It comprises three layers including OpenRF MAC, RadioAPI, and MicroAPI.
The MAC layer provides a basic MAC protocol for sending and receiving packets. All OpenRF™ nodes are accessed via a unique 32-bit MAC address that is set at the factory. Three packet types are supported: Unicast with Ack, Unicast without
Ack, and Multicast.
The RadioAPI in its simplest form provides functions for initialization if the RFIC and sending and receiving packets and for configuring the radio. The API is unified, making it easy to add new RFICs to the OpenRF™ platform without having to
change the MAC layer code or MicroAPI code.
The MicroAPI in its simplest form provides a 1mSec tick and functions for sending and receiving to and from the RFIC using the SPI port. Additionally, the MicroAPI provides micro specific functions for reading A/D channels, sending and receiving bytes
via a UART, and so on. Utilities libraries are also provided for AT command parsing and execution, low memory footprint SPRINTF, and Dataflash.
The entire protocol API is documented via Doxygen and the most current documentation can be found at
The protocol stack encompasses the PHY, and MAC layers of the OSI 7-Layer model. It supports point to point, point to multipoint, and multipoint to multipoint networking.
The original research behind this project was conducted under the OpenRF™ name as a commercial project in 2007 using the Renesas H8 micro and XE1203 RFIC from Semtech. While this new project is based on the original research, the code in this project
is 100% original and available for license under the MIT open source license.
Currently, OpenRF™ includes API libraries for the SX1272 RFIC from Semtech (LoRa™) and the the RL78 G13 microcontroller from Renesas. The library is currently being used in commercial and open source projects and is considered to be relatively
stable. There are some features that are not yet working or enabled: see the documentation for details.
Future plans for OpenRF™ include support for additional micros and RFICs including:
- Atmel AVR (Arduino)
- RL78 G12
- SiLabs 8051
- Cortex M0
- SX1232 (Semtech) - Low power successor to SX1231
- SX1211/1212 - Very low RX current transceiver (3mA)
OpenRF™ is released under the
MIT open source license. It is free to use by anyone for anything with one exception.
Digital Six Labs invest time and money providing this free, open source code. Please support Digital Six Laboratories by purchasing RF modules, and IoT gateways and sensors from Digital Six Labs.
Digital Six Labs will be happy to support any project using OpenRF so long as the project meets the licensing requirements.
Special Note about HopeRF:
HopeRF is a Chinese module manufacturer that offers low cost modules based on a number of various manufacturer's products. Their datasheets are typically fully of errors and their technical support is non-existent. The modules require external filtering
to be compliant with FCC regulations in the US. Furthermore, we have found the modules to have quality issues. For these reasons, Digital Six Laboratories and the OpenRF™ project are no longer affiliated with HopeRF in any way.
Digital Six Laboratories offers a drop-in replacement for the HopeRF LoRa modules which can be purchased on our website. Our drop in replacement modules include integrated filtering that ensure you will have an easy time achieving compliance.
For professional projects that require competent, in country technical support, we recommend that you either use one of our modules or use our open-source hardware reference designs in your project. If you do, Digital Six Labs will be happy to support
your project because we know that the quality and documentation are both exceptional. We want you to be successful.