Sơ đồ chân ESP32 DevKit V1 30 chân và 38 chân: chân nào dùng được, chân nào nên tránh

Sơ đồ chân ESP32 DevKit V1 30 chân và 38 chân: số GPIO, ADC1, ADC2, cảm ứng, I2C, SPI, UART, chân khởi động, chân chỉ vào, chân nối flash và cách chọn chân đúng cho từng việc.

Mạch ESP32 DevKit V1 có hai bản phổ biến: loại 30 chân và loại 38 chân. Cả hai dùng cùng module ESP32-WROOM-32, nhưng thứ tự chân, tên in trên mạch và số chân lộ ra khác nhau. Chọn sai chân là nguyên nhân của rất nhiều lỗi khó hiểu: nạp code không được, mạch không khởi động khi cắm thêm module, đọc analog ra 4095 khi bật Wi-Fi. Bài viết này là bảng tra sơ đồ chân ESP32 cho cả hai bản, chỉ rõ chân nào dùng tự do, chân nào phải cẩn thận và chân nào không được đụng tới.

1. Nhận biết bản 30 chân và 38 chân

Ảnh thực tế mạch ESP32 DevKit V1 30 chân cổng Type-C, nhìn rõ hàng chân D34 D35 D32 D33 D25 D26 D27 D14 D12 D13 GND VIN và hàng TX2 RX2 D4 D2 D15 GND 3V3
Ảnh thực tế ESP32 DevKit V1 30 chân cổng Type-C: tên chân in ngay cạnh từng chân.

Cách nhanh nhất là đếm số chân một bên: 15 chân là bản 30 chân, 19 chân là bản 38 chân. Dấu hiệu thứ hai là chân nguồn ở góc dưới: bản 30 chân in VIN, bản 38 chân in 5V.

So sánh ESP32 DevKit 30 chân (15 chân mỗi bên, chân VIN) và ESP32 38 chân (19 chân mỗi bên, chân 5V, có thêm GPIO0 và 6 chân nối flash)
Phân biệt ESP32 DevKit 30 chân và 38 chân (hình tự vẽ).
Đặc điểmBản 30 chânBản 38 chân
Số chân mỗi bên1519
Số chân GPIO lộ ra2532 (gồm 6 chân nối flash không dùng được)
Chân nguồn vàoVIN5V
GPIO0Không lộ ra (chỉ nối nút BOOT)Có chân IO0
Cắm lên breadboard MB-102Còn một hàng lỗ trống mỗi bênChe kín một bên, thường phải ghép hai breadboard hoặc dùng đế ra chân
Đèn LED ở GPIO2Hầu hết bản cóNhiều bản không có

Chip ESP32 có 34 chân GPIO (GPIO0 đến GPIO39, thiếu 20, 24 và 28 đến 31). Không bản mạch nào lộ ra đủ cả 34 chân, vì một số chân đã dùng bên trong module.

2. Sơ đồ chân ESP32 DevKit V1 30 chân

Sơ đồ chân ESP32 DevKit V1 30 chân tô màu theo nhóm: chân dùng tự do, chân khởi động GPIO2 GPIO5 GPIO12 GPIO15, chân chỉ vào GPIO34 GPIO35 GPIO36 GPIO39, UART0 GPIO1 GPIO3, kèm kênh ADC, cảm ứng, DAC, I2C, SPI, UART2
Sơ đồ chân ESP32 DevKit V1 30 chân, nhìn từ mặt trên, cổng USB ở dưới (hình tự vẽ).

Trong chương trình Arduino, chân được gọi bằng số GPIO: chân in D25 trên mạch là 25, chân VP là 36, chân RX2 là 16. Bảng dưới liệt kê đủ 30 chân theo thứ tự trên mạch.

Hàng chân bên trái (nhìn từ mặt trên, cổng USB ở dưới)
In trên mạchGPIOChức năng thêmLưu ý
EN–ResetNối xuống GND là khởi động lại
VP36ADC1_0Chỉ là chân vào
VN39ADC1_3Chỉ là chân vào
D3434ADC1_6Chỉ là chân vào
D3535ADC1_7Chỉ là chân vào
D3232ADC1_4, cảm ứng T9Dùng tự do
D3333ADC1_5, cảm ứng T8Dùng tự do
D2525ADC2_8, DAC1Dùng tự do
D2626ADC2_9, DAC2Dùng tự do
D2727ADC2_7, cảm ứng T7Dùng tự do
D1414ADC2_6, cảm ứng T6, HSPI SCKDùng tự do
D1212ADC2_5, cảm ứng T5, HSPI MISOChân khởi động: phải ở mức thấp khi bật nguồn
D1313ADC2_4, cảm ứng T4, HSPI MOSIDùng tự do
GND–Mass
VIN–Nguồn 5 V vàoXem mục 6
Hàng chân bên phải
In trên mạchGPIOChức năng thêmLưu ý
D2323VSPI MOSIDùng tự do
D2222I2C SCL mặc địnhDùng tự do
TX01UART0 TXNối chip USB, để trống
RX03UART0 RXNối chip USB, để trống
D2121I2C SDA mặc địnhDùng tự do
D1919VSPI MISODùng tự do
D1818VSPI SCKDùng tự do
D55VSPI SS (CS)Chân khởi động: để mức cao khi bật nguồn
TX217UART2 TXDùng tự do
RX216UART2 RXDùng tự do
D44ADC2_0, cảm ứng T0Dùng tự do
D22ADC2_2, cảm ứng T2, LED trên mạchChân khởi động: thấp hoặc để hở khi nạp code
D1515ADC2_3, cảm ứng T3, HSPI SSChân khởi động: để mức cao khi bật nguồn
GND–Mass
3V3–Nguồn 3,3 VXem mục 6

3. Sơ đồ chân ESP32 38 chân

Sơ đồ chân ESP32 38 chân kiểu DevKitC: hàng trái 3V3 EN VP VN IO34 IO35 IO32 IO33 IO25 IO26 IO27 IO14 IO12 GND IO13 SD2 SD3 CMD 5V, hàng phải GND IO23 IO22 TX0 RX0 IO21 GND IO19 IO18 IO5 IO17 IO16 IO4 IO0 IO2 IO15 SD1 SD0 CLK
Sơ đồ chân ESP32 38 chân kiểu DevKitC, nhìn từ mặt trên, cổng USB ở dưới (hình tự vẽ).

Bản 38 chân có cùng các chân GPIO như bản 30 chân, chỉ khác thứ tự và có thêm:

  • IO0 (GPIO0): chân khởi động, nối với nút BOOT. Dùng được nhưng phải để mức cao khi bật nguồn.
  • SD2, SD3, CMD, CLK, SD0, SD1 (GPIO9, 10, 11, 6, 7, 8): sáu chân nối thẳng với bộ nhớ flash bên trong module. Không nối gì vào các chân này.
  • Thêm một chân GND ở hàng phải và chân 3V3 chuyển lên đầu hàng trái.

Tên chân trên bản 38 chân thường in dạng IO34, G34 hoặc chỉ số 34. Dù in kiểu nào, trong chương trình vẫn dùng số GPIO.

4. Những nhóm chân cần nhớ

4.1. Chân chỉ vào: GPIO34, 35, 36, 39

Bốn chân này chỉ đọc được tín hiệu vào, không xuất được mức cao hay thấp, không có điện trở kéo lên hoặc kéo xuống bên trong. Lệnh pinMode(34, INPUT_PULLUP) không có tác dụng. Muốn nối nút nhấn vào các chân này phải thêm điện trở kéo lên khoảng 10 kΩ ra 3V3. Đây là các chân rất tốt để đọc analog vì thuộc ADC1.

4.2. Chân khởi động: GPIO0, 2, 5, 12, 15

ESP32 đọc mức của các chân này đúng lúc bật nguồn hoặc reset để quyết định cách khởi động. Sau khi đã chạy, chúng là chân bình thường. Rắc rối chỉ xảy ra khi mạch ngoài kéo chân về sai mức lúc khởi động.

ChânMức cần có lúc bật nguồnNếu sai mức
GPIO0Cao (có điện trở kéo lên trong)Mức thấp: vào chế độ nạp code, chương trình không chạy
GPIO2Thấp hoặc để hở khi nạp codeBị kéo lên cao: không vào được chế độ nạp, báo lỗi kết nối
GPIO12Thấp (có điện trở kéo xuống trong)Mức cao: đặt sai điện áp bộ nhớ flash (1,8 V), mạch không khởi động, báo lỗi đọc flash
GPIO15CaoMức thấp: không in thông báo khởi động ra Serial
GPIO5CaoẢnh hưởng chế độ giao tiếp SDIO, thường không gây lỗi với Arduino

Vì vậy không nối module có điện trở kéo lên (ví dụ một số module relay, cảm biến có ngõ ra kéo lên) vào GPIO12 và GPIO2. Nếu bắt buộc dùng, kiểm tra lại mạch nạp code và khởi động được bình thường.

4.3. Chân nối bộ nhớ flash: GPIO6 đến GPIO11

Chương trình nằm trong bộ nhớ flash, và ESP32 đọc flash liên tục qua sáu chân này. Bản 30 chân không lộ ra các chân này. Bản 38 chân có lộ ra (SD0, SD1, SD2, SD3, CMD, CLK): nối thử bất cứ thứ gì vào là mạch có thể treo hoặc khởi động lại liên tục.

4.4. TX0, RX0 (GPIO1, GPIO3)

Hai chân này nối với chip USB (CP2102 hoặc CH340) để nạp code và in ra Serial Monitor. Nối thiết bị khác vào sẽ làm hỏng cả hai việc. Cần thêm cổng nối tiếp thì dùng UART2 ở RX2 (GPIO16), TX2 (GPIO17).

4.5. ADC1, ADC2 và Wi-Fi

ESP32 có hai bộ chuyển đổi analog sang số. ADC2 (GPIO0, 2, 4, 12, 13, 14, 15, 25, 26, 27) dùng chung với khối Wi-Fi: khi Wi-Fi đang bật, analogRead() trên các chân này không đọc được. Dự án vừa đọc cảm biến analog vừa gửi dữ liệu qua Wi-Fi phải dùng ADC1: GPIO32, 33, 34, 35, 36 (VP), 39 (VN).

4.6. Chân cảm ứng, DAC và PWM

  • Cảm ứng: 10 chân T0 đến T9 (GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32) đọc được điện dung khi chạm tay bằng touchRead().
  • DAC: GPIO25 và GPIO26 xuất được điện áp thật từ 0 đến khoảng 3,3 V với 256 mức.
  • PWM: mọi chân xuất được đều tạo được PWM bằng analogWrite() hoặc LEDC.

5. Chọn chân ESP32 theo việc cần làm

Ba nhóm chân ESP32: nên dùng trước GPIO4 13 14 16 17 18 19 21 22 23 25 26 27 32 33; dùng được cần lưu ý GPIO0 2 5 12 15 và 34 35 36 39; không dùng GPIO1 3 và GPIO6 đến 11
Ba nhóm chân ESP32 theo mức độ an toàn khi dùng (hình tự vẽ).
Việc cần làmChân gợi ýGhi chú
Bật tắt LED, relay, MOSFETGPIO16, 17, 18, 19, 23, 25, 26, 27, 32, 33Tránh GPIO12 và GPIO2 nếu module có điện trở kéo lên
Đọc nút nhấnGPIO4, 13, 14, 16, 17, 18, 19, 23, 25, 26, 27, 32, 33Dùng INPUT_PULLUP, nút nối xuống GND
Đọc cảm biến analog khi bật Wi-FiGPIO32, 33, 34, 35, 36, 39Chỉ ADC1
I2C (màn hình OLED, LCD I2C, cảm biến)SDA GPIO21, SCL GPIO22Đổi được sang chân khác bằng Wire.begin(sda, scl)
SPI (thẻ nhớ, LoRa)MOSI 23, MISO 19, SCK 18, CS 5Chân CS có thể chọn chân khác
UART thêm (module GPS, RS-485)RX2 GPIO16, TX2 GPIO17Serial2
Nút chạm cảm ứngGPIO4, 13, 14, 27, 32, 33Tránh các chân cảm ứng là chân khởi động
Xuất điện áp analogGPIO25, 26DAC 8 bit

6. Chân nguồn: VIN, 5V, 3V3, GND và EN

  • VIN (bản 30 chân) hay 5V (bản 38 chân): khi cắm USB, chân này có khoảng 5 V từ cổng USB. Khi không cắm USB, có thể cấp 5 V từ nguồn ngoài vào đây. Không đưa 12 V thẳng vào chân này; dùng mạch hạ áp xuống 5 V trước.
  • 3V3: ngõ ra 3,3 V của IC ổn áp trên mạch. Đủ cho cảm biến, màn hình OLED, LCD I2C. Tải tốn dòng như relay, động cơ, dải LED phải lấy nguồn riêng, chỉ nối chung GND.
  • GND: mọi thiết bị nối với ESP32 phải nối chung GND, kể cả khi dùng nguồn riêng.
  • EN: nối xuống GND để reset, giống nhấn nút EN.

Chân ESP32 dùng mức logic 3,3 V và không chịu được 5 V. Module xuất tín hiệu 5 V (một số cảm biến siêu âm, module 5 V cũ) cần cầu phân áp hoặc mạch chuyển mức. Mỗi chân chỉ nên cấp dòng dưới khoảng 20 mA: đủ cho một LED có điện trở hạn dòng, không đủ cho cuộn dây relay hay động cơ.

7. Lỗi thường gặp do chọn sai chân

Hiện tượngNguyên nhân hay gặpCách sửa
Cắm module vào thì không nạp code đượcModule kéo GPIO2 lên cao hoặc kéo GPIO0 xuống thấpRút dây khỏi GPIO2, GPIO0 khi nạp, hoặc chuyển sang chân khác
Mạch không chạy, Serial báo lỗi đọc flashGPIO12 bị kéo lên cao lúc bật nguồnĐổi thiết bị sang chân khác
Nút nhấn ở GPIO34 lúc nào cũng nhảy lung tungChân chỉ vào, không có điện trở kéo lên trongThêm điện trở 10 kΩ từ chân ra 3V3
analogRead() trả về 0 hoặc giá trị lạ khi bật Wi-FiĐang đọc chân ADC2Chuyển cảm biến sang GPIO32 đến 39
Mạch khởi động lại liên tục khi nối vào chân SD2, CMD…Đụng vào chân nối flash trên bản 38 chânKhông dùng GPIO6 đến 11
Serial Monitor không hiện gì, nạp code báo lỗiNối thiết bị vào TX0, RX0Dùng Serial2 ở GPIO16, 17
Chân xuất ra nóng hoặc ESP32 tự reset khi bật tảiLấy dòng trực tiếp từ chân GPIO cho relay, động cơDùng module relay, transistor hoặc MOSFET

8. Xem thêm


Tin tức liên quan

Cấu tạo flycam và nguyên lý hoạt động: khung, động cơ, ESC, cánh quạt, pin, mạch điều khiển bay
Cấu tạo flycam và nguyên lý hoạt động: khung, động cơ, ESC, cánh quạt, pin, mạch điều khiển bay

Cấu tạo flycam 4 cánh: khung, động cơ không chổi than, ESC, cánh quạt, pin LiPo, mạch điều khiển bay; đường năng lượng, tín hiệu và cách tạo ga, roll, pitch, yaw chỉ bằng tốc độ động cơ.

Điện áp, dòng điện, điện trở và định luật Ohm: hiểu bằng ví dụ và đo bằng ESP32
Điện áp, dòng điện, điện trở và định luật Ohm: hiểu bằng ví dụ và đo bằng ESP32

Điện áp, dòng điện, điện trở là gì, đơn vị và tiền tố, định luật Ohm U = I × R với ví dụ, đường U–I của điện trở và LED, thí nghiệm kiểm chứng định luật Ohm bằng DAC và ADC của ESP32.

Cảm biến khí ga: MQ, điện hóa, xúc tác, NDIR – cấu tạo, nguyên lý, chế tạo và đọc MQ-2 bằng ESP32
Cảm biến khí ga: MQ, điện hóa, xúc tác, NDIR – cấu tạo, nguyên lý, chế tạo và đọc MQ-2 bằng ESP32

Cảm biến khí ga hoạt động thế nào: bán dẫn SnO₂ họ MQ, điện hóa, xúc tác, hồng ngoại NDIR, cách chế tạo cảm biến bán dẫn và đọc module MQ-2 bằng ESP32 để tính Rs/R0, ước lượng ppm.

Vali chuyên dụng là gì? Các loại vali chống sốc đựng thiết bị và cách chọn
Vali chuyên dụng là gì? Các loại vali chống sốc đựng thiết bị và cách chọn

Vali chuyên dụng là vali vỏ cứng có xốp giữ chặt thiết bị. Bài giải thích cấu tạo, bốn nhóm vali thường gặp (nhựa PP, chống nước IP67, vali nhôm, hộp sẵn xốp) và cách chọn nhanh theo nhu cầu.

Jack Type-C đực: sơ đồ chân, điện trở CC và cách hàn dây
Jack Type-C đực: sơ đồ chân, điện trở CC và cách hàn dây

Jack Type-C đực (đầu cắm) chỉ có một chân CC ở A5 và một cặp D+ D−. Bài trình bày sơ đồ chân đầu đực, điện trở 56 kΩ hoặc 5,1 kΩ cần gắn ở chân CC cho từng kiểu dây và các bước hàn dây vào pad.

Cách dùng đồng hồ vạn năng: đo điện áp, dòng điện, điện trở, thông mạch, diode
Cách dùng đồng hồ vạn năng: đo điện áp, dòng điện, điện trở, thông mạch, diode

Hướng dẫn dùng đồng hồ vạn năng số cho người mới: các bộ phận, chọn thang, cách mắc đo điện áp, dòng điện, điện trở, thử thông mạch và diode, đọc kết quả, độ chính xác, lỗi cần tránh.

Thực hành hiệu chuẩn thước điện trở bằng căn mẫu với ADS1115, ESP32: đo tỉ lệ, độ tuyến tính, độ trễ
Thực hành hiệu chuẩn thước điện trở bằng căn mẫu với ADS1115, ESP32: đo tỉ lệ, độ tuyến tính, độ trễ

Hiệu chuẩn thước điện trở 50 mm bằng chồng căn mẫu: ADS1115 đo tỉ lệ, ESP32 ghi điểm đi lên và đi xuống, khớp đa thức, tính sai số tuyến tính, độ trễ và độ không đảm bảo.

Số nhị phân cho trẻ: đếm bằng 5 thẻ chấm, giải mật thư như máy tính
Số nhị phân cho trẻ: đếm bằng 5 thẻ chấm, giải mật thư như máy tính

Dạy trẻ số nhị phân bằng 5 thẻ chấm 1, 2, 4, 8, 16: viết số, đếm và tìm quy luật, giải mật thư chữ cái, liên hệ với bit, màn hình và mạch ESP32. Hoạt động không cần máy tính.


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