Comparing Budget WLAN SoCs - 180D-FW-2024/Knowledge-Base-Wiki GitHub Wiki

Table of Contents

  1. Introduction
  2. WLAN SoCs Overview
  3. What is a SoC?
  4. Which Network Protocol Should I Use?
  5. Espressif Systems
  6. Raspberry Pi Pico W
  7. Accessing the 5GHz Band
  8. Conclusion
  9. References

Introduction

With seemingly everything being connected via WiFi from your smartphone to your lights, there seems be to an emergent market for an IoT version of nearly everything one uses. As a result, it's critical to look at the various budget-friendly WLAN system-on-chips that offer an all-in-one solution for IoT devices. These devices have built in WLAN compatibility as well as an onboard microcontroller unit (MCU) creating a streamlined option for developers by being simple to use requiring basic circuity and often offering support for familiar languages with simple libraries for easy wireless support.

WLAN SoCs in the context of this article will need to offer an all-in-one ability to communicate over IEEE 802.11 (WiFi) while having accessible GPIO pins for receiving and sending data as well as have an on-board MCU to handle all the computing required for a project. Ideally, one can have a complete project with the SoC in combination with a power source and all the IO devices like sensors/powered components.

In this article, we will be looking at a variety of inexpensive WLAN SoCs and comparing them based on a variety of factors to help guide your decisions on your next IoT project focusing on cost and ease of access with a focus on SoCs for hobby level projects. (Prices are rough estimates looking at various vendors and are subject to change)

What is a SoC?

A system on a chip packages the minimum requirements for a computer or electronic system: processing units (typically several), memory, and external interfaces (such as WiFi) to communicate with peripherals, all connected by an internal bus or network [5]. The term is broadly defined and encompasses many types of chips (such as application-specific integrated circuits (ASIC) that are optimized for a particular task or product), but this article focuses only on general-purpose SoCs, which are ideal for hobbyists.

SoCs offer higher speed and power efficiency compared to multi-chip solutions. While individual MCUs are cheaper in regard to price and power, SoC compensate with increased functionality and efficiency and can handle more complex applications [5]. By physically shrinking the system onto a single chip, SoCs achieve better power efficiency and higher communication speeds between components [5]. SoCs also have more on-chip memory, which further reduces delay by minimizing the frequency that external memory needs to be used. These benefits lead to SoCs’ popularity and widespread adoption in mobile devices and IoT devices, the latter for which minimizing power consumption is particularly important. Additionally, SoCs hide the complexity of the components they encapsulate and provide a good starting point for projects to build on top of. Users do not need to worry over how to interface the individual components of the system and can treat the SoC as a black box.

However, the tight integration of SoC components is also a drawback. This prepackaged system offers less flexibility because the components are not interchangeable, so issues with one component will likely require scrapping the whole system. The SoCs described here, however, are relatively cheap and thus easily replaceable.

Which Network Protocol Should I Use?

WiFi is only one way for IoT devices to wirelessly communicate with each other or the cloud. Which choice of network standard(WiFi, Bluetooth, LoRaWAN, etc) depends on the use case. This article examines Bluetooth, another common standard for IoT networks that most readers have likely used, and when it may be more applicable than WiFi for local use cases. Of course, IoT devices that want to connect to the internet cannot use Bluetooth alone.

Bluetooth and Bluetooth Low Energy (BLE) are wireless personal area networks. They have limited range and bandwidth compared to WiFi, but they are very energy efficient. Furthermore, Bluetooth offers more mobility, whereas WiFi devices are mostly limited to around the access points they were configured for. Bluetooth devices can then connect to the internet over WiFi using a hub or gateway. Bluetooth can also be used to determine the proximity of connected devices more accurately [6]. The below figure summarizes these points:

Bluetooth vs WiFi for Local Connectivity [6]

Based on these points, here is an example hobby project in which WiFi is preferred:

  • A home security camera that stores video footage off-device. It could utilize WiFi’s higher bandwidth to stream high quality video. Furthermore, the camera would remain mostly stationary and easily be powered by mains, compensating for WiFi’s increased power consumption.

Here is an example where Bluetooth is more ideal:

  • A remote-controlled toy car that would only be used nearby the user. This car would not transfer much data other than steering commands, or possibly low-quality video, and thus fit within Bluetooth bandwidth constraints. Furthermore, it could sustain off of battery power and travel with the user as long as it stays close enough to the remote.

If wifi sounds ideal for your project, then continue reading to learn the tradeoffs of various budget WLAN SoCs.

Espressif Systems

Espressif offers a variety of popular WLAN SoCs in their ESP series, being around for many years as well as being a popular choice for DIY IoT projects they often have a good bit of online support from users. Notably, the ESP modules have

ESP8226 (ESP01)

Source: https://www.instructables.com/Getting-Started-With-the-ESP8266-ESP-01/

Arguably the baseline of hobbyist level WLAN SoCs the ESP8266 specifically the ESP-01 version which is the most common form factor will be a source of comparison for most SoCs on this list.

Notable Features

  • 802.11 b/g/n (2.4GHz)
  • 80 MHz Clock speed and 1 MB for user code
  • C and Micropython with great Arduino Standard Library for C
  • Supports I2C, UART, SPI, and I2S
  • Cost: available for as little as $2
  • USB programmer tool

Overall, its low cost and great library support provided by Espressif which can be accessed in the Arduino IDE as well great community support in forums and extra tools (like the USB programmer) makes the ESP8226 ESP-01 module a great option for people looking to build their own IoT devices for the first time. However, it's low power and limitation to 2.4 GHz hurts its flexibility for larger projects, the lack of GPIO pins can also lead to issues with projects requiring multiple devices. For simple projects, the ESP 8226 ESP-01 is a compelling option both in terms of cost as well as ease of use.

