ESP32 là gì: chip Wi-Fi, Bluetooth hai nhân, module, bo DevKit, các dòng S3, C3, C6, cách lập trình

ESP32 là gì: chip, module và bo DevKit khác nhau thế nào, bên trong chip có gì, so sánh với ESP8266 và Arduino Nano, các dòng S2, S3, C3, C6, H2, cách lập trình và lưu ý khi nối mạch.

ESP32 là vi điều khiển được dùng nhiều nhất hiện nay cho các dự án IoT, nhà thông minh và học lập trình nhúng: có sẵn Wi-Fi, Bluetooth, hai nhân xử lý, nhiều chân, và lập trình được ngay bằng Arduino IDE. Bài này giải thích ESP32 là gì, khác nhau giữa chip, module và bo mạch DevKit, bên trong chip có gì, so sánh với ESP8266 và Arduino Nano, các dòng ESP32 mới, những cách lập trình và vài điều cần biết trước khi nối mạch.

1. ESP32 là gì

ESP32 là dòng chip của hãng Espressif (Thượng Hải), ra mắt năm 2016, kế nhiệm chip ESP8266 nổi tiếng trước đó. Đó là một "hệ thống trên chip": bộ xử lý, bộ nhớ, bộ phát thu Wi-Fi và Bluetooth, các khối ngoại vi nằm chung trong một chip nhỏ. Nhờ có sẵn kết nối không dây, ESP32 vừa làm được mọi việc của một vi điều khiển thông thường (đọc cảm biến, điều khiển relay, động cơ), vừa gửi dữ liệu lên mạng mà không cần module ngoài.

2. Chip, module và bo mạch

Ba bước: chip ESP32 trần; module có vỏ kim loại chứa chip, Flash, thạch anh và anten in trên mạch; bo mạch DevKit có cổng USB, chip USB-serial, ổn áp, nút EN và BOOT
Người học thường dùng bo DevKit; sản phẩm thật thường hàn thẳng module lên mạch của mình.
  • Chip ESP32: con chip trần, thường chưa có bộ nhớ Flash chứa chương trình.
  • Module (ví dụ ESP32-WROOM-32): chip + Flash (thường 4 MB) + thạch anh + anten in trên mạch, đặt dưới vỏ kim loại. Module đã có chứng nhận vô tuyến, nên các hãng làm sản phẩm hay dùng module thay vì chip trần.
  • Bo mạch DevKit: module + cổng USB + chip chuyển USB sang cổng nối tiếp (CH340 hoặc CP2102) + ổn áp 3,3 V + nút EN (reset) và BOOT + hai hàng chân. Cắm USB là nạp được chương trình. Xem chọn mạch ESP32 nào: 30 hay 38 chân, CH340 hay CP2102.

3. Bên trong chip ESP32 có gì

Sơ đồ khối: 2 nhân Xtensa LX6 tới 240 MHz; SRAM 520 KB; bộ đồng xử lý ULP; Wi-Fi 2,4 GHz; Bluetooth Classic và BLE; bảo mật; ngoại vi gồm 34 GPIO, ADC 12 bit 18 kênh, DAC 2 kênh, 10 chân cảm ứng, PWM 16 kênh, 3 UART, 2 I2C, 4 SPI, 2 I2S, TWAI, RMT, Ethernet MAC
Dòng ESP32 gốc, thường gặp trên bo DevKit V1.
  • Hai nhân xử lý tới 240 MHz: một nhân lo Wi-Fi, Bluetooth, nhân kia chạy chương trình của bạn (mặc định trong Arduino).
  • SRAM 520 KB, gấp khoảng 260 lần Arduino Nano; chương trình nằm trong Flash ngoài.
  • Ngoại vi phong phú: ADC, DAC, cảm ứng chạm, PWM, UART, I2C, SPI, I2S (âm thanh), CAN, bộ RMT tạo xung chính xác (điều khiển LED WS2812, hồng ngoại).
  • Chế độ ngủ sâu: chip tắt gần hết, dòng tiêu thụ của riêng chip còn khoảng vài µA tới vài chục µA, hợp với thiết bị chạy pin. Xem Deep Sleep trên ESP32.

