ESP32 Beginner Guide – P1: ESP32 là gì? Chọn board nào?
Phân biệt chip, module và development board ESP32, rồi chọn ESP32-C3, ESP32-S3 hay ESP32 DevKit phù hợp với dự án đầu tiên mà không mua thừa phần cứng.
Chia sẻ

Nếu mới tìm hiểu ESP32, bạn rất dễ gặp một danh sách tên dài: ESP32, ESP32-C3, ESP32-S3, WROOM, DevKitC, SuperMini, XIAO… Chúng trông khá giống nhau trên ảnh bán hàng nhưng không phải cùng một thứ. Mình từng mua board chỉ vì thấy nhiều GPIO, sau đó mới phát hiện nó không có PSRAM, không hỗ trợ Bluetooth Classic và pinout khác hẳn tutorial đang theo.
Đây là bài đầu tiên trong ESP32 Beginner Guide, series đi từ chọn board đến GPIO, cảm biến, Wi-Fi, BLE và một dự án hoàn chỉnh. Mục tiêu của P1 khá đơn giản: sau khi đọc xong, bạn biết chính xác mình đang mua chip, module hay development board, và chọn được board đầu tiên mà không cần học thuộc toàn bộ họ ESP32.
ESP32 không phải tên của một board duy nhất

Bạn không cần board mạnh nhất để bắt đầu; board có tài liệu rõ và đúng với dự án sẽ giúp học nhanh hơn.
ESP32 ban đầu là tên một dòng SoC của Espressif, nhưng trong cách nói hằng ngày nó còn được dùng cho cả một họ chip và hàng trăm board phát triển. Điểm chung dễ nhận ra nhất là vi điều khiển có kết nối không dây, đủ GPIO để đọc cảm biến hoặc điều khiển thiết bị, và có hệ sinh thái Arduino/ESP-IDF lớn.
Điểm khác nhau mới là phần quyết định của dự án:
- ESP32 đời đầu thường có hai core Xtensa, Wi-Fi 2,4 GHz, Bluetooth Classic và BLE 4.2.
- ESP32-C3 dùng một core RISC-V, Wi-Fi 2,4 GHz và BLE 5; phù hợp với node cảm biến và thiết bị IoT gọn.
- ESP32-S3 dùng hai core Xtensa LX7, có BLE 5, nhiều GPIO hơn, hỗ trợ USB OTG và các module có PSRAM; hợp với màn hình, camera, audio hoặc TinyML nhẹ.
- ESP32-C6 đáng xem xét khi dự án thực sự cần Wi-Fi 6, Thread hoặc Zigbee. Với bài học GPIO/Wi-Fi cơ bản, không bắt buộc phải là board đầu tiên.
Các dòng này không phải là bản “lớn, vừa, nhỏ” của cùng một chip. Kiến trúc CPU, Bluetooth, USB, peripheral và pinout có thể khác. Code Arduino cơ bản thường chuyển được, nhưng binary, cấu hình board và số GPIO thì không thể dùng lẫn.
Chip, module và development board khác nhau thế nào?

