ESP32 NodeMCU-32S (38 chân)
Ai-Thinker
Datasheet kỹ thuật cho board Ai-Thinker ESP32 NodeMCU-32S 38 chân: cấu hình, nguồn, giao tiếp, pinout, boot và các lưu ý khi kiểm tra board thực tế.
Mô tả chi tiết
TỔNG QUAN
ESP32 NodeMCU-32S là board phát triển 38 chân của Ai-Thinker, sử dụng module ESP-WROOM-32 và vi điều khiển ESP32. Tài liệu này tổng hợp cấu hình, nguồn điện, giao tiếp, pinout, cách nạp chương trình và các giới hạn quan trọng khi sử dụng board trong dự án IoT.
THÔNG SỐ CHÍNH
• Vi điều khiển: ESP32, kiến trúc Xtensa LX6 32-bit hai nhân.
• Tần số CPU: điều chỉnh từ 80 MHz đến 240 MHz.
• Hệ điều hành/phần mềm nền: hỗ trợ FreeRTOS; có bộ đồng xử lý ULP cho tác vụ tiết kiệm năng lượng.
• SRAM trên chip: 520 KB.
• SPI Flash: 32 Mbit (4 MB) trên phiên bản tiêu chuẩn được mô tả trong tài liệu Ai-Thinker.
• Thạch anh chính: 40 MHz.
• Anten: anten PCB tích hợp.
• Số chân header: 38.
• Kích thước tham khảo theo tài liệu Ai-Thinker: 25,4 × 48,26 × 3 mm, sai số ±0,2 mm.
• Nhiệt độ hoạt động tham khảo: -40 °C đến 85 °C.
KẾT NỐI KHÔNG DÂY
• Wi-Fi 2,4 GHz, IEEE 802.11 b/g/n; hỗ trợ Station, Access Point và Station + Access Point.
• Tốc độ dữ liệu 802.11n tối đa theo tài liệu nhà sản xuất: 150 Mbps.
• Bluetooth Classic 4.2 BR/EDR và Bluetooth Low Energy.
• Hỗ trợ TCP/IP qua lwIP, OTA/FOTA tùy firmware và framework sử dụng.
NGUỒN ĐIỆN VÀ MỨC LOGIC
Board có thể được cấp nguồn qua cổng USB hoặc chân 5V. ESP32 và các chân GPIO hoạt động ở mức logic 3,3 V; không đưa tín hiệu 5 V trực tiếp vào GPIO. Tài liệu module nêu dải cấp nguồn 2,3–3,6 V, giá trị điển hình 3,3 V và yêu cầu nguồn có khả năng cấp dòng lớn hơn 500 mA. Nguồn yếu hoặc dây USB có điện trở cao có thể làm board reset khi Wi-Fi phát công suất lớn. Luôn nối chung GND giữa board và mạch ngoại vi.
NGOẠI VI
ESP32 cung cấp tối đa 34 GPIO, hai bộ ADC SAR 12-bit với tối đa 18 kênh, hai ngõ ra DAC 8-bit, 10 kênh cảm ứng điện dung, PWM, ba UART, bốn bộ điều khiển SPI, hai I2C, hai I2S, SD/SDIO, RMT, bộ đếm xung, bộ định thời và các chân RTC. Khả năng sử dụng thực tế phụ thuộc chân đã được nối với Flash, mạch USB-UART và cấu hình boot của board.
ÁNH XẠ GIAO TIẾP THƯỜNG DÙNG
• I2C: SDA GPIO21, SCL GPIO22.
• VSPI: SCK GPIO18, MISO GPIO19, MOSI GPIO23, CS GPIO5.
• UART0 dùng nạp chương trình và log: RX GPIO3, TX GPIO1.
• UART2: RX GPIO16, TX GPIO17.
• DAC: GPIO25 (DAC1) và GPIO26 (DAC2).
• GPIO32 và GPIO33 có thể dùng với thạch anh RTC 32,768 kHz khi thiết kế phù hợp.
PINOUT 38 CHÂN
1. 3V3 — nguồn 3,3 V.
2. EN — enable/reset, tác động mức cao; kéo thấp để reset chip.
3. SVP / GPIO36 — ADC1_CH0, RTC GPIO, chỉ ngõ vào.
4. SVN / GPIO39 — ADC1_CH3, RTC GPIO, chỉ ngõ vào.
5. P34 / GPIO34 — ADC1_CH6, chỉ ngõ vào.
6. P35 / GPIO35 — ADC1_CH7, chỉ ngõ vào.
7. P32 / GPIO32 — ADC1_CH4, TOUCH9, RTC GPIO.
8. P33 / GPIO33 — ADC1_CH5, TOUCH8, RTC GPIO.
9. P25 / GPIO25 — DAC1, ADC2_CH8, RTC GPIO.
10. P26 / GPIO26 — DAC2, ADC2_CH9, RTC GPIO.
11. P27 / GPIO27 — ADC2_CH7, TOUCH7, RTC GPIO.
12. P14 / GPIO14 — ADC2_CH6, TOUCH6, HSPI CLK, chân strapping/JTAG MTMS.
13. P12 / GPIO12 — ADC2_CH5, TOUCH5, HSPI Q, chân strapping/JTAG MTDI.
14. GND — mass nguồn.
15. P13 / GPIO13 — ADC2_CH4, TOUCH4, HSPI D, JTAG MTCK.
16. SD2 / GPIO9 — đường SPI Flash; không dùng như GPIO thông thường.
17. SD3 / GPIO10 — đường SPI Flash; không dùng như GPIO thông thường.
18. CMD / GPIO11 — đường lệnh SPI Flash; không dùng như GPIO thông thường.
19. 5V — đường nguồn 5 V của board.
20. CLK / GPIO6 — clock SPI Flash; không dùng như GPIO thông thường.
21. SD0 / GPIO7 — đường dữ liệu SPI Flash; không dùng như GPIO thông thường.
22. SD1 / GPIO8 — đường dữ liệu SPI Flash; không dùng như GPIO thông thường.
23. P15 / GPIO15 — ADC2_CH3, TOUCH3, HSPI CS, chân strapping/JTAG MTDO.
24. P2 / GPIO2 — ADC2_CH2, TOUCH2, chân strapping.
25. P0 / GPIO0 — ADC2_CH1, TOUCH1, BOOT; kéo thấp khi reset để vào chế độ nạp.
26. P4 / GPIO4 — ADC2_CH0, TOUCH0.
27. P16 / GPIO16 — UART2 RX.
28. P17 / GPIO17 — UART2 TX.
29. P5 / GPIO5 — VSPI CS, chân strapping.
30. P18 / GPIO18 — VSPI SCK.
31. P19 / GPIO19 — VSPI MISO.
32. GND — mass nguồn.
33. P21 / GPIO21 — I2C SDA thường dùng.
34. RX / GPIO3 — UART0 RX, dùng cho nạp chương trình và serial.
35. TX / GPIO1 — UART0 TX, dùng cho nạp chương trình và serial.
36. P22 / GPIO22 — I2C SCL thường dùng.
37. P23 / GPIO23 — VSPI MOSI.
38. GND — mass nguồn.
CÁC GIỚI HẠN QUAN TRỌNG
• GPIO34, GPIO35, GPIO36 và GPIO39 chỉ là ngõ vào và không có điện trở kéo lên/kéo xuống nội như GPIO thông thường.
• GPIO6 đến GPIO11 kết nối với SPI Flash; sử dụng các chân này có thể làm treo hoặc hỏng quá trình khởi động.
• GPIO0, GPIO2, GPIO5, GPIO12 và GPIO15 là các chân strapping. Mức logic sai trong lúc reset có thể làm board không khởi động đúng.
• GPIO0 ở mức thấp khi reset sẽ đưa ESP32 vào bootloader để nạp firmware.
• ADC2 dùng chung tài nguyên với Wi-Fi trên ESP32 cổ điển. Khi Wi-Fi hoạt động, phép đọc ADC2 có thể thất bại; nên ưu tiên ADC1 cho cảm biến analog cần hoạt động đồng thời với Wi-Fi.
• Chân 3,3 V và GPIO không chịu được 5 V trực tiếp. Dùng mạch chuyển mức logic khi kết nối ngoại vi 5 V.
NẠP CHƯƠNG TRÌNH
Có thể phát triển bằng ESP-IDF, Arduino Core for ESP32 hoặc MicroPython. Kết nối USB với máy tính, chọn đúng cổng serial và cấu hình board ESP32 phù hợp. Nhiều revision hỗ trợ tự động chuyển boot qua mạch DTR/RTS; nếu nạp thất bại, giữ BOOT/GPIO0 ở mức thấp trong lúc reset rồi thả ra khi quá trình tải bắt đầu. Sau khi nạp, nhấn EN để khởi động lại chương trình.
KIỂM TRA BOARD THỰC TẾ
Tên “NodeMCU-32S” được dùng cho nhiều board tương thích, bản clone và revision khác nhau trên thị trường. Module ESP32, dung lượng Flash, chip USB-to-UART, IC ổn áp, mạch tự động reset/boot, kiểu cổng USB, silk-screen và cách bố trí linh kiện có thể khác tài liệu này.
Trước khi cấp nguồn hoặc đấu ngoại vi:
1. Kiểm tra tên model/revision in trên PCB và mã module dưới vỏ kim loại.
2. So sánh silk-screen của từng chân với sơ đồ từ nhà cung cấp đúng revision.
3. Xác định điện áp chân 5V và 3V3 bằng đồng hồ đo.
4. Kiểm tra liên tục các chân GND và hướng cắm board trên breadboard.
5. Xác định chip USB-to-UART để cài driver tương ứng.
6. Không giả định mọi board mang tên NodeMCU-32S có cùng Flash, cổng USB hoặc mạch nguồn.
Nếu board thực tế khác nội dung này, ưu tiên sơ đồ, datasheet và linh kiện đúng với revision đang sử dụng.
NGUỒN THAM KHẢO
1. Ai-Thinker, NodeMCU-32S Specification V1 (2019): https://en.ai-thinker.com/Uploads/file/20190715/20190715150654_18687.pdf
2. Espressif Systems, ESP32 Hardware Reference: https://docs.espressif.com/projects/esp-idf/en/stable/esp32/hw-reference/index.html
3. Espressif Systems, ESP32 Series Datasheet và tài liệu ESP-IDF liên quan được liên kết từ Hardware Reference.