5a2928987d | ||
---|---|---|
.github/ISSUE_TEMPLATE | ||
examples | ||
extras | ||
src | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
Doxyfile | ||
README.md | ||
keywords.txt | ||
library.properties | ||
license.txt |
README.md
RadioLib
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.