4. ESP32, ESP8266 và Arduino Nano

Arduino NanoESP8266ESP32
Bộ xử lý8 bit, 16 MHz32 bit, 1 nhân, 80/160 MHz32 bit, 2 nhân, tới 240 MHz
RAM2 KBkhoảng 80 KB cho chương trình520 KB
Kết nốikhôngWi-FiWi-Fi, Bluetooth Classic và BLE
ADC10 bit, 8 kênh10 bit, 1 kênh12 bit, 18 kênh
Mức logic5 V3,3 V3,3 V
Hợp vớihọc cơ bản, mạch 5 Vthiết bị Wi-Fi đơn giảnhầu hết dự án IoT

5. Các dòng ESP32 mới

"ESP32" ngày nay là cả một họ chip. Dòng gốc vẫn phổ biến nhất trên bo DevKit; các dòng mới thêm tính năng:

  • ESP32-S2: một nhân, có USB, không có Bluetooth.
  • ESP32-S3: hai nhân, Wi-Fi và BLE 5, có USB, thêm lệnh tính toán cho AI (nhận giọng nói, hình ảnh).
  • ESP32-C3: một nhân kiến trúc RISC-V, Wi-Fi và BLE 5, giá thấp.
  • ESP32-C6: RISC-V, Wi-Fi 6, BLE 5, Zigbee và Thread cho nhà thông minh.
  • ESP32-H2: BLE và Zigbee, Thread; không có Wi-Fi.

Bài chọn ESP32-S3, C3 hay C6 trong loạt "ESP32 lập trình nâng cao" so sánh chi tiết các dòng này.

6. Lập trình ESP32 bằng gì

  • Arduino IDE: dễ nhất, dùng lại kiến thức Arduino và rất nhiều thư viện. Xem cài ESP32 vào Arduino IDE và nạp chương trình đầu tiên.
  • MicroPython: viết bằng Python, gõ lệnh và thấy kết quả ngay. Xem bắt đầu MicroPython với Thonny.
  • ESP-IDF: bộ công cụ chính thức của hãng, viết bằng C, dùng hết khả năng của chip; hợp với sản phẩm thương mại.
  • PlatformIO: chạy trong VS Code, quản lý dự án lớn, dùng được cả lõi Arduino lẫn ESP-IDF.

7. ESP32 làm được gì

Ba ảnh: ESP32 DevKit V1 30 chân, mạch ESP32 có màn hình OLED hàn sẵn, mạch ESP32 Lite nhỏ gọn có cổng pin
Cùng chip ESP32, khác số chân và phần gắn thêm (ảnh sản phẩm của shop).

8. Cần biết trước khi nối mạch

  • Chân ESP32 dùng mức 3,3 V, không chịu được 5 V. Module 5 V cần chuyển mức hoặc cầu chia áp.
  • Không phải chân nào cũng dùng được: GPIO6–11 nối với Flash; GPIO34–39 chỉ là ngõ vào; GPIO0, 2, 5, 12, 15 ảnh hưởng tới lúc khởi động; ADC2 không đọc được khi đang bật Wi-Fi. Xem sơ đồ chân ESP32 DevKit V1.
  • Nguồn phải khỏe: lúc phát Wi-Fi, dòng có thể vọt lên vài trăm mA trong tích tắc. Nguồn yếu, dây USB kém làm mạch tự khởi động lại (lỗi "brownout").
  • Bo DevKit tiêu thụ nhiều hơn chip trong chế độ ngủ vì có thêm ổn áp, chip USB, đèn nguồn.

9. Bắt đầu với ESP32

Một ESP32 DevKit V1 30 chân (hoặc bản 38 chân), dây USB có lõi dữ liệu và breadboard là đủ để làm theo hầu hết bài hướng dẫn ESP32 trên pyworld.vn. Muốn có sẵn màn hình thì chọn ESP32 có OLED; muốn học MicroPython thì có mạch ESP32 MicroPython.

10. Xem thêm

  • Các bài cùng loạt lộ trình: học lập trình nhúng bắt đầu từ đâu, Arduino là gì, chọn Arduino, ESP32, STM32 hay Raspberry Pi.

