Description
🚀 ESP32 WiFi + Bluetooth Module (30/38 Pin) – Dual-Core IoT Powerhouse
The ESP32 WiFi + Bluetooth Module is a powerful dual-core microcontroller featuring integrated WiFi and Bluetooth connectivity. Available in 30-pin and 38-pin variants, this versatile board offers significantly more processing power, memory, and peripherals compared to ESP8266. With dual-core processing, classic Bluetooth + BLE support, and extensive GPIO options, the ESP32 is the ultimate choice for advanced IoT projects, wireless audio, mesh networking, and demanding applications.
✨ Key Highlights
- 🔌 WiFi + Bluetooth Dual Mode – 802.11 b/g/n WiFi + BT 4.2 (Classic + BLE)
- ⚡ Dual-Core Processor – Two Xtensa 32-bit LX6 cores up to 240MHz
- 💾 520KB SRAM – Significantly more memory than ESP8266
- 🔧 30/38 GPIO Pins – Extensive I/O options for complex projects
- 📡 Multiple Interfaces – SPI, I2C, I2S, UART, CAN, PWM
- 🎵 I2S Audio Support – Built-in DAC/ADC for audio applications
- 🔐 Hardware Encryption – AES, SHA-2, RSA, ECC accelerators
- 📱 Touch Sensors – Capacitive touch sensing on 10 GPIOs
- 🔋 Ultra-Low Power – Multiple power modes with ULP coprocessor
📊 Technical Specifications
| Specification |
Details |
| 🖥️ Microcontroller |
ESP32-WROOM-32 / ESP32-WROOM-32U |
| ⚙️ CPU |
Dual-core Xtensa 32-bit LX6 |
| 🚀 Clock Speed |
80MHz / 160MHz / 240MHz (Adjustable) |
| 💾 SRAM |
520KB |
| 💿 Flash Memory |
4MB / 8MB / 16MB (Variant dependent) |
| 📶 WiFi |
802.11 b/g/n (2.4GHz, up to 150Mbps) |
| 📡 Bluetooth |
Bluetooth 4.2 (Classic BT + BLE) |
| 🔢 GPIO Pins |
30 pins (30-pin variant) / 38 pins (38-pin variant) |
| 📈 ADC |
18 channels, 12-bit SAR ADC |
| 📉 DAC |
2 channels, 8-bit DAC |
| ⚡ Operating Voltage |
3.3V |
| 🔌 Input Voltage |
5V via Micro USB / 3.3-6V via VIN |
| 💡 Current per GPIO |
40mA (Max per pin) |
| 🔄 USB to Serial |
CP2102 / CH340G (Variant dependent) |
| 👆 Touch Sensors |
10 capacitive touch GPIOs |
| 🌡️ Temperature Sensor |
Built-in (Internal) |
| 🔐 Security |
Secure Boot, Flash Encryption, AES/SHA/RSA |
| 📏 Dimensions |
55mm x 28mm (30-pin) / 58mm x 31mm (38-pin) |
🆚 30-Pin vs 38-Pin Variants
| Feature |
30-Pin |
38-Pin |
| Total GPIO Pins |
30 pins |
38 pins |
| Additional Pins |
Standard set |
+8 extra pins (NC/GND/Power) |
| Form Factor |
Compact (55x28mm) |
Wider (58x31mm) |
| Breadboard Fit |
✅ Fits standard breadboard |
⚠️ May require wider breadboard |
| Power Pins |
2x GND, 2x 3.3V |
Multiple GND/3.3V/5V |
| Best For |
Space-constrained projects |
Prototyping with more power options |
| Price |
💰💰 Standard |
💰💰 Similar |
🔌 Pin Capabilities (Both Variants)
| Interface |
Pin Count |
Details |
| 🔢 GPIO |
34 usable |
Digital I/O with pull-up/pull-down |
| 📈 ADC |
18 channels |
12-bit resolution, 0-3.3V input |
| 📉 DAC |
2 channels |
GPIO25, GPIO26 (8-bit) |
| 👆 Touch |
10 sensors |
Capacitive touch sensing |
| ⚡ PWM |
16 channels |
All GPIO pins (LED PWM controller) |
| 🔄 SPI |
4 sets |
HSPI, VSPI + 2 more |
| 📡 I2C |
2 controllers |
Any GPIO can be assigned |
| 📟 UART |
3 controllers |
Full-duplex, hardware flow control |
| 🎵 I2S |
2 controllers |
Audio input/output |
| 🚗 CAN |
1 controller |
CAN 2.0 (automotive/industrial) |
| 📺 RMII |
1 interface |
Ethernet MAC interface |
| 🎮 RMT |
8 channels |
Remote control (IR/LED/WS2812) |
🎯 Perfect For
| Application |
Description |
| 🎵 Audio Projects |
Internet radio, Bluetooth speakers, voice assistants |
| 📸 Camera Integration |
ESP32-CAM, video streaming, surveillance |
| 🏠 Smart Home |
Advanced automation with BLE mesh networking |
| 📱 BLE Applications |
Fitness trackers, beacons, proximity sensors |
| 🤖 Robotics |
Dual-core for sensor processing + motor control |
| 🎮 Gaming Controllers |
Wireless game controllers, VR accessories |
| 🌐 Web Servers |
Complex web interfaces with WebSocket support |
| 📊 Data Logging |
Multi-sensor logging with cloud integration |
| 🔐 Security Systems |
Advanced encryption for secure applications |
| 🚗 Automotive/CAN |
Vehicle diagnostics, CAN bus monitoring |
| 💡 LED Control |
WS2812, NeoPixel displays with RMT peripheral |
| 🌡️ Environmental Monitoring |
Multi-sensor weather stations |
📦 Package Contents
- ✅ 1x ESP32 Development Board (30-pin or 38-pin variant)
- ✅ Pre-soldered pin headers (check product variant)
- ✅ Anti-static packaging
- ✅ USB driver download instructions (if needed)
💻 Programming Support
| Platform |
Support Level |
| 🔷 Arduino IDE |
✅ Full Support (Most Popular) |
| ⚙️ ESP-IDF |
✅ Official Espressif SDK (Advanced) |
| 🐍 MicroPython |
✅ Full Support |
| 🌐 PlatformIO |
✅ Full Support (Recommended) |
| 📜 Lua (NodeMCU) |
✅ Community Support |
| 🦀 Rust |
✅ esp-rs Project |
| ☕ JavaScript |
✅ Espruino, Moddable SDK |
| 📱 Mongoose OS |
✅ IoT Firmware Platform |
⚙️ Power Consumption Modes
| Mode |
Current Draw |
Features Active |
| Active (WiFi TX) |
~240mA |
Full CPU + WiFi transmission |
| Active (WiFi RX) |
~100mA |
Full CPU + WiFi receiving |
| Active (BLE) |
~95mA |
Full CPU + Bluetooth |
| Modem Sleep |
~20mA |
CPU active, WiFi/BT off |
| Light Sleep |
~0.8mA |
RTC + ULP running |
| Deep Sleep |
~10µA |
RTC timer only |
| Hibernation |
~5µA |
RTC OFF, wake on external |
⚠️ Important Notes
- ⚡ Operating voltage is 3.3V – Never apply 5V to GPIO pins
- 📌 GPIO6-11 are connected to internal flash – Do not use these pins
- ⚠️ GPIO34-39 are input-only – No pull-up/pull-down resistors
- 🔌 Some boards use CP2102, others use CH340G – check your variant for driver needs
- 🔋 Deep sleep wake requires GPIO connection to RST or external RTC
- 📡 WiFi and Bluetooth can operate simultaneously (with increased power consumption)
- 💾 Flash size varies by module – check specifications for your variant
- 🎵 I2S pins are shared with other functions – careful pin planning needed
- 👆 Touch pins work with bare metal contact or through thin materials
- 🚀 Dual-core requires FreeRTOS for proper task management
- 🔐 Hardware crypto accelerators significantly faster than software encryption
🛠️ Getting Started
- 🔌 Connect to USB – Install CP2102/CH340G driver if needed
- 📥 Install Arduino IDE – Version 1.8.x or 2.x recommended
- ⚙️ Add ESP32 Board Support – Preferences → Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 📦 Install ESP32 Boards – Tools → Board → Boards Manager → Search “ESP32”
- 🎯 Select Your Board – ESP32 Dev Module or DOIT ESP32 DEVKIT V1
- 📍 Select Port – Choose correct COM/ttyUSB port
- ⚡ Set Upload Speed – Start with 115200, increase to 921600 if stable
- 💡 Upload Blink Example – Test with built-in LED (GPIO2)
- 📡 Test WiFi – Run WiFiScan example to detect networks
- 🔵 Test Bluetooth – Try BLE_scan example
- 🚀 Start Creating! – Explore dual-core, sensors, and wireless features
✅ Why Choose ESP32 Over ESP8266?
| Feature |
ESP32 |
ESP8266 |
| CPU Cores |
✅ Dual-core (240MHz) |
Single-core (160MHz) |
| Bluetooth |
✅ BT 4.2 + BLE |
❌ None |
| SRAM |
✅ 520KB |
160KB |
| GPIO Pins |
✅ 34 usable |
17 usable |
| ADC Channels |
✅ 18x 12-bit |
1x 10-bit |
| DAC |
✅ 2 channels |
❌ None |
| Touch Sensors |
✅ 10 pins |
❌ None |
| CAN Bus |
✅ Built-in |
❌ None |
| Ethernet MAC |
✅ RMII interface |
❌ None |
| Hardware Crypto |
✅ AES/SHA/RSA |
⚠️ Limited |
| ULP Coprocessor |
✅ Yes |
❌ None |
| Price |
💰💰💰 Higher |
💰💰 Lower |
| Best For |
Advanced projects |
Simple WiFi tasks |
🛡️ Warranty & Support
✅ Genuine Espressif ESP32 chip guaranteed
✅ Authentic USB-to-serial chip (CP2102/CH340G)
✅ Pre-tested WiFi and Bluetooth functionality
✅ Comprehensive documentation and examples
✅ Technical support for setup issues
✅ Fast replacement for defective units
✅ Compatible with all major ESP32 libraries