OpenRF™ Embedded Wireless Protocol

Introduction

OpenRF™ is a versatile, open source protocol framework for embedded applications.  It is designed in such as a way as to work with micro controllers ranging from Microchip's PIC16 series and SiLabs 8051 to the new Renesas RX62N and RL78 series.

A very simple microcontroller abstraction layer allows the protocol framework to be easily ported to additional processors with very little work.  In its simplest form, the MicroAPI layer only needs to provide a 1mSec signal and interface for reading and writing to the RFIC via the SPI bus.

Likewise, the radio abstraction layer allows the framework to be ported to virtually any RFIC.  The main API is comprised of initialization, packet sending, and packet receiving functions in its simplest form. The complete API includes functions for reading RSSI value, temperature, entering sleep and standby mode, setting the current channel, setting transmit power, and so on. The RadioAPI supports FHSS and DTS (for those RFIC that support it).

The OpenRF™ MAC layer supports point to point, point to multipoint (star), and multipoint to multipoint networking.  Supported packet types include Unicast with Ack, Unicast without Ack, and Multicast.  All networking addressing is accomplished using unique 32-bit MAC addresses.

Because OpenRF™ is an agnostic protocol platform, we have designed it to be easy to port to other microcontrollers and RFICs.  Our primary development focus is on the LoRa/RL78 combination, but we would support other developers pursuing ports of the protocol platform to other microcontrollers and RFICs including:  Microchip PIC16/PIC18/PIC32, SiLabs 8051 series, Atmel AVR, Renesas RL78, and Renesas RX62N.  Our target RFIC are Semtech's SX1231H, SX1232, SX1211/1212, etc.

Full Doxygen generated API documentation is located in the Documentation directory in the source tree.  It can be viewed online at www.d6labs.com/openrfapi/index.html

 

Schematics for the Whisker module can be found under the documentation directory.

This project was initiated by Digital Six Laboratories LLC and the code is provided free of charge under the MIT license for anyone to use in any legal application that they might have.  If you are interested in contributing to the project, please get in contact with Steve Montgomery

Last edited Dec 17, 2014 at 11:27 PM by stevetherfguy, version 5