ESP32 (ESP32-S3)

Source: https://www.waveshare.com/esp32-s3-dev-kit-n8r8.htm

The ESP32 offers a slightly more powerful solution than the ESP8226. Coming in a variety of options, we will look specifically at the ESP32-S3 as it's the most common option.

Notable Features

  • 802.11 b/g/n (2.4GHz)
  • 240 MHz Clock speed
  • 384 KB of ROM
  • 512 KB of SRAM
  • C and Micropython with great Arduino Standard Library for C
  • Supports I2C, UART, SPI, and I2S
  • On board USB
  • Available for under $8 on Digikey

The ESP32 offers a faster version of the ESP8226 with more GPIO pins as well as Bluetooth support in case that is needed for your project. Furthermore, the on board USB makes flashing and programming significantly easier than the 8226 model. The ESP32-S3 offers a slightly more expensive but still budget friendly option for those needing slightly more power than the ESP-01. Great for those looking for a good compromise between cost and power without needing access to the 5GHz band.

Other ESP modules

The ESP family is large and the common factor is their great library support and relatively cheap cost and wide-availability. The Espressif website offers a great way to efficiently compare models to find one that bests suits your needs.

Looking towards the future the ESP32-C5, not yet widely available as of 2024, offers 5GHz support as well as support for other wireless communication channels like Zigbee and depending on the cost could become the most versatile option for home projects.

Raspberry Pi Pico W

Source: https://www.adafruit.com/product/5526

While not the first thing that comes to mind when thinking about WLAN SoCs the RPi Pico W could be the best option for many projects.

Notable Features

  • 802.11n (2.4 GHz)
  • Dual-core 133 MHz Clock speed (RPI 2040 MCU)
  • 2 MB Flash
  • 264 KB of SRAM
  • Micropython and Arduino C compatible with good library support for both
  • Supports I2C, UART, SPI, PWM on 26 exposed general purpose GPIOs
  • On board MicroUSB
  • Cost: Available for roughly ~$7

Overall, the Pi Pico W is the easiest to access for a home project. This is a result of the ease of flashing, as simple as drag and dropping the desired software in a file explorer, the language support for Micropython and C and the wide range of library support in each language, as well as access to great community tools like Thonny, the Pi Pico W offers the best user experience despite not having the most impressive processing power or feature set. The Pico W arguably offers the easiest to use and most flexible solution for IoT on this list while lacking in price to performance.

Accessing the 5GHz band

The most glaring flaw with the previous SoCs is their inability to interact with the 5GHz band, with many home networks 2.4GHz band being overly congested it can be desirable to have access to 5GHz in your project.

Realtek RTL8720DN

Source: https://botland.store/other-wifi-modules/16640-realtek-rtl8720dn-dual-band-communication-module-wifi-24ghz5ghz-and-bluetooth-50-5904422326241.html

Realtek WLAN SoCs in general offer a slightly less user-friendly but more cost effective solution compared to the ESP32s, however the most interesting SoC for the sake of this comparison is the is the RTL8720DN as it offers support for 5GHz.

Notable Features

  • 802.11 a/b/g/n (2.4GHz and 5 GHz)
  • Dual MCU 200 and 20 MHz Clock Speed
  • 4MB Flash
  • 512KB and 64KB of SRAM
  • Arduino C compatible with some work
  • Supports I2C, UART, SPI
  • Developer versions with on board USB
  • Cost: As little as $4 up to $13 for developer version

The RTL8720DN is considerably less popular amongst hobbyists than the previous SoCs however, it still has a decent amount of community support which can help bootstrap a project along with Arduino IDE support from Realtek for other devices which still works with the RTL8720DN with some community patches, however even with this workaround the library support is lacking compared to the ESP and RPi devices. Overall, this SoC offers a cost-effective way to access the 5GHz band if required for your project, at the cost of community support.

Conclusion

Depending on your needs, the SoCs listed above could offer an adequate solution. For those looking for great Arduino C library support and a wide list of options for many use cases, consider looking at the offerings from Espressif. If great Micropython support, easy flashing, and plentiful and easy to use GPIO is important consider the Pi Pico W. If you are okay with less library support but need to access to the 5GHz band is needed consider using the Realtek RTL8720DN.

Overall, for hobbyist projects the Pi Pico W works great with plenty of library and community sport and an easy to use IDE (Thonny). If one is looking for consumer grade devices, the ESP series offer a slightly stronger price to performance, at the cost of ease of flashing. However, that doesn't discount them from being usable for the hobbyist as they have plenty of community support. The Realtek is more suited for professional products that need the 5GHz band, with a lot less community support.

Importantly, this article didn't consider the power consumption or the data rate/stability of the WiFi module which may influence one's decision. Overall, WLAN SoCs are a great way to simplify your IoT projects but the exact model that best fits a project is difficult to choose, fortunately the low cost of the SoCs offer an inexpensive way to experiment.

References:

1: https://www.microchip.ua/wireless/esp01.pdf

2: https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf

3: https://datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf

4: https://files.seeedstudio.com/products/102110419/Basic%20documents/UM0401_RTL872xD_Datasheet_v3.4_watermark.pdf

5: https://anysilicon.com/what-is-a-system-on-chip-soc/

6: https://www.pondiot.com/blog/bluetooth-vs-WiFi-for-iot-devices-making-the-right-choice