Chip, module và development board là ba cấp phần cứng khác nhau, dù cửa hàng thường gọi chung là ESP32.
Đây là chỗ mình muốn làm rõ nhất ngay từ đầu:
| Thành phần | Bạn sẽ thấy gì | Dùng khi nào |
|---|---|---|
| Chip/SoC | IC vuông nhỏ, không có USB hay ăng-ten hoàn chỉnh | Thiết kế phần cứng chuyên sâu và sản xuất số lượng lớn |
| Module | Chip, flash, crystal và mạch RF nằm dưới shield kim loại; thường có antenna PCB | Hàn lên PCB sản phẩm riêng |
| Development board/kit | Module cộng thêm USB, regulator, nút BOOT/RESET và hàng chân cắm | Học, thử code, cắm breadboard và làm prototype |
Ví dụ, ESP32-S3 là dòng chip; ESP32-S3-WROOM-1-N8R8 là module có 8 MB flash và 8 MB PSRAM; ESP32-S3-DevKitC-1-N8R8 là development board mang module đó. Còn ESP32-C3 SuperMini là tên một kiểu board nhỏ do nhiều nhà sản xuất làm, không phải module chính thức của Espressif.
Nếu mới bắt đầu, gần như chắc chắn bạn cần development board đã có cổng USB và chân header, không phải chip rời hay module WROOM chưa gắn lên PCB.
Bốn lựa chọn thực tế cho board đầu tiên
1. ESP32-C3-DevKitM-1: lựa chọn gọn cho sensor và IoT
ESP32-C3-DevKitM-1 là board entry-level chính thức dựa trên module ESP32-C3-MINI-1. Nó có Wi-Fi, BLE 5, LED RGB và đưa các GPIO khả dụng ra hai hàng header. Với Blink, nút nhấn, I2C, MQTT, web server nhỏ hoặc cảm biến chạy bằng pin, C3 đã đủ dùng.
Điểm mình thích là kiến trúc tương đối gọn: một core RISC-V, ít GPIO hơn S3 nhưng cũng ít thứ khiến người mới phân tâm. Điểm cần nhớ là C3 không có Bluetooth Classic. Nếu tutorial dùng BluetoothSerial để giả lập cổng serial Bluetooth, đừng mặc định nó sẽ chạy trên C3.
Nếu bạn mua C3 SuperMini vì kích thước và giá hấp dẫn, hãy tải pinout/schematic từ đúng người bán. Các revision có thể khác LED, cổng USB, regulator hoặc cách ghi chân. Nó tốt khi bạn đã biết mình cần board nhỏ; để học từ đầu, DevKitM-1 có tài liệu rõ ràng và dễ đo hơn.
2. ESP32-DevKitC: dễ theo tutorial cũ nhất
ESP32-DevKitC V4 mang module ESP32-WROOM hoặc WROVER và có USB-to-UART, BOOT, EN cùng nhiều GPIO. Đây là kiểu board xuất hiện trong rất nhiều tutorial ESP32 đời đầu. Nếu khóa học của bạn ghi rõ “ESP32 DevKit V1”, GPIO23, GPIO22 hoặc BluetoothSerial, chọn một board ESP32 classic tương thích giúp giảm số thứ phải dịch lại.
Đổi lại, board thường rộng, dùng Micro-USB trên bản chính thức và không có USB OTG đa năng như S3. Tên “DevKit V1” trên các sàn cũng khá mơ hồ: board clone 30 chân và 38 chân có pinout khác nhau. Hãy nhìn ảnh hai mặt bo mạch và đếm chân trước khi đặt hàng.
3. ESP32-S3-DevKitC-1 N8R8: dư địa tốt cho dự án lớn hơn
Nếu bạn đã biết mình muốn gắn màn hình màu, camera, microphone, phát GIF hoặc thử TinyML, mình chọn ESP32-S3-DevKitC-1-N8R8. Ký hiệu N8R8 cho biết variant chính thức có 8 MB flash và 8 MB PSRAM. PSRAM là phần rất đáng tiền khi cần framebuffer hoặc buffer lớn.
S3 có BLE 5 nhưng không có Bluetooth Classic. Board DevKitC-1 còn có cả đường USB-to-UART và USB native; tiện cho debug, nhưng người mới cần nhìn đúng nhãn cổng trước khi cắm. Một số variant flash/PSRAM Octal cũng dùng nội bộ GPIO35–37, vì vậy đừng copy pinout của variant khác.
Nếu nhu cầu chỉ là đọc nhiệt độ rồi gửi MQTT, S3 vẫn làm được, nhưng bạn đang trả thêm cho tài nguyên chưa dùng. Nếu roadmap có giao diện hoặc camera, mua S3 từ đầu sẽ tránh đổi board giữa dự án. Bạn có thể xem bài so sánh ESP32-C3 và ESP32-S3 khi cần đi sâu vào RAM, USB, I2S và màn hình.
4. XIAO ESP32-C3/S3: nhỏ đẹp nhưng ít chỗ để thử sai
XIAO là development board nhỏ, không phải module. Tài liệu và file thiết kế của Seeed khá rõ, USB-C tiện, nhưng kích thước nhỏ đồng nghĩa với việc ít chân được đưa ra ngoài và thao tác đo khó hơn so với DevKit lớn. XIAO hợp với wearable, thiết bị dùng pin hoặc prototype cần nhét vào vỏ nhỏ; không phải lựa chọn mình ưu tiên khi bạn vẫn đang học cách đọc pinout và cắm breadboard.
Bảng chọn nhanh

Kích thước giống nhau không có nghĩa pinout, Bluetooth, USB và bộ nhớ giống nhau.
| Bạn muốn làm gì? | Board nên bắt đầu | Lý do chính | Cần lưu ý |
|---|---|---|---|
| Học GPIO, sensor, Wi-Fi và BLE | ESP32-C3-DevKitM-1 | Gọn, tài liệu chính thức, đủ cho đa số bài cơ bản | Không có Bluetooth Classic |
| Theo tutorial ESP32 cũ | ESP32-DevKitC/WROOM | Tương thích ví dụ và pinout phổ biến đời đầu | Nhiều clone khác layout |
| Màn hình, camera, audio, PSRAM | ESP32-S3-DevKitC-1 N8R8 | Nhiều GPIO, USB native, 8 MB PSRAM | Chọn đúng variant và cổng USB |
| Sản phẩm rất nhỏ | XIAO ESP32-C3 hoặc S3 | USB-C và kích thước gọn | Ít GPIO, khó đo/cắm thử hơn |
| Matter, Thread hoặc Zigbee | ESP32-C6 DevKit | Có radio 802.15.4 và Wi-Fi 6 | Chỉ nên chọn khi dự án thật sự cần |
Nếu chưa có dự án cụ thể, lựa chọn mặc định của mình là ESP32-C3-DevKitM-1 chính hãng hoặc board từ nhà sản xuất có schematic rõ ràng. Nếu ngân sách cho phép và bạn muốn dùng cùng một board cho màn hình/camera, chọn ESP32-S3-DevKitC-1 N8R8.
Đừng mua chỉ dựa trên dòng tiêu đề của shop

