The hobbyist wireless communications space is becoming increasingly crowded with different radios and protocols — this guide will help you choose the right one for your next project!
If you’re just looking for a recommendation without any information, read this section. I go into much more detail below.
- I need to transmit a small amount of data a long distance without too much power: LoRA
- I need to transmit a lot of data back and forth from the internet from a remote device: Cellular
- I need to transmit a lot of data back and forth from the internet from a non-remote device: Wi-Fi
- I need to communicate with a phone: Bluetooth Low Energy (BLE)
- I have extreme budget and/or power constraints: Generic 2.4GHz (nRF24L01)
- I need a really small transmitter: Generic 433 MHz
- I need extreme flexibility and customization: Amateur Radio
Low-Power Wide Area Networks (LPWANs)
If you’re looking for a system that allows you to send a little bit of data a long distance without much power, LPWANs are the way to go! The main players in this space are LoRa and Sigfox.
LoRa, short for long range, is a standardized communication protocol that uses the 900 and 400 MHz ISM bands to send data upwards of a few miles. LoRa modules are inexpensive and easy to integrate with microcontrollers such as Arduino devices or computers like the Raspberry Pi. You can pick up a LoRa module from Amazon for around $20.
Some companies, such as The Things Network, maintain and operate a series of internet-connected gateways that allow you to connect your LoRa devices to the world wide web. These gateways are relatively sparse, however, and offer a fraction of the coverage of cellular networks.
Sigfox is another LPWAN standard that also uses the 900 MHz ISM band to transmit information. Unlike LoRa, the Sigfox network is centered around internet-connected gateways. Sigfox modules tend to be more expensive than LoRa modules but offer more features.
Connecting to the Internet
Another common use case for wireless communication technologies is sending data back and forth from the internet. The most common technologies that developers utilize for this application are Wi-Fi and cellular.
You’re likely already very familiar with Wi-Fi. It offers extremely fast data transfer rates (that you can’t really take advantage of with a slow microcontroller) at medium ranges. Boards like the Raspberry Pi have Wi-Fi built-in, and you can purchase inexpensive modules for around $1 that allow microcontrollers such as Arduino devices to utilize Wi-Fi.
Wi-Fi is a great communications standard choice for indoor projects. Wi-Fi utilizes relatively little power and offers decent ranges of typically a few hundred feet.
Cellular modules are more expensive and use more power than Wi-Fi modules but offer unparalleled internet coverage. Some microcontrollers, such as the Particle Electron, have cellular modules built in. You can also buy 3G Arduino-compatible modules for around $30. You can purchase USB cellular dongles that allow devices like the Raspberry Pi to communicate over cellular networks.
Cell service can be expensive and cellular modems use a lot of power, so only choose cellular networks if you need to.
If you need to have two microcontrollers communicate with one another then you’re in luck; there’s plenty of options out there.
Low-Cost 2.4 GHz
There are tons of low-cost modules that utilize the 2.4 GHz band to create point-to-point communication networks. One of my personal favorites is the nRF24L01. Each radio is less than $1 and they’re extremely easy to use. These devices can communicate at a maximum range of a few hundred feet and are only capable of sending small data packets. This module is a great choice if you need to get two microcontrollers talking, or want a low-power communications solution.
Zigbee is a standardized communication technology designed to allow interoperable communications between devices. The XBee form-factor is extremely popular for Arduino devices. These modules are much pricier than some radios but offer great reliability and interoperability between existing devices.
Generic 433 MHz
These devices are perhaps the simplest communications hardware you can reliably use. They are incredibly inexpensive but can still transmit a small amount of data a few hundred feet. The only downside is you need a separate module for transmitting and receiving. So, if your application only needs to either transmit or receive data these are a great choice.
Communicating with Phones, Tablets, and Computers
There’s really only one contender in this space: Bluetooth. Every major phone and tablet and most computers have Bluetooth communications chips; this makes communicating with a variety of different devices extremely convenient. Standards such as Bluetooth Low Energy (BLE 4.0) allow tiny wearable devices to operate for months at a time without recharging or changing batteries. You can pick up inexpensive Bluetooth 4.0 modules for $10, or more well-documented modules from companies such as Adafruit for around $20.
The term “amateur radio” refers to radio activities in amateur radio, or “ham radio”, bands. Amateur radio equipment can be difficult to operate, and you need a license to do so, but it offers the utmost flexibility for unique communications tasks. It requires much more radio knowledge to construct a functioning amateur radio communications system than some of these cheap modules but it is a rewarding experience.