Universal Arduino Wireless Shield

Public Chat
Similar projects worth following
RadioShield is an open hardware Arduino shield that allows you to use any two wireless modules at the same time! Anything from ESP8266 all the way to XBee!

It started with the LoRenz shield - Arduino shield for Semtech's SX1272/78 LoRa modules. But why should a wireless shield only support modules from one manufacturer? And while we're at it, why should it support only one type of wireless communication!?

This is where RadioShield comes in: two dedicated slots for two different wireless modules, regardless of frequency, modulation or protocol. Want to add a Bluetooth interface to your ZigBee network? Sure thing! Need to connect LoRa network to the Internet with a GSM module? Go for it!

Thanks to dedicated logic level shifters, RadioShield supports any Arduino compatible board, both in 5V or 3.3V logic! The onboard LDO voltage regulator provides enough power to supply even the most demanding modules. The radio slots are compatible with XBee modules and contain SPI, UART and I2C bus with 2 extra GPIO pins! On top of that, there's RadioLib - library which provides easy to use interface, based on the successful LoRaLib.

RadioShield currently supports:

  • CC1101 FSK radio module
  • ESP8266 WiFi module with MQTT and HTTP support
  • HC-05 Bluetooth module
  • JDY08 BLE module
  • RFM69 FSK/OOK radio module
  • RFM9x series LoRa modules - including RFM96 and RF98
  • SX127x series LoRa modules - including SX1272, SX1276 and SX1278
  • SX126x series LoRa modules - including SX1261, SX1262 and SX1268
  • SX1231 FSK/OOK radio module
  • RTTY and Morse Code on FSK and LoRa modules
  • XBee modules (S2B)
  • with more in development!

As of Rev. C, all design files are available in GitHub repository

Since updates to the hardware and new breakout boards are added gradually, it is much simpler to keep all the files in one place.

  • 2.4 GHz Morse Code? Why not! - nRF24 in RadioLib

    Jan Gromeš05/31/2019 at 08:43 1 comment

    For quite a while now, there's been a bit of a backlog in the TODO list in RadioLib readme. Today, I can finally say that I have crossed one of the items off - nRF24 support is now in RadioLib!

    I noticed something interesting about RadioLib - sometimes, adding support for new modules has some unforeseen consequences. Thanks to the modular interface-based design, old protocols can work seamlessly with new radios, even if that wasn't the original intention.

    This was one of these "unforeseen consequences" - did you know it is possible to transmit Morse code using nRF24? Neither did I, and here's the SDR recording of exactly that:

    Read more »

  • LoRa Next-Gen: SX126x & Space Trip!

    Jan Gromeš05/18/2019 at 12:58 2 comments

    A while back, Semtech (the company behind LoRa) released a new line of LoRa transcievers - the SX126x series. I'm now proud to announce that SX126x support has been added to RadioLib! All the features that RadioLib/LoRaLib supports on SX127x are now available for SX126x as well, and in the same user-friendly API!

    The reason for this addition to RadioLib is twofold:

    1. Come on, it's a new LoRa module, how I could pass that. Especially since there seems to be no dedicated Arduino library for it (at the time of writing).
    2. RadioLib is going to space! That's right, RadioLib will be used to provide LoRa, GFSK and RTTY communication for FOSSASAT-1 - open source picosatellite, that will (hopefully) be launched this October! The project is crowdfunded, check it out at

    But why SX126x, and not just the good-ol'-fashioned SX127x? There is very little doubt that SX126x is superior to SX127x series (note: Semtech didn't pay me to write this; not that I would turn them down if they wanted to). The receiver sensitivity has been improved, channel activity detection can now detect the whole LoRa transmission and not just the preamble, there's a better support for temperature-compensated crystals, and the list goes on and on. Clearly, a lot of thought has went into the design of this new and improved LoRa module.

    Now, with that being said ...


    Read more »

  • New Shield, New Modules and New Name!

    Jan Gromeš02/08/2019 at 15:53 0 comments

    What's with the new name?

    Let's get the obvious change out of the way first - the project was rebranded to RadioShield! Hopefully, this makes it more clear that the purpose of both the shield and the library is radio communication. There is also an open-source smartphone project named Kite, so admittedly, the name was pretty confusing from the very beginning. 

    From now on, the hardware documentation for this project will be hosted at and the software at

    Read more »

  • Update #1 - SX127x FSK modem

    Jan Gromeš08/22/2018 at 11:56 0 comments

    KiteLib now supports FSK modem on SX127x LoRa chips. Not only does this mean that you can freely swap between LoRa and FSK communication with a single communication module - there are some more interesting ways the FSK modem can be used:

    RTTY Transmissions
    By manipulating FSK carrier wave frequency, we can get the module to output RTTY data! This has been done in a few SX1278 projects before, but KiteLib is the first to implement user-friendly API. Using RTTY is now exactly as easy as using Arduino Serial port!

    FM Transmissions
    FSK modem also supports so-called continuous mode, in which the radio directly tranmits data fed to it on pins DIO1 (data) and DIO2 (clk). Here's the cool part: if you feed Arduino tone() function output into DIO2, this is the result: 

    Yep. This signal was decoded using "Broadcast FM" in SDR Console app, so it should be possible to receive the tone() output on any FM receiver (as long as it can receive on 434 MHz).

    So in summary, KiteLib can now send LoRa packets, FSK packets, RTTY transmissions and FM tones from a single communication chip.

View all 4 project logs

Enjoy this project?




[this comment has been deleted]

Jan Gromeš wrote 07/30/2018 at 04:36 point

And there I was, thinking the name was smart and catchy ... I genuinely didn't know about the smartphone project.

Well, it's probably too late to change it now.

  Are you sure? yes | no

Shree Kumar wrote 07/30/2018 at 04:51 point

@Jan Gromeš the name of the project can be changed easily.. just FYI ! (Not that I am asking you to)

  Are you sure? yes | no

Jan Gromeš wrote 07/30/2018 at 05:22 point

@Shree Kumar I was thinking more of the GitHub repositories, but apparently they can be renamed as well.

You know what, I'll change the name if I figure out another one equally simple. I really suck at naming stuff though ;)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates