ESP32-C3 giá rẻ thách thức thay thế ESP8266 ESP32-S2 ESP32

 ESP32-C3ESP32-S2ESP32ESP8266
Release Date2020201920162014
CPURISC-V 32-bit Single-Core @ 160 MHzTensilica Xtensa LX7
32 bit Single-Core @ 240Mhz
Tensilica Xtensa LX6
32 bit Dual-Core @ 160 / 240Mhz
Tensilica LX106
32 bit @ 80 MHz (up to 160 MHz)
Coprocessor ULP (RISC-V)ULP 
RAM400 KB320 KB520 KB160 KB (36 KB available to user)
UART2232
SPI34 (OSPI)42
Wi-Fi802.11b/g/n802.11b/g/n802.11b/g/n802.11b/g/n
Bluetooth® 5.0 + BLE 4.2 BR/EDR + BLE 
USB Host Yes  
Ethernet (LAN)  10/100Mbps 
RTC Memory8kB16kB16kB 
External SPIRAMNoUp to 128MBUp to 16MBUp to 16 MB
External Flash Up to 1GB  
CANYes 2.0B 
GPIOUp to 2243Up to 32Up to 17
Temperature Sensor  Yes 
Touch sensor 1410 
I2CUp to 1Up to 2Up to 2Up to 1
I2S1122
ADC2 x 12-bit SAR ADCs, up to 6 channels12-bit SAR ADC up to 20 channels12-bit SAR ADC up to 18 channels10-bit 1 channel
DAC 8-bit up to 2 channels8-bit up to 2 channels 
PWMUp to 68Up to 8Only software by timer
ADMMC  Yes 
RMT (Remote Control) YesYes 
LCD Interface Yes  
Camera Interface Yes  
Secure flash4096-bit OTP4096-bit OTP secure boot1024-bit OTP 
Cryptography supportAES-128/256, RSA Accelerator, SHA Accelerator, Random Number Generator (RNG), HMACAES-128/192/256, SHA-2, RSA, RNG, HMAC, Digital SignatureAES, SHA-2, RSA, ECC, RNG 

1. Wi-Fi SoC ESP8266

Đây là dòng Wi-Fi SoC của ESPRESSIF được phát hành năm 2014. Với ưu điểm thời điểm ra mắt là hỗ trợ bộ nhớ flash lớn (lên tới 16MB), RAM nhiều (160kB) đồng thời tốc độ CPU cao và giá thành tốt. Vì vậy dòng SoC này nhanh chóng được nhiều người sử dụng trong các ứng dụng IoT cũng như điều khiển cơ bản.

Tuy nhiên dòng ESP8266 này đã có một số nhược điểm khi các ứng dụng IoT đòi hỏi nhiều hơn:

  • Số chân GPIO hạn chế: Mặc dù được giới thiệu có nhiều chân (17 GPIO) tuy nhiên, nhiều chân đã bị sử dụng bởi SPI flash, nên số chân dùng được bị hạn chế
  • ADC hạn chế: Bộ ADC chỉ sử dụng được 1 chân, đồng thời chỉ 10 bit và tốc độ hạn chế, đây là nhược điểm mà ESP8266 không thể sử dụng trong các ứng dụng đo lường.
  • PWM: dòng MCU này không hỗ trợ hardware PWM, vì vậy cần dùng timer tạo software PWM với rất nhiều hạn chế.
  • UART: Mặc dù được quảng cáo là có thể sử dụng 2 bộ UART, tuy nhiên 1 bộ UART đã được sử dụng để flash firmware. Bộ còn lại chỉ được sử dụng chân Tx. Vì vậy khó sử dụng UART để giao tiếp với các module khác cũng như debug.
  • RAM: Mặc dù hỗ trợ RAM tới 160kB. Tuy nhiên với các ứng dụng IoT cần bảo mật cao sử dụng TLS/SSL cần khá nhiều RAM thì ESP8266 sẽ khó phát triển.
  • Tốc độ xử lý khi sử dụng các kết nối TLS/SSL: Với ứng dụng IoT giao tiếp MQTTS, HTTPS thì việc kết nối của ESP8266 rất chậm vì phải sử dụng các thuật toán ECC, RSA bằng software.
  • Bảo mật code: Đây cũng là một trong những nhược điểm mà các dòng MCU đều đã hỗ trợ.

