The number of devices connected to the Internet of Things (IoT) is growing exponentially each year. Multiple factors drive this growth, including the ubiquity of Wi-Fi in consumer homes and workplaces, the falling prices of Wi-Fi connectivity, and expectations from consumers that more of their devices be controllable using mobile or desktop apps.
Fundamental to this IoT adoption is connectivity, specifically Wi-Fi modules. So, when developing your own IoT project, it’s crucial that you determine which is the best IoT Wi-Fi module for you. Let’s discuss what you need to consider when making your choice.
What is an IoT WiFi module?
There are two main categories of Wi-Fi modules for IoT:
- A “single” model in which the MCU runs both the Wi-Fi system and the host processor on one integrated chip
- A “host processor + Wi-Fi module” model in which the module contains the Wi-Fi stack, and a separate processor runs the host application
More details on these two categories are provided in the section below. Here we will mainly focus on the second category, as this is the more commonly used architecture for commercial IoT projects. This category of Wi-Fi Module contains two main hardware parts:
- A Wi-Fi System on Chip (SoC)
- An external host processor
The Wi-Fi SoC subsystem includes an integrated radio antenna or a radio frequency (RF) connector for an external antenna, 802.11 capabilities, and access control features with cryptography for security. The host processor contains ROM, RAM, and internal or external flash memory.
The power management subsystem of such a module enables low power modes, and also includes support for a wide range of power supplies. A module generally comes with some inputs and outputs (I/Os), such as timers, communication interfaces, and more to allow a broad range of applications. However, the modules usually do not have as many I/Os as a real embedded MCU that’s specifically made to be the main host microcontroller of a device. So a module is best for a simple, highly-specific use case, unless a developer chooses to combine the module with a dedicated I/O chip. However, that drives up cost, making the module with the I/O chip just about as expensive as a regular MCU.
When it comes to software, an IoT Wi-Fi module usually encompasses a device driver – specialized software specific to the hardware of the device – an 802.11 encryption layer, and a management and monitoring utility.
What are the advantages of using an IoT WiFi module?
Using an IoT Wi-Fi module greatly simplifies the process of connecting an IoT device to the internet because you can use your already designed and tested existing non-internet-Wi-Fi design and just put a Wi-Fi module onto it. While it’s possible to have a Wi-Fi chip that has not been pre-installed onto a module and fit the chip to your device, you’ll have to build your own custom implementation, which means a lot of extra time and effort.
Add to that, internet protocols involve a lot of interruptions to the main tasks assigned to the device, since internet information packets often get transferred in a rather chaotic way. Having a module to take care of this instead of having to interrupt the core system many times makes internet-related processes less troublesome and easier to debug.
There’s also a security advantage to using a Wi-Fi module. Since the connection between the host system and Wi-Fi module is normally made via a simple technology like a Universal Asynchronous Receiver-Transmitter (UART), the module can limit an attack from the internet side. In other words, if somebody finds a security hole on the Wi-FiI module, they might be able to break into the module, but the host system can apply rules to what commands will be handled or allowed coming from the module. Of course, it is also much easier to make sure that a basic UART command protocol is not flawed or open to attacks than to secure a complete Wi-Fi and internet stack, which is many, many more lines of code, so a break-in this way should be easy to make nearly impossible.
What’s more, most modules are calibrated, tested, and certified by the relevant regulatory bodies, such as the Federal Communications Commission (FCC) in the USA. In the EU, modules must adhere to the region;s Electromagnetic Compatibility (EMC) directives. Therefore, modules that can provide a plug-and-play option reduce the need for custom hardware development, allowing faster go-to-market design.
What to consider when choosing an IoT Wi-Fi module
Manufacturers usually list the modules by various parameters, including what radio frequency they operate on, data rate (e.g., bytes per second), range, and certification. Therefore, it’s important to filter your Wi-Fi module search based on the parameters that satisfy your specific IoT needs.
Here are some of the most important parameters that you need to consider.
An important decision you must make is whether the module should be a “single” or “host processor + Wi-Fi module” module
- In a “single” module, the IoT MCU runs the Wi-Fi connection and the host computing in one chip. This configuration is ideal for embedded devices in which a small physical layout size is the main priority, as it eliminates several external components, which are now all integrated onto one small device. This helps to minimize the bill of materials and physical board space to fit size-constrained and cost-optimized IoT applications. A few Wi-Fi modules like ESP32, CC3200, and SAMW25 are perfectly suited for this type of IoT architecture. Remote monitoring, smart security systems, asset tracking, and wearables are a few common IoT applications built on this architecture.
- In a “host processor + Wi-Fi module” model, the module contains the hardware for Wi-Fi connectivity and a separate processor runs the host application. This architecture allows for minimal Wi-Fi power usage on the MCU and simplifies the code development effort since developers can rely on a pre-packaged Wi-Fi stack. Wi-Fi modules such as ESP8266 and CC3100 are suitable for this kind of IoT architecture. IoT applications like home automation, smart appliances, and smart energy meters are a few examples that use this type of architecture.
Wi-Fi Protocol Support:
The IEEE 802.11 represents the family of wireless LAN standards that are most commonly used throughout the world. Today, there are many standards from the 802.11 family in use, and each standard has different specifications. There are three key factors to consider when selecting these protocols: data rate, range, and power requirements. Protocols like 802.11n, 802.11ac and 802.11ah have the advantage of a faster data rate for IoT multimedia applications. Alternatively, protocols like 802.11b/g have the advantage in reduced power requirements. Therefore, the best IoT Wi-FI module for you depends on the demands and uses of your IoT project.
IEEE 802.11 standards operate in different specified frequency ranges and are divided into a multitude of channels. Countries have their own rules and regulations to determine the uses, channels, and maximum power levels you can employ within these frequency bands. These days, many Wi-Fi modules like CC3235MOD, RS9113-N00-D0C-X68, and others come with support for two different frequencies in 5GHz and 2.4GHz, thereby providing more flexibility in operating frequencies for IoT devices and increasing interoperability and compatibility among various IoT devices and systems.
Secure Wi-Fi Support:
Today, the security of data transmission over the internet is a major challenge. Therefore, before allowing IoT devices to connect to a network using Wi-Fi, it is important to make sure the Wi-Fi module supports the required security standards. All the best IoT Wi-Fi modules support at least one of the various Wi-Fi security standards, like Wi-Fi Protected Access, Wi-Fi Protected Setup, and others. Each security standard has its advantages and disadvantages, so it’s important to select the module that best suits your security needs.
Usually, Wi-Fi modules are bundled with many different connectivity and interface options to suit different needs. The USB, SPI, or SDIO interfaces are preferred to support high-data-throughput applications. Otherwise, the typical interface is through UART, I2C, I2S, or similar options.
Different countries each have their own regulatory certifications, and for IoT devices to enter those markets, they need to comply with those regulations. Therefore, for commercial applications, it’s vital to select Wi-Fi modules that have compliance certifications from the FCC or a similar organization.
Popular IoT Wi-Fi Modules
There are numerous Wi-Fi IoT modules from various manufacturers available on the market. Every module has different specifications, so it’s important to go through the features of each module before finalizing your decision.
ESP32 by Espressif
ESP32 is a family of powerful modules from Espressif, which integrate Wi-Fi, Bluetooth, and Bluetooth Low Energy (BLE) to enable a wide range of IoT and AIoT (Artificial Intelligence + IoT) applications.
These modules come with 802.11 b/g/n (802.11n up to 150 Mbps) 2.4 GHz Wi-Fi protocol, Bluetooth V4.2 BR/EDR, and the BLE specification protocol. They have a wide range of features and options such as UART, SPI, SDIO, I2C, I2S, IR, a pulse counter, a touch sensor, and more. They come in three different categories:
- ESP32-WROOM series: Dual-core processing with a dimension of 18 × 25.5 × 3.1 mm, a maximum clock frequency of 240 MHz, integrated flash memory up to 16MB, and perfect suitability for IoT applications
- ESP32-SOLO series: Cost-effective options for IoT applications with dimensions of 18 × 25.5 × 3.1 mm that use a ESP32-S0WD RF SoC and have a maximum clock frequency of 160 MHz, plus 4MB of integrated flash memory,
- ESP32-WROVER series: Dimensions of 18 × 31.4 × 3.3 mm, relies on the ESP32-D0WD SoC , clock frequency up to 240 MHz, contains integrated flash memory ranging to 16MB, and offers fine dual-core performance suited for AIoT and applications requiring higher computing power
CC3200 by Texas Instruments
CC3200 is an IoT Wi-Fi module from Texas Instruments. It has a 32-bit ARM Cortex-M4 wireless MCU. The Wi-Fi network processor subsystem features a Wi-Fi internet-on-a-chip operating at 2.4 GHz with WPA2 network security.
This also includes an 802.11b/g/n radio, baseband, and a powerful crypto engine for security. It has a wide variety of peripherals, such as UART, SPI, I2S, I2C, ADC, and others. The CC3200 family of Wi-Fi modules include ROM with external flash bootloader and drivers, and flexible embedded RAM for code and data. Variants of the CC3200 family that are also popular are CC3200MOD, CC3220S, CC3220R, CC3220SF, CC3220MOD, and CC3230S.
SAMW25 by Microchip
SAMW25 is a Wi-Fi IoT module from Microchip. It uses the SAMD21 ARM Cortex-M0 plus MCU to run the host application and an SPI driver for interfacing to the onboard Wi-Fi SoC. The Wi-Fi subsystem uses the ultra-low-power WINC1500, a fully certified IEEE 802.11 b/g/n IoT network controller with integrated TCP/IP, and a Wi-Fi stack. This module also includes 4MB internal flash memory with OTA firmware upgrade; SPI, UART, I2C as host interfaces; and many other peripherals. SAMW25 supports Wi-Fi Direct, station mode, and network protocols like TLS, plus the module can operate completely host-less in most applications.
IoT holds massive opportunities for device manufacturers around the world. Realistically, you may need a completely different option from the three we’ve recommended here, based on your personal use case and IoT applications, but now at least you know a lot more about the different features and options for IoT Wi-Fi modules so you can decide what suits you best.
Explore Our Other IoT Resources
Now you’ve read our guide on how to choose the best Wi-Fi module for IoT, why not explore our other IoT resources, including:
- How to set up an ESP8266 Wi-Fi module using the Nabto server peer-to-peer connection.
- A guide to ESP8266 for IoT and ESP32 for IoT, explaining the ins and outs of the different available modules and development boards built around these chips.
- A complete Guide to Microcontrollers for IoT, which explains all your options when it comes to choosing an MCU for your project.
- How to choose the best RTOS for IoT devices, which explains what you need to consider when making your choice.