One radio library to rule them all! Universal wireless communication library for embedded devices: rtty, sstv, ax25, aprs, 4fsk
 
 
 
Go to file
jgromes 5a2928987d Travis added missing STM32 variant 2019-09-10 19:07:10 +02:00
.github/ISSUE_TEMPLATE Update issue templates 2019-05-25 16:42:43 +02:00
examples [Morse] Added note about non-LoRa module usage 2019-07-29 13:06:08 +02:00
extras
src STM32 - use HardwareSerial instead of SoftwareSerial 2019-09-10 17:40:49 +02:00
.gitignore
.travis.yml Travis added missing STM32 variant 2019-09-10 19:07:10 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2019-07-12 11:42:00 +02:00
Doxyfile Added DoxyGen 2019-05-24 15:13:04 +02:00
README.md Updated readme 2019-09-09 09:18:49 +02:00
keywords.txt [SX126x] Added method to get expected time-on-air 2019-07-26 09:43:24 +02:00
library.properties Advanced version to 1.4.0 2019-09-09 10:51:34 +02:00
license.txt

README.md

RadioLib Build Status

One radio library to rule them all!

Universal wireless communication library for Arduino

See the Wiki for further information. See the GitHub Pages for detailed and up-to-date API reference.

RadioLib allows its users to integrate all sorts of different wireless communication modules into a single consistent system. Want to add a Bluetooth interface to your ZigBee network? Sure thing! Need to connect LoRa network to the Internet with a GSM module? RadioLib has got your back!

RadioLib was originally created as a driver for RadioShield, but it can be used to control as many different wireless modules as you like - or at least as many as your Arduino can handle!

Supported modules:

  • CC1101 FSK radio module
  • ESP8266 WiFi module
  • HC05 Bluetooth module
  • JDY08 BLE module
  • nRF24L01 2.4 GHz module
  • RF69 FSK/OOK radio module
  • RFM9x series LoRa modules (RFM95, RM96, RFM97, RFM98)
  • SX127x series LoRa modules (SX1272, SX1273, SX1276, SX1277, SX1278, SX1279)
  • SX126x series LoRa modules (SX1261, SX1262, SX1268)
  • SX1231 FSK/OOK radio module
  • XBee modules (S2B)

Supported protocols:

  • MQTT for modules: ESP8266
  • HTTP for modules: ESP8266
  • RTTY for modules: SX127x, RFM9x, SX126x, RF69, SX1231, CC1101 and nRF24L01
  • Morse Code for modules: SX127x, RFM9x, SX126x, RF69, SX1231, CC1101 and nRF24L01

Supported platforms:

  • Arduino AVR boards - tested on Uno, Mega and Leonardo
  • ESP8266 boards - NodeMCU, Wemos D1, etc.
  • ESP32 boards - tested on ESP-WROOM-32

In development:

  • SIM800C GSM module
  • LoRaWAN protocol for SX127x, RFM9x and SX126x modules
  • and more!

Frequently Asked Questions

Where should I start?

First of all, take a look at the examples and the Wiki - especially the Basics page. There's a lot of useful information over there. Also, you should check out RadioShield - open source Arduino shield that will allow you to easily connect any two wireless modules supported by RadioLib!

RadioLib doesn't support my module! What should I do?

Start by creating new issue (if it doesn't exist yet). If you have some experience with Arduino and C/C++ in general, you can try to add the support yourself! Use the template files in /extras/ folder to get started. This is by far the fastest way to implement new modules into RadioLib, since I can't be working on everything all the time. If you don't trust your programming skills enough to have a go at it yourself, don't worry. I will try to implement all requested modules, but it will take me a while.