Espressif ESP32 – driving down the cost of the Internet of Things
The recently-finalised ESP32 is Espressif's successor to the popular ESP8266 wireless connectivity system-on-chip - taking the low-cost connected platform even further with a new combination Wi-Fi and Bluetooth SoC.
The ESP32 offers powerful processing capability, flexible wireless connectivity, and strong support for sensor and peripheral interfaces, while maintaining low power consumption and efficient sleep modes that make it well suited for battery-powered applications.
These features, along with its low cost, make the ESP32 particularly attractive for mobile devices, wearable electronics and Internet-of-Things technologies.
Interfacing the ESP32 with other microcontrollers in an existing design is possible, adding on Wi-Fi or Bluetooth wireless connectivity in a peripheral way, through its UART, I2C, SPI or SDIO interfaces - but if you want to start from scratch with a new design the power of the ESP32 really comes into its own as a standalone wireless connectivity and processing platform. It provides almost everything you need for a complete Internet-of-Things application in one low-cost, compact chip.
The ESP32 uses a similar Xtensa LX6 32-bit CPU to the ESP8266, but has moved up to two processor cores, each of which can run at up to 240 MHz. The platform includes 128kB of ROM and 520kB of SRAM, and support for external Flash memory up to 64Mb in size, for program and data storage.
The device has 36 GPIO pins, and the use of a crossbar matrix means that any GPIOs, serial interfaces, timers and ADCs can be assigned to whichever pins you need. 16 channels of 12-bit ADC inputs are included, along with a programmable internal voltage reference - a huge step up from the limited resolution of the single ADC input pin on the ESP8266.
Up to 16 PWM output pins are provided, along with two 8-bit true DAC outputs, and two I2S interfaces which can be used for digital audio output into an external DAC, for example in an embedded internet radio application.
Multiple SPI and I2C ports are also provided, along with analog preamplifiers, a Hall-effect sensor, a temperature sensor, capacitive touch keypad inputs, and a JTAG interface that can be used for debugging with OpenOCD.
As well as 802.11b/g/n 2.4GHz WiFi, the ESP32 radio architecture also includes Bluetooth 4.2 support, both Bluetooth Classic and Bluetooth Low Energy, making it an extremely versatile, flexible platform for many wireless connectivity and Internet-of-Things applications.
The RF stage includes its RF switches, baluns, power amplifier, LNA and filters all integrated on the IC, meaning that almost no external components are required for wireless connectivity. This keeps physical size of the layout down, reduces BOM cost, makes it easier to use pre-certified radio modules incorporating the ESP32 chip and antenna connector, and reduces the amount of specialist RF expertise you need to successfully incorporate the ESP32 into your design.
Hardware accelerators for AES and SSL/TLS are also provided, allowing strong security to be easily implemented in Internet-of-Things applications without burdening the processors with the cryptography required.
These SDKs and software tools continue to be under active development, with more bug fixes and enhancements every day, and even though things are very immature at this stage, this development is occurring openly, where feedback from users and other developers is encouraged.
Just as we've seen with the ESP8266, we are likely to see the development of many community-driven open source software tools to support the ESP32, such as an ESP32-ready port of the NodeMCU Lua interpreter and support in the Arduino IDE for programming the ESP32, using the popular and easy-to-learn Arduino language. (This open-source ESP32 extension for the Arduino development environment is already under active development.)
Many of the system, GPIO and wireless networking function calls in the ESP32 SDK are fully compatible with the ESP8266 API, so it's likely that many of these software tools will be ported across in the near future without too much difficulty.
Following the success of the ESP8266, Espressif has greatly enhanced its community engagement around the ESP32, putting much more effort into open support, comprehensive documentation, English-language datasheets and manuals - and engagement with the smaller-scale independent and "maker" communities of users. This also helps developers in the professional sphere as well.
Espressif provides the new ESP32 Software Development Kit, which they call the ESP32 "IoT Development Framework" (IDF) to distinguish it from previous SDKs, along with a suite of examples and documentation to allow users to easily get started with ESP32 software development. These resources include libraries, source files, example code, development toolchains, and everything else you need to get up and running.
With the possibility of such as low-cost and powerful microcontroller, you can imagine how excited the market is to receive the ESP32. And here at the LX Group we have the systems in both hardware and software to make your IoT vision a success. We have end-to-end experience and demonstrated results in the entire process of IoT product development, and we’re ready to help bring your existing or new product ideas to life. Getting started is easy – click here to contact us, telephone 1800 810 124, or just keep in the loop by connecting here.
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 IoT 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.