You know WiFi - you use it all-day every-day. It’s the standard wireless protocol for connecting to the Internet. It’s available not only at home and work but also in stores, cafes, trains, planes and in most major cities. The worldwide universality of WiFi makes it a common first choice for IoT.
Wire-less!
WiFi has a lot of the benefits of Ethernet but it's wireless - and you’ll often find that devices that support one support the other. WiFi has gone through many iterations (802.11b, g, n…) and the speed and throughput has increased in time. Like Ethernet, it can transport lots of data and connect to the wider Internet with ease. And like Ethernet, WiFi can require a significant power budget if not managed carefully.
Power Management
WiFi removes the need for wire for the bits portion, but you'll still need to power it somehow. So many IoT devices, from sensors to cameras, use WiFi for the data but are still plugged in for power.
If you’re indoors, you may find that wall outlets are plentiful but dragging an Ethernet cable is unnecessary.
For mobile applications, WiFi can go hours and maybe even days on battery, you'll just need to make sure you're in range of the access point and have a plan to charge or power.
For example, here's a WINC1500 WiFi module Feather power trace. When its time to scan and connect to the access point, current draw is approximagely 120mA (that's with 3.3V power regulation). Keeping the WiFi module on all the time to listen for connections draws about 100mA.
On the other hand, if you're able to put the WiFi radio to sleep, you can send up drawing power only on receive and transmit. You can see on the left the much lower idle-current and then spikes when the radio is on.
You'll get slightly slower performance since you have to bring it in and out of sleep mode. And, not all radios support sleeping! So you have to really try out your code and measure the draw to know what your run time will be.
Range & Speed Ratings
With WiFi every-day 802.11g or n, you can get about 150 feet / 46 meters. Outside, about 300 feet / 92 meters. But as you are probably aware, the further you get from the access point, the flakier the connection will get and the more power you will need to amplify. You can save power with strategies like putting the device to sleep, waking when needed or just setting up specific times to turn on WiFi and do your thing - but that will all require a lot of engineering time.
Just as Ethernet comes in a few speed-ratings (10, 100 and 1Gbps), WiFi also comes in various ratings, there’s also 2.4GHz and 5.8GHz flavors: a, b, g, n, ac. (although, honestly we have never seen 5 GHz WiFi on a microcontroller/microcomputer scale project). With each flavor, you’ll get more bits but need more power and get less range. There are also different encryption standards. 802.11b is a little old but still available, g and n are most common, just keep in mind this is a spectrum that anyone can use so expect some interference from other devices like wireless keyboards, microwaves, other WiFi devices, etc.
Protocol |
Frequency |
Data rate (Mbit/sec) |
Approx Range (indoor) |
Approx Range (outdoor) |
802.11b |
2.4 GHz |
1, 2, 5.5 or 11 |
35 meters |
140 meters |
802.11g |
2.4 GHz |
6, 9, 12, 18, 24, 36, 48, 54 |
38 meters |
140 meters |
802.11n |
2.4 GHz |
up to 288.8 |
70 meters |
250 meters |
802.11n |
5 GHz |
up to 600 MBit/s |
70 meters |
240 meters |
Note that just because your chipset says it can do 802.11g doesn't mean you'll get the max 54 MBit/s, just that it's the max you can get. And of course, the range varies wildly with antennas, power, chipsets, wireless traffic, and more...
Good Things about WiFi
- Wireless!
- Worldwide universality, completely open and free standard - no licensing!
- Networks/routers anywhere and everywhere
- Some good security/encryption built-in
- Can be used as an ad-hoc network
- Fairly good range, high throughput
- Popular implementations abound, including some low-cost versions
- Direct internet access
One thing that's new is that WiFi has become pretty cheap! Wifi modules are only a few $ per unit. Sometimes you can get a microcontoller + WiFi chip all in one to save space and money.
Challenges
- Requires authentication, which can be frustrating to set-up, new authentication every time
- High power usage without a lot of work
- Wide range of embedded-access chipsets, have to choose which to go with
- Flakiness, drop-outs - challenging to debug
- A really good WiFi stack sometimes requires a full RTOS or kernel to ‘kick’ the network
- Watch out for default passwords on Things that plug in directly to the Internet!
- Radio-emitter certifications
Especially if you have plug-in or easy recharging, WiFi is a clear winner: good range, good speeds, well understood. You can be certain that WiFi is a protocol that is ‘here to stay’ so it's a safe bet. For portable items, it's not always the best choice as the battery management can take up a lot of your engineering time. Check your chipset and use a power monitor to compare current draw. Use eval boards to quickly ‘sketch out’ your bandwidth needs and figure out what size battery you can get away with.
Radio Emitter Certifications
As a radio emitter, and a powerful one at that, you may need to spend some time on your wireless certification process. E.g. in the USA you’ll need FCC, in Europe CE, in Japan you’ll need TELEC, etc.
You can save time by going with a precertified module, these often have pretuned antennas that work out-of-the-box - less certification is required. But you’ll pay more! That said, almost every design we’ve seen with WiFi has gone with a pre-certified module
For example, the WINC1500 shown here has a tin that covers a ton of RF parts for you
The ESP32 is an up-and-coming chipset that contains both WiFi and dual core processor, also available in a pre-certified module.
You can see the FCC ID engraved at the bottom.
Authentication & Security
Some of the big frustrations with WiFi are authentication - you absolutely must have security, but that same security can make it annoying to set the SSID and password. A common method these days is to set up an ad-hoc network so the device can be configured. (It’s annoying but common). Another option is to go with BTLE for configuration, if you get BTLE ‘for free’ with your WiFi. It can make portability annoying too if there’s no UI for setting the SSID and password directly on the device.
Also some schools/offices have ‘enterprise’ wifi where a ToS is clicked through - that may not be possible for you to do on your small device in which case you’d need the administrator to allow the MAC address through...as you can tell, it gets hairy fast.
Adding WiFi to your Thing
The prices for embedded modules and chips have dropped drastically in the last few years. What used to be $20/per module is now trending towards $5/per module. We’re also starting to see modules where the WiFi component is controlled by an internal RTOS so you may be able to get away with a single-chip solution rather than a bi-chip solution - that will do wonders for your BoM costs! But watch out to make sure you aren’t getting stuck with a chip core that hamstrings you. We expect to see dozens more of these fully integrated WiFi chips in the next few years.
At the Feather HUZZAH's heart is an ESP8266 WiFi microcontroller clocked at 80 MHz and at 3.3V logic. This microcontroller contains a Tensilica chip core as well as a full WiFi stack. You can program the microcontroller using the Arduino IDE for an easy-to-run Internet of Things core. The ESP8266 is very very low cost, but has an RTOS running that you can't control, which can sometimes make programming high-reliablity projects a little difficult. It's great for low cost Things and maker projects.
The ESP32 is a perfect upgrade from the ESP8266 that has been so popular. In comparison, the ESP32 has way more GPIO, plenty of analog inputs, two analog outputs, multiple extra peripherals (like a spare UART), two cores so you don't have to yield to the WiFi manager, much higher-speed processor, etc. etc! We think that as the ESP32 gets traction, we'll see more people move to this chip exclusively, as it is so full-featured.
The Feather M0 + ATWINC1500 is a pairing of chips: there's a main processor (the Feather M0 part) and the wifi processor module (the ATWINC1500 part). As such, these Feathers are more expensive than all-in-one WiFi solutions. But, as a positive, they have a really powerful and well-documented main processor that runs separately from WiFi which can give you more control.
The Particle series of WiFi boards has a built in RTOS, single-chip solution and is pre-certified. You also get a cloud-based coding and deployment system, which is aimed towards enterprise customers and speed-to-market
Raspberry Pi computers like the Pi 3 and Pi Zero W have built in WiFi and BTLE which makes them very easy to get started with WiFi. The kernel support seems good and stable and you get a full Linux computer so you can do very fast connects and transfers
Text editor powered by tinymce.