ESP32-C3 giá rẻ thách thức thay thế ESP8266, ESP32-S2, ESP32?
ESP32-C3 là dòng SoC Wi-Fi – BLE được Espressif ra mắt vào cuối năm 2020 với giá thành phù hợp cũng như nhiều tính năng phù hợp cho các ứng dụng IoT
ESP32-C3
ESP32-S2
ESP32
ESP8266
Release Date
2020
2019
2016
2014
CPU
RISC-V 32-bit Single-Core @ 160 MHz
Tensilica 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
RAM
400 KB
320 KB
520 KB
160 KB (36 KB available to user)
UART
2
2
3
2
SPI
3
4 (OSPI)
4
2
Wi-Fi
802.11b/g/n
802.11b/g/n
802.11b/g/n
802.11b/g/n
Bluetooth®
5.0 + BLE
4.2 BR/EDR + BLE
USB Host
Yes
Ethernet (LAN)
10/100Mbps
RTC Memory
8kB
16kB
16kB
External SPIRAM
No
Up to 128MB
Up to 16MB
Up to 16 MB
External Flash
Up to 1GB
CAN
Yes
2.0B
GPIO
Up to 22
43
Up to 32
Up to 17
Temperature Sensor
Yes
Touch sensor
14
10
I2C
Up to 1
Up to 2
Up to 2
Up to 1
I2S
1
1
2
2
ADC
2 x 12-bit SAR ADCs, up to 6 channels
12-bit SAR ADC up to 20 channels
12-bit SAR ADC up to 18 channels
10-bit 1 channel
DAC
8-bit up to 2 channels
8-bit up to 2 channels
PWM
Up to 6
8
Up to 8
Only software by timer
ADMMC
Yes
RMT (Remote Control)
Yes
Yes
LCD Interface
Yes
Camera Interface
Yes
Secure flash
4096-bit OTP
4096-bit OTP secure boot
1024-bit OTP
Cryptography support
AES-128/256, RSA Accelerator, SHA Accelerator, Random Number Generator (RNG), HMAC
AES-128/192/256, SHA-2, RSA, RNG, HMAC, Digital Signature
AES, 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
Module ESP32-C3S: Đây là dòng Module tương thích Pin với ESP32-WROOM32 và ESP32S
Module ESP32-C3F: Đây là dòng Module tương thích Pin với ESP12E/ESP12F
KIT PHÁT TRIỂN WIFI BLUETOOTH ESP32-C3U
KIT PHÁT TRIỂN WIFI BLUETOOTH ESP32-C3S