Tin tức liên quan

Jack Type-C tích hợp mạch sạc pin 1S: cấu tạo, thông số và khi nào nên dùng
Jack Type-C tích hợp mạch sạc pin 1S: cấu tạo, thông số và khi nào nên dùng

Jack Type-C tích hợp mạch sạc pin 1S nhận 5 V, sạc pin Li-ion hoặc Li-po một cell đến 4,2 V ở dòng 1 A, có đèn báo đỏ và xanh. Bài nêu cấu tạo, thông số, điểm khác với jack Type-C thường và các trường hợp nên dùng.

Liên kết chuẩn đo lường (traceability): chuỗi hiệu chuẩn từ đơn vị SI tới thiết bị hiện trường
Liên kết chuẩn đo lường (traceability): chuỗi hiệu chuẩn từ đơn vị SI tới thiết bị hiện trường

Liên kết chuẩn đo lường là gì: chuỗi hiệu chuẩn không đứt đoạn từ đơn vị SI, chuẩn quốc gia tới thiết bị hiện trường, CIPM MRA, ILAC MRA, VILAS, các trường hợp chuỗi bị đứt và cách kiểm tra.

Cảm biến quang: thu phát, phản xạ gương, khuếch tán, triệt nền – cấu tạo, nguyên lý và chế tạo
Cảm biến quang: thu phát, phản xạ gương, khuếch tán, triệt nền – cấu tạo, nguyên lý và chế tạo

Cảm biến quang hoạt động thế nào: bốn kiểu thu phát, phản xạ gương, khuếch tán, triệt nền; điều chế ánh sáng chống nhiễu, cấu tạo, cách chế tạo và làm cảm biến phản xạ có điều chế với ESP32.

IC 555: chế độ dao động và đơn ổn, cách tính tần số và thời gian
IC 555: chế độ dao động và đơn ổn, cách tính tần số và thời gian

IC 555 là gì, sơ đồ chân và cấu tạo bên trong, mạch đơn ổn tạo trễ và mạch dao động nháy LED, nguồn gốc công thức t = 1,1RC và f = 1,44/((R1 + 2R2)C), bảng giá trị và mạch tạo trễ relay.

Sửa lỗi và nâng cấp máy CNC, máy laser tự chế: mã lỗi GRBL, mất bước, nhiễu, laser yếu
Sửa lỗi và nâng cấp máy CNC, máy laser tự chế: mã lỗi GRBL, mất bước, nhiễu, laser yếu

Cách chẩn đoán lỗi máy CNC, máy laser tự chế theo lưu đồ; mã ALARM, error của GRBL; bảng lỗi chuyển động, điện, laser, phay; tìm cặp dây động cơ bước; thứ tự nâng cấp và bảo dưỡng.

Đo biến dạng bằng cảm biến strain gauge
Đo biến dạng bằng cảm biến strain gauge

Giải thích strain, hệ số gauge, cầu Wheatstone, cấu hình quarter/half/full bridge và các bước thiết lập phép đo biến dạng tin cậy.

LED: tính điện trở hạn dòng, nối nhiều LED và trộn màu LED RGB bằng ESP32
LED: tính điện trở hạn dòng, nối nhiều LED và trộn màu LED RGB bằng ESP32

Cấu tạo LED, cách nhận biết chân, điện áp thuận theo màu, cách tính điện trở hạn dòng, nối nhiều LED nối tiếp và song song, LED RGB cathode chung, anode chung, trộn màu bằng PWM của ESP32.

ESP32 CH340 hay CP2102, cổng Type-C hay Micro USB: khác nhau gì và cài driver trên Windows 10, 11
ESP32 CH340 hay CP2102, cổng Type-C hay Micro USB: khác nhau gì và cài driver trên Windows 10, 11

Chip CH340 và CP2102 trên mạch ESP32 làm gì, khác nhau ở đâu, cách nhận biết qua Device Manager và mã VID:PID, cách cài driver trên Windows 10, 11, chọn cổng Type-C hay Micro USB.


Bình luận
Đã thêm vào giỏ hàng