2. Wi-Fi – BLE SoC ESP32-S2/ESP32

Đây là dòng SoC Wi-Fi BLE được ESPRESSIF ra mắt vào năm 2016. Với mục đích khắc phục những nhược điểm tồn tại trên dòng ESP8266. Với số chân nhiều hơn, ADC, PWM, UART mạnh hơn. Bên cạnh đó RAM cũng đã được nâng cấp nhiều hơn, dư dả cho các ứng dụng IoT đòi hỏi phức tạp hơn. Và một thứ quan trọng nhất yêu cầu cho các ứng dụng IoT cần bảo mật chính là hỗ trợ các thuật toán mã hoá như AES-128/192/256, SHA-2, RSA, HMAC, làm tăng tính đơn giản, bảo mật cũng như tốc độ phát triển.

Đồng thời dòng SoC này cũng hỗ trợ BLE, tăng được các ứng dụng hỗ trợ IoT. BLE cũng được sử dụng như 1 giao thức để provision thông tin cho thiết bị (register).

Có thể nói đây là dòng SoC Wi-Fi lý tưởng cho các ứng dụng IoT với tốc độ tốt, khả năng xử lý cao. Với những ứng dụng không cần nhiều tài nguyên như GPIO, ADC, PWM, … thì việc cân đối giữa hiệu năng và giá thành là rất cần thiết.

3. Wi-Fi – BLE SoC ESP32-C3

Đây là dòng SoC Wi-Fi BLE mới nhất hiện nay của ESPRESSIF, được ra mắt vào cuối năm 2020. ESP32-C3 là sử dụng CPU RISC-V (open source – miễn phí) cộng đồng bắt đầu lớn mạnh. Đồng thời với RF hỗ trợ BLE 5 đây là điểm cộng khi so sánh với ESP32/ESP32-S2.

Dòng ESP32-C3 được xem là dòng low cost (giá rẻ) của ESPRESSIF tuy nhiên đây có thể được xem là dòng SoC phổ biến trong thời gian tới với những ưu điểm sau:

  • Ngoại vi hỗ trợ mạnh: Bộ ADC, UART, I2C, SPI, … linh động, có thể mapping tới bất kì GPIO nào. Đồng thời số chân GPIO cũng nhiều hơn ESP8266 phù hợp với các ứng dụng cần nhiều GPIO.
  • Hỗ trợ BLE 5.0 long range: Đây là một trong những điểm cộng, vì nó có thể dùng trong các ứng dụng kết nối BLE cần khoảng cách xa (thu thập dữ liệu sensor) với chi phí thấp.
  • Hỗ trợ thuật mã hoá phần cứng (cho TLS/SSL): AES-128/AES-256 (FIPS PUB 197), ECB/CBC/OFB/CFB/CTR (NIST SP 800-38A), SHA1/SHA224/SHA256 (FIPS PUB 180-4), RSA3072, and ECC. Đây là một trong những thuật toán cơ bản cho kết nối MQTTS, HTTPS cũng như giao tiếp peer to peer.
  • Bộ nhớ RAM phù hợp cho các ứng dụng IoT

Qua so sánh cũng như phân tính, ta thấy ESP32-C3 là một trong những dòng SoC Wi-Fi BLE phù hợp cho các ứng dụng IoT, cũng như là dòng MCU thay thế cho các dòng MCU có giá quá cao như hiện nay.

4. Tài liệu

ESP32 C3F Specs

ESP32-C3S Specs

ESP32 C3 Docs (AI Thinker)

5. Link mua hàng:

ESP8266

ESP8266 LUA NODEMCU

Module ESP12F

ESP32/ESP32S

Module ESP32S

ESP32 Ethernet LAN8720A Module

ESP32 NodeMCU

Module ESP32 WROOM 32

ESP32-C3

Kit ESP32-C3 Dual USB Type C JTAG và Serial