Your IoT project needs one of these wireless modules
Getting your project connected to the internet is relatively easy these days. Here are five off the shelf modules that will easily add wireless to your project.
Back when I was in school, I remember spending an entire semester making a RF amplifier board. In fact, I had to use a pencil eraser to remove oxidation on the copper traces to remove an unwanted oscillation, caused by the impedance mismatch of the oxidation on the copper traces. Talk about tough.
These days, adding WiFi or Bluetooth is as simple as adding one of the wireless modules available. Or if you are using an Arduino, skip the modules and just add a shield.
Keep reading for 5 different wireless modules to consider for your project.
What do you need from a wireless module?
One thing to consider when going wireless is, what is most important to your project? Do you need something low power for a battery? What about distance? (Hint: pick a real number, not “as far as possible.”) Do you need to fit in a very small case?
These questions will help narrow down which wireless option is best for your project or application.
1. Bluetooth LE or BLE
Made popular by smart phones, Bluetooth Low Energy (BLE) is a subset of the Bluetooth specification. For the longest time, Bluetooth was only used to add keyboards, mice and silly looking headsets to phones and other portable computers.
With the Low-Energy standard, it is now possible for smart watches and other sensors to (nearly) continuously communicate with a host device while using very little power.
According to the Bluetooth SIG, by 2018 it is expected that 90% of Smartphones will support BLE.
The downside is the Bluetooth still requires licensing and is a relatively complicated protocol. If you’re just making a personal project you can probably just get away with adding a shield (or used as a module with non-Arduino) like the SeeedStudio BLE Shield.
If you are working on a commercial project BLE is going to be best suited for applications involving tablets and smart phones. Just keep in mind that beyond the engineering challenges, you may need to get certifications done on your device before you can put that Bluetooth logo on the package.
2. nRF24L01 Wireless Modules
Serial or UART is a very simple way for two micro controllers to talk to each other or other devices. You usually need to attach at least 3 wires: RX, TX, and GND. The nRF24L01 modules basically remove the wires between the two devices.
The modules communicate with a microcontroller over SPI, which is good for high speed data.
While they generally run at the unlicensed 2.4GHz band, some modules can be software programmed to other carrier frequencies. Even though they run at 2.4GHz double check what FCC certifications (or applicable agency for your country) if you’re planning to go commercial.
The downside to these modules is, I see a lot of frustrated users on forums and IRC. You can pick them up on eBay for pretty cheap or you can them from a reputable vendor like Sparkfun.
3. WiFi: ESP8266
Recently the ESP8266 has taken the maker community by storm. When it was announced there was a plug-in to make the Arduino IDE compatible with the ESP8266 it seems like every WiFi project suddenly had them in it.
I bought a module from Adafruit for $7. These inexpensive WiFi devices communicate with an MSP430 or Arduino over UART (serial). They off-load a large part of the WiFi, Ethernet, and TCP/IP activity leaving the small amount of RAM in your microcontroller available to do other things.
At such a cheap price with excellent libraries supporting it and a lively community, it is no wonder they’ve caught on for WiFi connectivity.
Personally, I’m really looking forward to spending more time with mine and reporting back.
4. WiFi: Arduino Shield or “Heavy” Module
Generally, WiFi is a difficult protocol. There are many layers to just the wireless and ethernet aspects, not to mention multiple types of heavy encryption. That can be too much for an 8-bit microcontroller like the Arduino or even 16-bit micro like a MSP430 to handle.
Before the ESP8266 come about, many people used something like the Arduino WiFi Shield, even if it wasn’t used with an Arduino. Good modules will off-load the ethernet and tcp/ip “stack” from the microcontroller. If you’ve got a project based on a microcontroller already and want to add WiFi, these are an alternative to using the ESP8266.
The Arduino Yún is an Arduino with a WiFi (and ethernet) chip built-in. Basically there is a 32-bit microcontroller that runs Linux and controls the WiFi/ethernet functions which communicates with a smaller ATmega32u4 (like the Leonardo.)
The Yún is a mighty powerful board, but it comes with a pretty hefty price tag. As reference Adafruit sells the Yún for $75.
5. Electric Imp
It looks like an SD-Card. There are SD-Card like breakout boards available for it. However, the Electric Imp isn’t a memory device. Instead its a microcontroller with WiFi radio built-in.
The original intent of the Imp was to make it simple to add WiFi to any project or finished product. The SD-Card form factor meant it would be relatively easy to program in one board (manufacturing) and insert into another board (final product.)
The price tag from Adafruit still runs $30. You can save about $5 if you buy the Imp on Amazon instead. There’s a lot of example code on the Imp’s web site and like the ESP8266 the micrcontroller is powerful enough to be the main processor for some projects.
If you’re looking for a Robust way to add WiFi to a project, the Imp is an excellent choice, despite its price tag.
2 Comments
is there a low-cost BLE or Bluetooth SoC alternative to the ESP8266? I’m making a commercial device and I want to reduce form factor. My device is battery operated and I’d like to run it off CR2032 coin cell(s) for 4-5 years. Right now, my esp8266 device uses 3xAA batteries or one CR123a. Thanks!!
Have you looked at the Intel Currie? I used it for a commercial wearable project. You can simply use the Arduino 101 as a development board.