Sơ đồ chân của ESP32 là một trong những điểm mạnh lớn nhất của nó và là một trong những nguyên nhân gây nhầm lẫn phổ biến nhất. Với ghép kênh nặng, phụ thuộc chế độ khởi động nghiêm ngặt và hành vi tương tự nhạy cảm, việc lựa chọn chân chính xác là rất quan trọng để hoạt động ổn định. Bài viết này sắp xếp mọi nhóm chân chính một cách rõ ràng để bạn có thể tránh xung đột, ngăn chặn lỗi khởi động và thiết kế phần cứng dựa trên ESP32 đáng tin cậy.

Hiểu sơ đồ chân ESP32
ESP32 là một bộ vi điều khiển mạnh mẽ và linh hoạt được sử dụng rộng rãi trong IoT, tự động hóa và các thiết bị thông minh. Các khả năng nâng cao của nó đến từ một hệ thống sơ đồ chân ghép kênh cao, trong đó nhiều chức năng chia sẻ cùng một chân vật lý. Chúng bao gồm I/O kỹ thuật số, kênh ADC, cảm biến cảm ứng điện dung, bus giao tiếp, chân miền RTC và kết nối nội bộ cho cấu hình khởi động và flash SPI. Bởi vì nhiều chức năng dùng chung chân, hệ thống dây điện không đúng cách có thể gây ra khởi động không thành công, đọc ADC ồn ào hoặc thiết bị ngoại vi bị vô hiệu hóa.
Bố cục pin ESP32 DevKit

Bo mạch phát triển ESP32 thường có các phiên bản 30 chân và 38 chân, cả hai đều có cùng chức năng cốt lõi, nhưng có sự khác biệt nhỏ về các GPIO có sẵn.
Nhóm ghim trên Bảng phát triển ESP32
| Nhóm | Mô tả |
|---|---|
| Chân nguồn | VIN (5 V), đầu ra 3.3 V, GND |
| Chân điều khiển | EN (đặt lại), IO0 (chế độ khởi động) |
| Ghim GPIO | I/O kỹ thuật số với ghép kênh |
| Chân tương tự | Kênh ADC1 và ADC2 |
| Ghim giao tiếp | SPI, I2C, UART, I2S |
| Ghim chỉ đầu vào | GPIO34–GPIO39 |
| Ghim dành riêng cho đèn flash | GPIO6–GPIO11 |
Sắp xếp tiêu đề chung
Tiêu đề bên trái
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3.3V
Tiêu đề bên phải
• GPIO0–23
• Chốt đóng đai khởi động (0, 2, 5, 12, 15)
Hiểu bố cục vật lý giúp bạn dễ dàng tránh sai lầm và lập kế hoạch đi dây hiệu quả.
Tổng quan về ESP32 GPIO

ESP32 GPIO linh hoạt nhờ Ma trận I / O bên trong, cho phép ánh xạ các thiết bị ngoại vi như UART, SPI, I2C và PWM ở hầu hết mọi nơi. GPIO hỗ trợ đầu vào/đầu ra kỹ thuật số với điện trở kéo lên/xuống tích hợp, ngắt kích hoạt cạnh và chuyển mạch đáng tin cậy ở tốc độ cao. Dòng truyền động liên tục điển hình là 12–16 mA (đỉnh lên đến ~ 20–40 mA), vì vậy cần có trình điều khiển bên ngoài cho động cơ hoặc rơ le.
Chân chỉ đầu vào
Các chân này không thể điều khiển đầu ra và lý tưởng cho cảm biến và đầu vào tương tự:
| Ghim | Loại | Khuyến nghị sử dụng |
|---|---|---|
| GPIO34 | Chỉ đầu vào | ADC1 / cảm biến |
| GPIO35 | Chỉ đầu vào | ADC1 |
| GPIO36 (Phó chủ tịch) | Chỉ đầu vào | Cảm biến ADC1 / Hall |
| GPIO39 (VN) | Chỉ đầu vào | ADC1 |
Chân ESP32 an toàn để sử dụng và chân cần tránh

Không phải tất cả các chân ESP32 đều hoạt động như nhau. Một số an toàn, trong khi những người khác ảnh hưởng đến chế độ khởi động hoặc được gắn với bộ nhớ flash bên trong.
Ghim an toàn (được khuyến nghị cho tất cả người dùng)
| GPIO | Ghi chú |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Không có tác động khởi động, lý tưởng cho hầu hết các thiết bị ngoại vi |
Chốt thận trọng (Ảnh hưởng đến chế độ khởi động)
| GPIO | Chức năng khởi động | Tránh trong khi khởi động |
|---|---|---|
| GPIO0 | Chế độ Flash / Khởi động | Giữ CAO (đầu vào) trong quá trình khởi động bình thường |
| GPIO2 | Điện áp khởi động | Phải CAO |
| GPIO5 | Chế độ khởi động tùy chọn | Tránh kéo thấp |
| GPIO12 | Flash voltage chế độ | Phải ở THẤP |
| GPIO15 | Chế độ SPI | Phải ở THẤP |
Các chân này an toàn để sử dụng trong hoạt động bình thường, nhưng các thành phần bên ngoài không được kéo chúng đến mức logic không hợp lệ trong quá trình đặt lại. Vai trò khởi động chi tiết của chúng được giải thích trong Phần 9.
Chân bị hạn chế (Không sử dụng)
| GPIO | Lý do |
|---|---|
| GPIO6–11 | Đã kết nối với bộ nhớ flash SPI |
Sử dụng những thứ này có thể làm đóng băng hoặc làm hỏng ESP32.
Chân ADC ESP32

ESP32 tích hợp hai thiết bị SAR ADC với các hành vi hoạt động khác nhau:
• ADC1 - Luôn có sẵn và được khuyến nghị cho tất cả các đầu vào cảm biến
• ADC2 - Được chia sẻ với hệ thống con Wi-Fi và không khả dụng bất cứ khi nào Wi-Fi hoạt động
Đây là một trong những hạn chế chính của ESP32, khiến ADC1 trở thành lựa chọn đáng tin cậy cho các phép đo trong các ứng dụng không dây.
| Thiết bị ADC | Kênh | GPIO | Ghi chú |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Sự lựa chọn tốt nhất cho cảm biến |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Không sử dụng được trong khi có Wi-Fi |
Phạm vi điện áp và độ chính xác
ADC hỗ trợ dải đầu vào 0–1.1 V mặc định, có thể mở rộng đến khoảng 3.3 V với suy giảm. Cả hai thiết bị ADC đều phi tuyến tính và được hưởng lợi từ hiệu chuẩn. Hiệu suất tương tự có thể bị ảnh hưởng bởi hoạt động RF bên trong, vì vậy định tuyến các đường cảm biến ra khỏi ăng-ten và thêm các bộ lọc RC đơn giản có thể cải thiện đáng kể độ ổn định. Đối với các dự án hỗ trợ Wi-Fi, luôn đặt cảm biến tương tự trên ADC1 để đảm bảo hoạt động liên tục và không gây tiếng ồn.
ESP32 DAC, PWM và chân cảm ứng
ESP32 bao gồm đầu ra kiểu tương tự tích hợp và cảm biến cảm ứng giúp đơn giản hóa việc tạo dạng sóng, làm mờ, điều khiển động cơ và giao diện người dùng.
DAC kết thúcview

Hai kênh DAC 8-bit đầu ra điện áp tương tự thực sự:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Các cách sử dụng phổ biến bao gồm âm thanh đơn giản, dạng sóng tương tự, đèn LED mờ dần và điện áp phân cực. Phạm vi đầu ra thường là 0–3.3 V.
PWM (LEDC)

Mô-đun LEDC cung cấp PWM linh hoạt, độ phân giải cao:
• 16 kênh
• Cơ sở hẹn giờ lên đến 40 MHz
• Độ phân giải lên đến 20 bit
• GPIO hoàn toàn có thể ánh xạ lại
Được sử dụng để làm mờ đèn LED, điều khiển động cơ, tín hiệu servo, âm thanh và điều chế chung. Bất kỳ GPIO nào cũng có thể lưu trữ đầu ra PWM thông qua Ma trận GPIO.
Chân cảm biến cảm ứng

10 bàn di chuột điện dung của ESP32 phát hiện khoảng cách của ngón tay và hữu ích cho các nút cảm ứng, thanh trượt và kích hoạt đánh thức.
| Bàn di chuột | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Các cảm biến này bao gồm lọc tiếng ồn và hoạt động tốt cho các sự kiện đánh thức công suất thấp.
Chân giao tiếp ESP32
ESP32 bao gồm một bộ thiết bị ngoại vi giao tiếp phong phú, mỗi thiết bị có khả năng được định tuyến đến nhiều chân thông qua Ma trận GPIO linh hoạt. Điều này cho phép các giao diện như I2C, SPI và UART được gán ở hầu hết mọi nơi, cho phép bố cục bo mạch có khả năng tùy chỉnh cao và kết hợp thiết bị ngoại vi.
I2C (Chân mặc định và tùy chỉnh)

ESP32 bao gồm hai bộ điều khiển I2C, với sự linh hoạt hoàn toàn trong việc lựa chọn chân. Mặc dù hầu hết các bo mạch phát triển đều sử dụng các chân mặc định, nhưng cả SDA và SCL đều có thể được gán lại cho hầu hết mọi GPIO.
| Tín hiệu | GPIO mặc định | Ghi chú |
|---|---|---|
| SDA | GPIO21 | Hoàn toàn có thể ánh xạ lại |
| SCL | GPIO22 | Hoàn toàn có thể ánh xạ lại |
Bất kỳ hai GPIO kỹ thuật số nào cũng có thể hoạt động như SDA và SCL. Hỗ trợ cả chế độ tiêu chuẩn (100 kHz), chế độ nhanh (400 kHz) và chế độ nhanh cộng (1 MHz tùy thuộc vào bo mạch). Hỗ trợ kéo lên bên trong trên một số bo mạch, nhưng nên sử dụng điện trở 4.7 kΩ bên ngoài để giao tiếp ổn định. Tính linh hoạt này làm cho ESP32 trở nên lý tưởng cho các hệ thống yêu cầu nhiều cảm biến hoặc định tuyến chân độc đáo.
ESP32 bao gồm nhiều bus SPI, với HSPI và VSPI có sẵn cho các thiết bị của người dùng. Cả hai đều hỗ trợ ánh xạ lại thông qua ma trận GPIO, nhưng hầu hết các bo mạch và thư viện đều sử dụng cấu hình VSPI mặc định sau, tránh xung đột với các kết nối flash bên trong:
Ánh xạ VSPI mặc định
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI thường được ưa chuộng cho màn hình, thẻ SD và thiết bị ngoại vi tốc độ cao. Mặc dù các ghim có thể ánh xạ lại, nhưng việc sử dụng các giá trị mặc định đảm bảo khả năng tương thích tối đa và giảm các vấn đề về thời gian mà không lặp lại các hạn chế đã được đề cập trong các phần trước đó.
UART (Nối tiếp)

ESP32 bao gồm ba bộ điều khiển UART, với định tuyến linh hoạt cho phép bất kỳ chân UART nào di chuyển đến gần như bất kỳ GPIO nào.
| UART | Ghim TX | Chân RX | Mục đích chính |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Nhấp nháy, thông báo khởi động, ghi nhật ký nối tiếp |
| UART1 | GPIO10 | GPIO9 | Có sẵn cho các ứng dụng người dùng |
| UART2 | GPIO17 | GPIO16 | Có sẵn cho các ứng dụng người dùng |
Chân ESP32 Deep-Sleep & RTC
ESP32 bao gồm một hệ thống con Công suất cực thấp (ULP) và miền Đồng hồ thời gian thực (RTC) chuyên dụng vẫn được cấp nguồn ngay cả khi CPU chính và các thiết bị ngoại vi đã tắt. Kiến trúc này cho phép tiêu thụ điện năng cực thấp, thường nằm trong phạm vi microampe, làm cho ESP32 phù hợp với các ứng dụng hoạt động bằng pin trong thời gian dài.
Chế độ ngủ sâu cho phép chip tắt các lõi chính, hầu hết các đồng hồ bên trong và radio Wi-Fi / Bluetooth, trong khi vẫn giám sát các chân và cảm biến đã chọn thông qua các thiết bị ngoại vi RTC.

ESP32 có thể thức dậy sau giấc ngủ sâu thông qua một số yếu tố kích hoạt độc lập. Mỗi nguồn đánh thức hoạt động bên trong miền RTC, được thiết kế để duy trì hoạt động với mức tiêu thụ điện năng tối thiểu.
| Loại đánh thức | GPIO / Ghi chú |
|---|---|
| RTC GPIO bên ngoài | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — hỗ trợ đánh thức cạnh hoặc cấp độ |
| Bàn di chuột điện dung | T0–T9 — phát hiện sự gần gũi hoặc chạm của ngón tay trong khi ngủ sâu |
| Hẹn giờ đánh thức | Bộ hẹn giờ RTC có thể đánh thức thiết bị sau một khoảng thời gian được lập trình |
| Đồng xử lý ULP | (Tùy chọn) Mã năng lượng thấp tùy chỉnh có thể chạy để kiểm tra cảm biến trước khi đánh thức CPU chính |
Các chân này thuộc miền RTC và vẫn hoạt động ngay cả khi CPU và GPIO thông thường bị tắt nguồn. Chúng hỗ trợ đánh thức thông qua các cạnh tăng / giảm hoặc phát hiện mức đơn giản. Thường được sử dụng cho chế độ đánh thức khi chuyển động, công tắc từ tính và bộ kích hoạt công suất thấp.
Các chức năng khởi động, đóng đai và chân EN ESP32

ESP32 sử dụng một số chốt đóng đai để xác định cấu hình hệ thống chính trong quá trình đặt lại hoặc bật nguồn. Các chân này chỉ được lấy mẫu khi khởi động và sau đó trở lại chức năng GPIO bình thường. Đảm bảo chúng không bị điều khiển đến mức không hợp lệ trong quá trình đặt lại rất hữu ích cho hành vi khởi động nhất quán.
Bàn chốt đóng đai
| Ghim | Vai trò khởi động | Trạng thái bắt buộc khi khởi động |
|---|---|---|
| GPIO0 | Chọn chế độ bộ nạp khởi động / flash | THẤP = vào chế độ đèn flash; HIGH = khởi động bình thường |
| GPIO2 | Xác định mức điện áp khởi động bên trong | Phải duy trì CAO |
| GPIO5 | Cấu hình khởi động SPI | Phải duy trì CAO |
| GPIO12 | Chọn điện áp flash (3.3 V / 1.8 V) | Phải duy trì THẤP cho đèn flash 3.3 V |
| GPIO15 | Đặt chế độ giao tiếp SPI trong khi khởi động | Phải duy trì THẤP |
Phần này cung cấp tài liệu tham khảo có thẩm quyền cho hành vi đóng đai. Các phần trước chỉ tóm tắt các tác động thực tế; sử dụng bảng này khi gán chân trên PCB tùy chỉnh hoặc tích hợp các nút và cảm biến.
Chân EN (Bật / Đặt lại)
Chân EN (Bật) hoạt động như đầu vào đặt lại chính cho ESP32.
Hành vi pin EN:
• Kéo EN LOW sẽ đặt lại chip ngay lập tức.
• Nhả nó trở lại CAO sẽ cấp nguồn cho các mạch bên trong và khởi động lại trình tự khởi động.
• Trên các bo mạch phát triển (ví dụ: ESP32-DevKitC, NodeMCU-ESP32), EN được gắn với giao diện USB-to-serial để cho phép tự động đặt lại trong khi nhấp nháy.
Chân nguồn ESP32

ESP32 nhạy cảm với chất lượng điện năng vì bộ đàm Wi-Fi và Bluetooth của nó tạo ra các xung dòng điện ngắn, biên độ cao. Cung cấp năng lượng ổn định đảm bảo khởi động đáng tin cậy, giảm thiết lập lại hiện tượng mất điện và hiệu suất không dây ổn định.
Tóm tắt chân nguồn
| Ghim | Điện áp | Sử dụng |
|---|---|---|
| VIN | Đầu vào 5 V | Cấp nguồn cho bộ điều chỉnh tích hợp (thường là AMS1117 hoặc ME6211) để tạo ra 3.3 V |
| 3V3 | Đầu ra 3.3 V | Đầu ra được điều chỉnh từ LDO trên bo mạch; Được sử dụng để cấp nguồn cho logic và cảm biến dòng điện thấp bên ngoài |
| GND | — | Tham chiếu điện và đường dẫn trở lại cho tất cả các hệ thống con |
Chân ESP32 được đề xuất & Ví dụ về hệ thống dây điện
Chọn đúng chân trên ESP32 là cần thiết để hoạt động ổn định, định tuyến tín hiệu sạch sẽ và tránh xung đột với các kết nối khởi động hoặc đèn flash bên trong. Các đề xuất sau đây nêu bật các chân đáng tin cậy nhất, không xung đột cho các chức năng phổ biến.
Lựa chọn ghim
| Chức năng | Ghim tốt nhất | Ghi chú |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Cặp thử nghiệm phần cứng mặc định; hoạt động trong hầu hết các bảng. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Các chân này ánh xạ rõ ràng với VSPI và tránh các chân được kết nối với đèn flash. |
| UART | 16 (RX), 17 (TX) | Chân UART2 chuyên dụng, an toàn cho việc khởi động và gỡ lỗi. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Phạm vi linh hoạt cao; PWM có thể được định tuyến đến hầu hết mọi GPIO. |
| ADC | 32–39 (ADC1) | Các kênh ADC1 vẫn có thể sử dụng được ngay cả khi Wi-Fi đang hoạt động. |
Kết luận
Nắm vững sơ đồ chân ESP32 giúp loại bỏ phỏng đoán và ngăn chặn nhiều vấn đề xuất hiện trong các bản dựng thực tế, từ đọc ADC ồn ào đến vòng lặp khởi động vô tận. Bằng cách hiểu các chân an toàn, hành vi đóng đai, tính toàn vẹn của nguồn điện và định tuyến ngủ sâu, bạn có thể thiết kế các mạch vẫn ổn định, có thể dự đoán và sẵn sàng kết nối không dây. Sử dụng bản đồ ghim và hướng dẫn ở trên làm nền tảng cho các dự án ESP32 không gặp sự cố.
Câu hỏi thường gặp [FAQ]
Làm cách nào để định cấu hình PlatformIO cho Freenove ESP32-S3 Breakout Board?
Sử dụng cài đặt mô-đun nhà phát triển ESP32-S3 tiêu chuẩn. Trong platformio.ini của bạn, hãy thêm:
[env:ESP32S3]
nền tảng = espressif32
Bảng = ESP32-S3-DEVKITC-1
khung = Arduino
Điều này khớp với sơ đồ chân Freenove, cho phép biên dịch và tải lên bình thường qua USB.
ESP32 có thể chạy bao nhiêu thiết bị ngoại vi cùng một lúc?
Do Ma trận GPIO, ESP32 có thể chạy đồng thời nhiều chức năng I²C, SPI, UART, PWM và ADC, miễn là bạn tránh các chân bị hạn chế và nằm trong giới hạn CPU và thời gian. Các nút thắt cổ chai chính là ADC2 trong quá trình Wi-Fi và chất lượng nguồn điện, không phải số lượng pin.
Tại sao ESP32 của tôi khởi động lại khi kết nối cảm biến hoặc mô-đun?
Các thiết lập lại bất ngờ thường đến từ sự sụt giảm điện áp do Wi-Fi bùng nổ, động cơ hoặc nguồn cung cấp được quản lý kém. Sử dụng nguồn 1 A trở lên 5 V, thêm tụ điện số lượng lớn 10–100 μF và cách ly tải ồn ào để ngăn ngừa mất điện.
Tôi có thể sử dụng chân 32 V của ESP3.3 để cấp nguồn cho các mô-đun bên ngoài không?
Có, nhưng chỉ dành cho các thiết bị có dòng điện thấp (thường dưới 300–500 mA, tùy thuộc vào LDO tích hợp). Các thiết bị ngoại vi có độ hút cao như động cơ, servo và dải đèn LED lớn phải sử dụng nguồn điện riêng để tránh đặt lại và quá nóng.
Làm cách nào để chọn chân ESP32 tốt nhất khi sử dụng nhiều thiết bị ngoại vi?
Ưu tiên các chân không đóng đai, tránh GPIO6–11, đặt cảm biến tương tự trên ADC1 và sử dụng các chân VSPI / I²C / UART mặc định khi có thể. Điều này làm giảm xung đột và đảm bảo rằng tất cả các thiết bị ngoại vi có thể hoạt động cùng nhau mà không gặp sự cố ánh xạ lại.