ESP32 C3 versus the ESP8266
Mostly this is intended to be a summary of hardware features in the ESP C3,
but I dug up my esp8266 summary as a starting point, and it was hard to resist
putting them side by side on the same page.
Both are single core devices with 32 bit RISC processors.
Both are well supported by gcc and by the Espressif development tools.
The following is not a complete list for either device, just
a few of the things I consider most vital and interesting.
The ESP32 C3 looks like this:
- CPU - 32-bit RISC-V at 160 Mhz
- 400k of SRAM
- typically a 4 Mbit (512K) flash chip alongside.
- Wifi: 2.4 Ghz IEEE 802.11 b/g/n Wi-Fi
- BLE with longrange support
- 22 GPIO pins
- Two 12 bit ADC
- SPI, I2C, I2S
- Two uart.
The ESP8266 looks like this:
- CPU - 32-bit Xtensa LX106 RISC at 80 MHz
- 64 K of instruction RAM
- 96 K of data RAM
- typically a 4 Mbit (512K) flash chip alongside.
- Wifi: IEEE 802.11 b/g/n Wi-Fi
- 16 GPIO pins
- 10-bit ADC
- SPI and I2C interfaces
- I2S interfaces with DMA
- console UART
- transmit-only UART on GPIO2
An obvious first difference is the clock speed, the ESP32 C3 runs twice as fast.
However, for many applications this simply doesn't matter.
The node just needs to "exist" and flip a switch on or transmit data, and
the processor speed is a non-issue (power consumption may be more important).
The extra RAM (400K versus 160K) is significant, as well as having two complete UART.