Reducing the cost of IoT devices with the ESP8266

19th January 2015

The ESP8266 Wi-Fi System-on-Chip from Espressif Systems is a highly integrated SoC designed for the needs of modern Wi-Fi-connected embedded systems, appliances, sensors and other cost-sensitive, Wi-Fi-enabled Internet-of-Things applications.

This high-performance wireless SoC aims to provide Wi-Fi capabilities in embedded systems with strong functionality at a low cost. It has powerful on-board processing and storage capabilities that allow it to be integrated with sensors or other application-specific peripheral devices via its general-purpose digital I/O ports with minimal development effort and potentially without the need for any separate microcontroller in many typical applications.

The ESP8266 provides single-band (2.4 GHz) Wi-Fi connectivity using the 802.11b/g/n standards and supports WEP, WPA and WPA2 encryption.

The high degree of on-chip integration minimises the bill of materials in your design, with a low-power Tensilica 80 MHz 32-bit processor core, RAM, ROM and GPIOs, power management module, and all RF front-end components such as the clock generation, PLLs, LNA and power amplifier all integrated on the 32-pin QFN chip.

This means that your complete Wi-Fi connected solution requires minimal external components and minimal PCB area. The ESP8266 offers a complete and self-contained wireless networking solution, including an integrated TCP/IP stack – and it can either provide Wi-Fi connectivity and networking functions to a separate application processor in your design or host your application itself in the chip’s on-board application processor.

Where the ESP8266 serves as an external Wi-Fi bridge to a separate application processor in your design, Wi-Fi connectivity is added to the host processor via a simple UART or SPI interface to the ESP8266. As long as your microcontroller has a spare serial UART or an SPI interface you’re ready to go, so you can straightforwardly interface the ESP8266 to essentially any microcontroller in your existing design.

The ESP8266 has also been designed with energy-efficient mobile and battery-powered applications in mind, with an architecture that minimises power consumption and provides a sleep mode and deep-sleep mode to minimise power use in your design at times when Wi-Fi network connectivity is not actively being used.

With a wide range of interfaces including SPI, SDIO, UART and I2C, the ESP8266 can be used for interfacing to external EEPROM and Flash memory, ADC/DACs, external audio codecs, or other sensors and peripherals that can connect to these serial interfaces.

In stand-alone mode at least one external flash memory chip to boot from is needed. The chipset also incorporates 16 programmable general-purpose digital I/O pins, which can be configured in software with a range of flexible interrupt and output options.

Espressif has released a complete Software Development Kit for the ESP8266, along with a VirtualBox Ubuntu image that provides you with a complete ready-to-go tool chain including gcc and all the other tools you’ll need to develop and build code for the Xtensa core in the chip.

Included in the SDK are SSL, JSON and lightweightIP (lwIP) libraries, providing the capabilities for a range of typical Internet-of-Things applications. Example code is provided to demonstrate the use of the chip’s UART, I2C and SPI interfaces as well as general-purpose digital I/O.

Espressif provides an ESP8266 Internet-of-Things SDK, which is specifically aimed at IoT applications. Although this SDK is only partially open source and some libraries are provided as binary blobs, a fully open-source third-party tool chain for development on the Xtensa CPU architecture is separately available.

A range of other third-party software development tools and interpreters are available or in development for the ESP8266, including the nodeMCU Lua interpreter and an ESP8266 port of the MicroPython embedded Python project, allowing you to use these scripting languages if you choose. There is also firmware available for the ESP8266 that implements MQTT-based message brokering for Internet-of-Things applications.

The ESP8266 is notable in that it is one of the few chip-level 802.11 Wi-Fi devices on the market, along with the Texas Instruments CC3000-series chipsets, which is available in small-volume distribution and with publicly-available datasheets and documentation, meaning that this device is accessible to small-volume businesses and small, independent developers in a way that 802.11 chipsets from major vendors such as Broadcom or Realtek generally aren’t.

Alternative Wi-Fi modules and devices such as the Spark Photon offer features such as USB connectivity, more memory, more I/O and a more familiar ARM architecture, but they are more expensive – the Photon is close to USD $20, for example.

The Spark Photon is a very simple breakout board that just provides an antenna and a voltage regulator for USI’s WM-N-BM-09 Wi-Fi module, which implements Broadcom’s standardised WICED ecosystem with a STM32 Cortex-M3 microcontroller core alongside Broadcom’s BCM43362 Wi-Fi radio.

As another example of relatively low-cost embedded Wi-Fi solution, there are similar boards coming from China today for about $10 based on the MXchip MX1081 chipset, which also incorporates the Broadcom BCM43362 core alongside a STM32 microcontroller.

The Texas Instruments CC3200 Internet-of-Things SoC also aims to provide a complete single-chip IoT solution based around an ARM Cortex-M4 80 MHz CPU core and integrated Wi-Fi radio along with a flexible range of digital I/O interfaces and an integrated ADC.

The CC3200 offers extensive, good quality, English documentation, development tools and resources along with an ARM core that is more popular and familiar with developers than the ESP8266’s Xtensa core. The CC3200 is distributed in small volumes and has publicly available documentation and development tools as with the ESP8266, however the ESP8266 has the advantage of its relatively low cost even in small volumes.

ESP8266 2

With the appearance of such low-cost IoT capable chipsets on the market, bringing your Internet-enabled product ideas to market can be much faster, simpler and even cheaper than you ever expected. And here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy – join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.


Muhammad AwaisReducing the cost of IoT devices with the ESP8266

Have a project you’d like to discuss? Speak to someone today.

Add your email and we’ll keep you in the loop with our future developments.