The cost-effective, RISC-V-based MCU will offer security to IoT applications while powering up a huge number of connected devices
In 2014, Espressif launched the ESP8266, a Wi-Fi-only MCU that facilitated simple connectivity use-cases. And in 2016, the ESP32 was launched, which addressed use-cases that required dual connectivity (Wi-Fi + Bluetooth/Bluetooth LE), considerably more computing power or strong security features. These two chips became undisputed leaders on the IoT market, powering up a huge number of connected devices.
Since then, the IoT market has matured a lot in terms of features and cost expectations. Concerning chips, the concept of one-size-fits-all model is not viable nowadays. There should be multiple products for various needs.
Considering simplicity and security for common connectivity applications, Espressif is now introducing the ESP32-C3.
ESP32-C3 is a single-core, 32-bit, RISC-V-based MCU with 400KB of SRAM, which is capable of running at 160MHz. It has integrated 2.4 GHz Wi-Fi and Bluetooth LE 5.0 with long-range support. It has 22 programmable GPIOs with support for ADC, SPI, UART, I2C, I2S, RMT, TWAI, and PWM.
Key Benefits of ESP32-C3
The attacks on connected devices are generally meant to:
- gain access to sensitive data
- get unauthorised control of the device
- steal the device’s identity and subsequently gain unauthorised access to the device’s cloud.
These attacks can be carried out either remotely by exploiting software and protocol vulnerabilities, or physically by accessing the device for direct flash access and fault injection. The attacks can also be made by installing malicious firmware as default on a device.
Therefore the connectivity platform must provide sufficient protection against these types of attacks. ESP32-C3 is designed to address this threat model through:
- Secure Boot: ESP32-C3 implements the standard RSA-3072-based authentication scheme to ensure that only trusted applications can be used on the platform. This feature protects from executing a malicious application programmed in the flash. ESP32-C3’s secure boot implementation adds less than 100ms overhead in the boot process.
- Flash Encryption: ESP32-C3 uses the AES-128-XTS-based flash encryption scheme, whereby the application as well as the configuration data can remain encrypted in the flash. The flash controller supports the execution of encrypted application firmware. Not only does this provide the necessary protection for sensitive data stored in the flash, but it also protects from runtime firmware changes that constitute time-of-check-time-of-use attacks.
- Digital Signature and HMAC Peripheral: ESP32-C3 has a digital signature peripheral that can generate digital signatures, using a private key that is protected from firmware access. Similarly, the HMAC peripheral can generate a cryptographic digest with a secret that is protected from firmware access. Most of the IoT cloud services use the X.509-certificate-based authentication and the digital signature peripheral protects the device’s private key that defines the device’s identity. This provides strong protection for the device’s identity even in case of software vulnerability exploits.
- World Controller: This provides two execution environments fully isolated from each other. Depending on the configuration, this can be used to implement a Trusted Execution Environment (TEE) or a privilege separation scheme. If the application firmware has a task that deals with sensitive security data (such as the DRM service), it can take advantage of the world controller and isolate the execution.
Bluetooth LE 5.0 with Long-Range Support
Typically, connected devices use Wi-Fi connectivity to connect to cloud services. However, Wi-Fi-only devices fail to provide reliable configuration feedback to the provisioner, posing some difficulty to the network configuration. At the same time, iOS and Android provisioners experience additional complexity when connecting to the network.
Previous versions of the Bluetooth LE protocol had a smaller range that was not very suitable for local control in large spaces such as big homes. ESP32-C3 adds support for the Bluetooth LE 5.0 protocol, with coded PHY and extended advertisement features, while it also provides data redundancy to the packets, thus improving the range (typically 100 metres). Furthermore, it supports the Bluetooth LE Mesh protocol, which strengthens device control in a local network and directly communicates with other Bluetooth LE 5.0 sensor devices.
With a large variety in the use-cases and their memory requirements, it is tricky to determine a suitable memory size for the SoC. However, it is important to support use-cases with one or two TLS connections to the cloud, which are Bluetooth-LE-active all the time, while also supporting a reasonable application headroom on top of that.
ESP32-C3’s 400 KB of SRAM can meet these requirements while maintaining the chip’s cost affordable. The ESP32-C3 also has dynamic partitioning for the instruction (IRAM) and data (DRAM) memory. So, the usable memory is effectively maximised.
Mature Software Support
ESP32-C3 will be supported through Espressif’s ESP-IDF platform. ESP-IDF already supports millions of connected devices and undergoes rigorous testing and release cycles. The maturity of ESP-IDF, as well as familiarity with APIs and tooling, will make it easy for developers to build applications for ESP32-C3. With the availability of ESP-IDF, other software components like cloud agents can be used on ESP32-C3 without any change.
ESP32-C3 will also support the hosted mode of operation to provide Wi-Fi and Bluetooth LE connectivity for external microcontrollers or microprocessors through ESP-AT and ESP-Hosted SDKs.
ESP32-C3F, a variant of the ESP32-C3 comes with integrated flash for simplified designs. Modules for easily building connected devices include:
- The ESP32-C3-MINI-1 that has a small form-factor (13mm×16.6 mm) and supports a maximum operating temperature of 105 degrees Celsius.
- The ESP32-C3-WROOM-1 also supports a maximum temperature of 105 degrees Celsius and is pin-to-pin compatible with the ESP-WROOM-02D and ESP-WROOM-02 modules.
ESP32-C3 targets the most common use-cases for connected devices and for that, Espressif continues to build solutions that address additional use-cases.