Dòng in trên shield module và schematic đúng revision đáng tin hơn tiêu đề ngắn trên trang bán hàng.
Trước khi bấm mua, mình kiểm tra tám điểm này:
- Tên chip chính xác: ESP32, C3, S3 hay C6.
- Tên module: WROOM/MINI và mã flash/PSRAM như N8R8.
- Tên board và revision: DevKitC-1 v1.0/v1.1, 30 hay 38 chân.
- Schematic và pinout: phải đúng board, không chỉ đúng chip.
- Cổng USB: Micro-USB hay USB-C; USB-to-UART hay USB native.
- Antenna: PCB antenna cần vùng trống; bản
Uthường cần antenna ngoài. - Header: Đã hàn sẵn hay bạn phải tự hàn.
- Phụ kiện onboard: LED RGB, camera connector, battery charger hoặc sensor có thể chiếm GPIO.
Hai board cùng ghi “ESP32-S3” vẫn có thể khác về flash, PSRAM, LED pin và số cổng USB. Khi Arduino IDE có nhiều lựa chọn gần giống nhau, dòng in trên shield module và schematic đáng tin hơn tiêu đề listing.
Bộ đồ tối thiểu để đi cùng series
Bạn chưa cần mua một hộp 40 sensor. Một bộ nhỏ nhưng dễ debug hữu ích hơn:
- Một ESP32-C3-DevKitM-1 hoặc ESP32-S3-DevKitC-1 N8R8.
- Cáp USB có data đúng đầu cắm của board.
- Breadboard và dây Dupont male–male, male–female.
- LED rời, điện trở 220–1.000 Ω và một nút nhấn.
- Một sensor I2C phổ biến như BME280 hoặc SHT30 từ nguồn đáng tin cậy.
- Multimeter cơ bản.
Trước khi cắm cảm biến, hãy nối board với máy tính, đọc tên chip từ log nạp và lưu lại link pinout đúng revision. Công cụ ESP32 Pinout Diagram & Comparison Guide cũng giúp bạn xem từng development kit thay vì áp dụng một sơ đồ chung cho mọi board.
Kết luận: chọn theo dự án, không chọn theo board “mạnh nhất”
Board tốt nhất cho người mới không nhất thiết là board có nhiều RAM hay GPIO nhất. Nó là board có tài liệu rõ, cáp dễ tìm, pinout đúng với bài bạn đang học và đủ tài nguyên cho dự án trong vài tháng tới.
Nếu vẫn phân vân, hãy bắt đầu bằng C3-DevKitM-1 cho sensor/Wi-Fi/BLE hoặc S3-DevKitC-1 N8R8 khi đã có màn hình/camera trong kế hoạch. ESP32 Classic vẫn rất hữu ích để theo tutorial cũ và Bluetooth Classic. Còn SuperMini/XIAO nên là lựa chọn có chủ đích về kích thước, không chỉ vì chúng trông gọn hơn.
Trong P2, mình sẽ đi từ một board còn nguyên trong túi chống tĩnh điện đến lần nạp Blink đầu tiên: cài Arduino IDE, chọn đúng board/port, kiểm tra cáp data và đọc Serial Monitor.
Tham khảo
Chia sẻ
Tiếp tục khám phá
Đọc tiếp
Bài viết liên quan
18 lỗi ESP32 thường gặp và cách khắc phục – Phần 1
Cách mình chẩn đoán 8 lỗi ESP32 thường gặp: nạp code, boot, brownout, serial, GPIO, I2C, SPI và PCB riêng không chạy.
ESP32-C3 hay ESP32-S3: Nên chọn chip nào cho robot Mochi?
So sánh ESP32-C3 và ESP32-S3 theo GPIO, RAM, PSRAM, USB, I2S và khả năng chạy LVGL, kèm lựa chọn cụ thể cho Mochi cơ bản và Mochi AI.
MEMS mic thực sự là gì? Từ màng rung silicon đến I2S trên ESP32
Tìm hiểu microphone MEMS, khác biệt analog, PDM, I2S, thông số quan trọng và lỗi PCB, nguồn, acoustic port khi dùng với ESP32.