🔹 1. Giới Thiệu Về ESP32
ESP32 là một dòng vi điều khiển Hệ thống trên một vi mạch (SoC - System on a Chip) giá rẻ, tiêu thụ năng lượng thấp do hãng Espressif Systems phát triển. Đây là phiên bản nâng cấp vượt trội của dòng chip ESP8266 huyền thoại, được thiết kế đặc biệt cho các ứng dụng Internet vạn vật (IoT) và các dự án nhà thông minh.
📌 Tổng quan chip ESP32
▪️ Các tính năng nổi bật của ESP32:
▪Chi phí cực thấp: Chỉ với một khoản chi phí rất nhỏ, bạn đã có thể sở hữu một vi điều khiển mạnh mẽ tích hợp đầy đủ kết nối không dây.
▪Tiết kiệm năng lượng: ESP32 tiêu thụ rất ít điện năng và hỗ trợ nhiều chế độ ngủ sâu (Deep Sleep) để tối ưu hóa thời lượng pin cho các thiết bị di động.
▪Tích hợp Wi-Fi: Cho phép thiết bị kết nối vào mạng Wi-Fi cục bộ để truy cập Internet (Station Mode) hoặc tự phát Wi-Fi (Access Point Mode) để các thiết bị khác kết nối trực tiếp.
▪Tích hợp Bluetooth: Hỗ trợ cả Bluetooth Classic (cho truyền tải âm thanh, dữ liệu lớn) và Bluetooth Low Energy (BLE - cực kỳ tiết kiệm pin, phù hợp cho cảm biến IoT).
▪Bộ xử lý lõi kép (Dual-Core): Hầu hết các phiên bản ESP32 sở hữu bộ vi xử lý Xtensa 32-bit LX6 hai nhân (Core 0 và Core 1), cho phép xử lý đa nhiệm mượt mà thông qua hệ điều hành thời gian thực FreeRTOS.
▪Ngoại vi phong phú: Hỗ trợ cảm biến chạm điện dung (Capacitive Touch), bộ chuyển đổi ADC, DAC, các giao tiếp UART, SPI, I2C, PWM và nhiều hơn thế nữa.
▪Tương thích cao: Dễ dàng lập trình bằng ngôn ngữ C/C++ (phong cách Arduino) hoặc MicroPython.

📌 Chip ESP-WROOM-32
🔹 2. Thông Số Kỹ Thuật Chi Tiết
Nếu bạn muốn đi sâu vào khía cạnh kỹ thuật phần cứng, dưới đây là thông số chi tiết của module phổ biến ESP-WROOM-32:▪Bộ vi xử lý: Tensilica Xtensa Dual-Core 32-bit LX6, hoạt động ở tần số 160 hoặc 240 MHz.
▪Bộ nhớ:
▪ROM: 448 KB (dành cho khởi động và các chức năng cốt lõi).
▪SRAM: 520 KB (dành cho dữ liệu và lệnh).
▪RTC Fast SRAM: 8 KB (lưu trữ dữ liệu khi CPU khởi động lại từ chế độ Deep Sleep).
▪RTC Slow SRAM: 8 KB (cho phép bộ đồng xử lý truy cập trong chế độ Deep Sleep).
▪Flash ngoài: Thường là 4MB hoặc 8MB tùy phiên bản board.
▪Kết nối không dây:
▪Wi-Fi: 802.11 b/g/n (tốc độ lên tới 150 Mbps).
▪Bluetooth: v4.2 BR/EDR và BLE.
---🔹 3. So Sánh ESP32 và ESP8266
ESP32 là phiên bản kế thừa trực tiếp của ESP8266. Dưới đây là bảng so sánh trực quan giúp bạn thấy rõ sự nâng cấp vượt trội của ESP32:
📌 So sánh ESP32 và ESP8266
---
🔹 4. Các Board Phát Triển ESP32 Phổ Biến
Trên thị trường hiện nay có rất nhiều loại board phát triển ESP32 khác nhau được thiết kế để phục vụ cho các nhu cầu từ học tập đến sản xuất công nghiệp.
📌 Các loại board ESP32 phổ biến

📌 Board ESP32 DEVKIT DOIT
🔹 5. Sơ Đồ Chân GPIO (Pinout Guide)
Để làm chủ được ESP32, việc hiểu rõ chức năng của từng chân GPIO là cực kỳ quan trọng. Dưới đây là sơ đồ chân của phiên bản ESP32 DEVKIT DOIT 30 chân:
📌 Sơ đồ chân ESP32 DOIT 30 chân
▪️ Phân loại các chân chức năng đặc biệt:
▪GPIOs đa chức năng: Hầu hết các chân đều có thể cấu hình làm Input hoặc Output.

📌 Các chân GPIO đa chức năng
▪Cảm biến chạm (Touch Pins): ESP32 tích hợp sẵn 10 chân cảm biến chạm điện dung, có thể nhận biết điện tích từ ngón tay người mà không cần nút nhấn cơ học.

📌 Chân cảm biến chạm Touch Pins
▪Bộ chuyển đổi Analog-to-Digital (ADC): ESP32 có các kênh ADC 12-bit giúp đọc các giá trị điện áp tương tự từ cảm biến.

📌 Chân ADC trên ESP32
▪Bộ chuyển đổi Digital-to-Analog (DAC): Cung cấp tín hiệu điện áp analog thực sự (8-bit), rất hữu ích cho việc phát âm thanh.

📌 Chân DAC trên ESP32
▪Giao tiếp I2C: Chân SDA và SCL mặc định dùng để kết nối màn hình OLED, cảm biến nhiệt độ, v.v.

📌 Chân giao tiếp I2C trên ESP32
▪Giao tiếp SPI: Dành cho các thiết bị ngoại vi tốc độ cao như thẻ nhớ SD, màn hình TFT màu.

📌 Chân giao tiếp SPI trên ESP32
▪Chân PWM (Pulse Width Modulation): Tất cả các chân GPIO có cấu hình Output đều có thể dùng để phát xung PWM điều khiển động cơ hoặc độ sáng LED.

📌 Chân PWM trên ESP32
▪Chân Nguồn (Power & GND): Chân VIN dùng để cấp nguồn ngoài (5V), chân 3V3 cấp nguồn ra 3.3V, và các chân GND làm chân đất chung.

📌 Chân nguồn và GND
▪Nút nhấn EN và BOOT: Nút EN (Enable/Reset) dùng để khởi động lại chip. Nút BOOT dùng để đưa chip vào chế độ nạp chương trình (Flash Mode).

📌 Nút nhấn EN và BOOT trên ESP32









