The 38-pin ESP32 WROOM-32 development board gives you more GPIO than the narrower 30-pin version. Dual-core 240MHz processor, 2.4GHz WiFi, Bluetooth 4.2, and a CP2102 USB-to-serial chip for reliable programming from any OS. Compatible with Arduino IDE, MicroPython and ESP-IDF.
- 38 GPIO pins — more I/O than 30-pin boards
- Dual-core Xtensa LX6 at 240MHz
- 802.11b/g/n WiFi (2.4GHz)
- Bluetooth 4.2 Classic + BLE
- CP2102 USB-to-serial — reliable, widely supported
- USB-C connector for programming and power
- Arduino IDE, MicroPython and ESP-IDF compatible
- 4MB flash, 520KB SRAM onboard
Specifications
What's in the box
Headers pre-soldered. USB-C cable not included.
Great for
Getting started
- Install Arduino IDE and the ESP32 board package
In Arduino IDE: File → Preferences, add
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonto Additional Boards Manager URLs. Then Tools → Board → Boards Manager, search ESP32, install. - Select the board
Tools → Board → ESP32 Arduino → ESP32 Dev Module. Set Upload Speed to 921600.
- Connect via USB-C
Connect to your PC. The board appears as a COM port (CP2102 is auto-detected on Windows 10/11 and macOS).
- Upload a test sketch
File → Examples → WiFi → WiFiScan. Upload and open Serial Monitor at 115200 baud. Nearby networks will be listed.
Common questions
What's the difference between the 30-pin and 38-pin ESP32?
Same ESP32-WROOM-32 module. The 38-pin board is physically wider and exposes more GPIO pins — including additional ADC channels and some pins that are shared with flash on the 30-pin layout. Use the 38-pin board when you need more I/O.
Is the CP2102 better than CH340?
CP2102 drivers are included in Windows 10/11 and recent macOS without needing a manual install. CH340 usually needs a driver download on first use. Either works fine once installed.
Can I use it with MicroPython?
Yes. Flash the MicroPython firmware from micropython.org using esptool. The 38-pin board is fully supported.
Some ADC readings are noisy — why?
ESP32 ADC2 shares resources with WiFi and is unreliable when WiFi is active. Use ADC1 channels (GPIO32–39) for analogue readings when WiFi is on.
Good to know: GPIO pins 34–39 are input-only (no internal pull-up/pull-down). Avoid driving these as outputs. ADC2 channels are unreliable when WiFi is active — use ADC1 (GPIO32–39) for analogue readings in WiFi sketches. The 30-pin version is also in stock if the narrower board suits your enclosure better.
