1. Giới thiệu board ESP32 DevKit V1
ESP32 DevKit V1 là một trong những board phát triển phổ biến nhất dùng chip ESP32-WROOM-32. Board tích hợp sẵn:
- WiFi + Bluetooth/BLE
- Cổng USB (qua chip USB–UART) để nạp firmware & Serial Monitor
- Mạch nguồn 5V → 3.3V
- Hệ thống chân header 2 bên, dễ cắm breadboard
Board phù hợp cho:
- Người mới bắt đầu với IoT, cần một board dễ nạp code, dễ đấu nối
- Các project ESP32 + cảm biến + MQTT (gửi dữ liệu lên server, IoTLabs Cloud, v.v.)
- Dự án học tập, demo, prototype nhanh
Trong bài này, ta tập trung vào: sơ đồ chân (pinout), nguồn, và các giao tiếp cơ bản để bạn có thể đọc – hiểu – dùng ESP32 DevKit V1 tự tin hơn.
2. Thông số kỹ thuật chính (Key specs)
Chip chính: ESP32-WROOM-32 (dual-core, 32-bit, đến 240 MHz)
Bộ nhớ:
- Flash: 4 MB (thường thấy trên DevKit V1)
- RAM: ~520 KB SRAM
Kết nối không dây:
- WiFi 2.4 GHz 802.11 b/g/n
- Bluetooth Classic + BLE
Nguồn cấp:
- 5V qua cổng USB (Micro USB / Type-C tùy board)
- Chân VIN: 5V (cấp từ nguồn ngoài)
- Chân 3V3: 3.3V (xuất từ LDO trên board, dùng nuôi cảm biến – lưu ý dòng tối đa ~500 mA tùy phiên bản)
Mức logic GPIO: 3.3V (không được đưa trực tiếp 5V vào GPIO)
Giao tiếp phần cứng:
- GPIO khả dụng: ~25 chân dùng được (một số chân bị hạn chế do dùng cho Flash/boot)
- UART: 3 bộ UART (UART0, UART1, UART2) – thường dùng:
UART0: GPIO1 (TX0), GPIO3 (RX0) – nối với USB–UART trên boardUART1,UART2: có thể map lên nhiều chân khác nhau
- I2C: 2 bộ I2C có thể cấu hình, thường:
- SDA: GPIO21
- SCL: GPIO22
- SPI: 3 bộ SPI (VSPI, HSPI, SPI) – thường:
- VSPI: GPIO23 (MOSI), GPIO19 (MISO), GPIO18 (SCK), GPIO5 (CS)
- ADC: tới 18 kênh ADC (ADC1 & ADC2, độ phân giải tới 12-bit), ví dụ:
- ADC1: GPIO32–39 (input-only), GPIO36/39 là cảm biến nội
- ADC2: một số GPIO ở dải 0–15 (nhưng bị xung đột với WiFi, hạn chế dùng khi WiFi bật)
- DAC: 2 kênh DAC (GPIO25, GPIO26)
3. Sơ đồ chân (Pinout ESP32 DevKit V1)
3.1. Nhóm chân quan trọng
- Nguồn:
VIN/5V: cấp 5V cho board3V3: xuất 3.3V (nuôi cảm biến, module nhỏ)GND: mass chung
- Chân đặc biệt (boot/flash):
GPIO0: liên quan chế độ boot (FLASH/Download mode)GPIO2,GPIO15: cũng ảnh hưởng quá trình boot trên một số thiết kếGPIO6–11: không dùng – được nối vào Flash nội
- Chân chỉ input:
GPIO34,GPIO35,GPIO36,GPIO39: chỉ làm INPUT, không xuất được mức HIGH/LOW
- UART mặc định:
TX0: GPIO1 – nối USB UARTRX0: GPIO3 – nối USB UART
3.2. Bảng pinout cơ bản (rút gọn)
Lưu ý: Tên chân in trên board (D0, D1…) có thể khác nhau tùy nhà sản xuất. Bảng dưới liệt kê tên GPIO thực tế.
| Nhóm | Tên chân (GPIO) | Chức năng chính | Ghi chú |
|---|---|---|---|
| Nguồn | VIN / 5V | Nguồn vào 5V | Cấp từ adapter/nguồn ngoài |
| Nguồn | 3V3 | Nguồn 3.3V | Lấy nuôi cảm biến, module nhỏ |
| Nguồn | GND | Mass | Nối chung với GND cảm biến |
| UART0 | GPIO1 (TX0) | UART0 TX, Serial Monitor | Nối sẵn với USB–UART |
| UART0 | GPIO3 (RX0) | UART0 RX, Serial Monitor | Nối sẵn với USB–UART |
| UART2 | GPIO16 | UART2 RX (thường dùng) | Có thể đổi bằng Serial2.begin |
| UART2 | GPIO17 | UART2 TX (thường dùng) | Dùng kết nối SIM, GPS,… |
| I2C | GPIO21 (SDA) | I2C SDA | Thông dụng cho sensor I2C |
| I2C | GPIO22 (SCL) | I2C SCL | Thông dụng cho sensor I2C |
| SPI | GPIO23 (MOSI) | VSPI MOSI | Thường dùng OLED/TFT, SD card |
| SPI | GPIO19 (MISO) | VSPI MISO | |
| SPI | GPIO18 (SCK) | VSPI SCK | |
| SPI | GPIO5 (CS) | VSPI CS | Chân chip select |
| ADC1 | GPIO32 | ADC1_4, input-only | Đo điện áp cảm biến |
| ADC1 | GPIO33 | ADC1_5, input-only | |
| ADC1 | GPIO34 | ADC1_6, input-only | Chỉ input |
| ADC1 | GPIO35 | ADC1_7, input-only | Chỉ input |
| ADC1 | GPIO36 | ADC1_0, input-only | Cảm biến nội / đo pin |
| ADC1 | GPIO39 | ADC1_3, input-only | |
| DAC | GPIO25 | DAC1 + ADC2 | Xuất dạng analog (DAC) |
| DAC | GPIO26 | DAC2 + ADC2 | |
| Khác | GPIO0 | Boot mode / GPIO | Cẩn thận khi kéo mức lúc khởi động |
| Khác | GPIO2 | GPIO + boot strapping | Hạn chế kéo sai mức lúc reset |
| Khác | GPIO15 | GPIO + boot strapping |
Khi thiết kế project, bạn nên:
- Ưu tiên dùng GPIO 4, 5, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33
- Tránh dùng
GPIO0, 2, 15nếu chưa hiểu rõ boot mode - Không dùng
GPIO6–11vì đã nối Flash - Dùng
GPIO34–39khi chỉ cần đọc analog/digital input (không điều khiển thiết bị)
4. Sơ đồ đấu nối mẫu với máy tính & breadboard
4.1. Kết nối ESP32 DevKit V1 với máy tính
Rất đơn giản:
- Cắm cáp USB từ ESP32 DevKit V1 → máy tính
- Trên Arduino IDE / PlatformIO:
- Chọn Board: ESP32 Dev Module hoặc đúng loại board bạn đang dùng
- Chọn cổng COM tương ứng
- Nguồn 5V được cấp từ chính cổng USB
Nếu dùng chung với nhiều module công suất lớn (relay, LED strip, motor…), nên cấp nguồn ngoài riêng cho tải và nối chung GND với ESP32.
4.2. Ví dụ đấu nối ESP32 + cảm biến I2C + OLED
Ví dụ board ESP32 DevKit V1 + cảm biến nhiệt độ I2C + OLED I2C:
| ESP32 DevKit V1 | Cảm biến I2C | OLED I2C |
|---|---|---|
| 3V3 | VCC | VCC |
| GND | GND | GND |
| GPIO21 | SDA | SDA |
| GPIO22 | SCL | SCL |
Đây là cấu hình I2C chung bus: nhiều thiết bị dùng chung SDA, SCL – chỉ cần mỗi thiết bị có địa chỉ I2C khác nhau.
5. Lưu ý khi sử dụng ESP32 DevKit V1 trong thực tế
- Điện áp 3.3V cho GPIO
- Tất cả GPIO hoạt động ở mức 3.3V.
- Không đưa trực tiếp 5V vào chân GPIO, tránh cháy chip.
- Dòng tải tối đa của 3V3
- Chân 3V3 lấy từ LDO, thường cung cấp được vài trăm mA.
- Nếu dùng nhiều module (SIM 4G, LoRa, nhiều LED…), nên cấp nguồn riêng và chỉ nối chung GND.
- Các chân boot & Flash
GPIO0,GPIO2,GPIO15ảnh hưởng chế độ boot – tránh treo cứng HIGH/LOW ở mức “lạ” nếu không hiểu rõ.GPIO6–11nối vào Flash – không dùng.
- Chân ADC & WiFi
- ADC2 (một số GPIO 0–15) có thể bị giới hạn khi WiFi hoạt động.
- Nếu cần đo analog ổn định khi WiFi bật, ưu tiên dùng ADC1 (GPIO32–39).
- Chân chỉ input (34–39)
- Không thể
digitalWrite()để điều khiển relay/LED. - Chỉ dùng để đọc tín hiệu (nút bấm, điện áp cảm biến).
- Không thể
- An toàn điện & chống nhiễu
- Các project dùng relay điều khiển 220V: luôn cách ly, dùng module relay có opto, tuân thủ an toàn điện.
- Với cảm biến analog/đường dây dài, nên thêm tụ lọc, chống nhiễu.
6. Gợi ý ứng dụng thực tế (áp dụng cho hệ sinh thái IoTLabs)
Với ESP32 DevKit V1, bạn có thể triển khai nhanh các project:
- Trạm giám sát môi trường mini
- ESP32 DevKit V1 + DHT22 + MQ-2 + OLED I2C
- Gửi dữ liệu lên IoTLabs MQTT Cloud hoặc server MQTT bất kỳ
- Thiết bị cảnh báo gas & khói
- ESP32 DevKit V1 + MQ-2 + cảm biến lửa + buzzer + relay còi
- ESP32 dùng WiFi gửi cảnh báo qua MQTT/HTTP
- Bộ điều khiển nhà thông minh
- ESP32 DevKit V1 + 4–8 relay module + nút bấm + OLED
- Điều khiển đèn/quạt qua WiFi, mobile app
- Bộ thử nghiệm cảm biến đa năng trong lớp học
- Một board ESP32 DevKit V1 + nhiều sensor cắm qua breadboard
- Học sinh, sinh viên cắm – chạy – thử từng cảm biến dựa trên pinout chuẩn hoá của IoTLabs


Leave a Reply