IoTLabs

Nghiên cứu, Sáng tạo và Thử nghiệm

Thư viện Datasheet – ESP32 DevKit V1: Sơ đồ chân, nguồn & các giao tiếp cơ bản

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 board
    • UART1, 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 board
    • 3V3: 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 UART
    • RX0: 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ómTên chân (GPIO)Chức năng chínhGhi chú
NguồnVIN / 5VNguồn vào 5VCấp từ adapter/nguồn ngoài
Nguồn3V3Nguồn 3.3VLấy nuôi cảm biến, module nhỏ
NguồnGNDMassNối chung với GND cảm biến
UART0GPIO1 (TX0)UART0 TX, Serial MonitorNối sẵn với USB–UART
UART0GPIO3 (RX0)UART0 RX, Serial MonitorNối sẵn với USB–UART
UART2GPIO16UART2 RX (thường dùng)Có thể đổi bằng Serial2.begin
UART2GPIO17UART2 TX (thường dùng)Dùng kết nối SIM, GPS,…
I2CGPIO21 (SDA)I2C SDAThông dụng cho sensor I2C
I2CGPIO22 (SCL)I2C SCLThông dụng cho sensor I2C
SPIGPIO23 (MOSI)VSPI MOSIThường dùng OLED/TFT, SD card
SPIGPIO19 (MISO)VSPI MISO
SPIGPIO18 (SCK)VSPI SCK
SPIGPIO5 (CS)VSPI CSChân chip select
ADC1GPIO32ADC1_4, input-onlyĐo điện áp cảm biến
ADC1GPIO33ADC1_5, input-only
ADC1GPIO34ADC1_6, input-onlyChỉ input
ADC1GPIO35ADC1_7, input-onlyChỉ input
ADC1GPIO36ADC1_0, input-onlyCảm biến nội / đo pin
ADC1GPIO39ADC1_3, input-only
DACGPIO25DAC1 + ADC2Xuất dạng analog (DAC)
DACGPIO26DAC2 + ADC2
KhácGPIO0Boot mode / GPIOCẩn thận khi kéo mức lúc khởi động
KhácGPIO2GPIO + boot strappingHạn chế kéo sai mức lúc reset
KhácGPIO15GPIO + 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, 15 nếu chưa hiểu rõ boot mode
  • Không dùng GPIO6–11 vì đã nối Flash
  • Dùng GPIO34–39 khi 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 V1Cảm biến I2COLED I2C
3V3VCCVCC
GNDGNDGND
GPIO21SDASDA
GPIO22SCLSCL

Đâ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ế

  1. Đ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.
  2. 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.
  3. 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–11 nối vào Flash – không dùng.
  4. 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).
  5. 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).
  6. 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:

  1. 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ỳ
  2. 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
  3. 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
  4. 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

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *