FAQ
TL;DR: With 2 cores and 18 × 12-bit ADC channels, ESP32 delivers “twice the resources at similar power” [Elektroda, TechEkspert, post #16602299] for about US $5 (“ESP32-WROOM-32 Price List”). Makers can stream MP3, log DS18B20 temperatures, or run a Bluetooth speaker on one board.
Why it matters: One low-cost module now covers Wi-Fi, BLE, audio and sensor work that once needed several chips.
Quick Facts
• Dual-core 240 MHz Tensilica LX6 MCU, 520 kB SRAM [Elektroda, TechEkspert, post #16602299]
• 18 × 12-bit ADC, 2 × 8-bit DAC, 10 capacitive-touch pads [Elektroda, TechEkspert, post #16602299]
• Wi-Fi 802.11 b/g/n + Bluetooth Classic/BLE in one SoC [Elektroda, TechEkspert, post #16602299]
• Typical DevKit price: US $4–6 (“ESP32-WROOM-32 Price List”)
• 5 V USB input with on-board regulator; 3.3 V logic lines [Elektroda, TechEkspert, post #16602299]
1. What hardware advantages does ESP32 have over ESP8266?
ESP32 adds a second 240 MHz core, 512 kB RAM, 18 ADC channels (12-bit), 2 DACs, Bluetooth Classic/BLE, touch sensors, CAN and Ethernet MAC, while keeping power use similar to ESP8266 [Elektroda, TechEkspert, post #16602299]
2. How do I install ESP32 support in Arduino IDE on Windows 10?
- Install Arduino IDE ≥ 1.8.3.
- Clone https://github.com/espressif/arduino-esp32.git into /hardware/espressif/esp32 using Git GUI run as administrator.
- Open /hardware/espressif/esp32/tools and run get.exe. After download, restart Arduino and pick “ESP32 Dev Module” under Tools → Board [Elektroda, TechEkspert, post #16602299]
3. Why do I get “Failed to connect to ESP32: Timed out waiting for packet header” during upload?
The bootloader did not enter download mode. Hold the BOOT button (or connect GPIO0 to GND) during reset, then release after upload starts. Several users reported this fix [Elektroda, nici, #17467118; hassaanqureshi106, #20316412].
4. Can I reuse my ESP8266 sketches on ESP32 without major changes?
Basic sketches port after you replace with , swap pin names (D2→2, D3→3, etc.), and adjust libraries that rely on ESP8266-specific functions. Complex web-server code often needs edits, so “it does not fly” out-of-box [Elektroda, TechEkspert, #16602299; tos18, #17467192].
5. How do I wire a DS18B20 sensor to ESP32?
Connect DS18B20 yellow (DQ) to GPIO13, add a 4.7 kΩ pull-up from DQ to 3.3 V, red to 3.3 V, black to GND. The example code supports up to 10 sensors [Elektroda, TechEkspert, post #16602299]
6. What’s the quickest way to make ESP32 an Internet radio?
7. How can I enable Bluetooth speaker mode?
In the same project, run make menuconfig → Component Config → Bluetooth → enable Bluedroid Classic, then Web Radio/BT Speaker → set “BT speaker mode”. Re-compile and flash; the board advertises as ESP_SPEAKER by default [Elektroda, TechEkspert, post #16602299]
8. Which external DAC improves audio quality over the on-board 8-bit DAC?
Using an I2S codec such as VS1053 yields significantly cleaner audio than the internal 8-bit DAC, which testers called “poor” [Elektroda, pier, #17446398; TechEkspert, #16653523].
9. How much flash and RAM does an ESP32 DevKit offer?
Most DevKits carry 4 MB QSPI flash and 520 kB on-chip SRAM. Versions with 8–16 MB flash exist for data-heavy projects (“ESP32-WROOM-32 Datasheet”).
10. What power supply should I use?
Feed 5 V to the USB-C or micro-USB jack; the on-board regulator supplies 3.3 V logic. Current peaks reach 500 mA during Wi-Fi, so use a solid USB source [Elektroda, TechEkspert, post #16602299]
11. How do I earn enough Elektroda points to grab the module?
Publishing quality DIY or Article posts yields points quickly; forum staff noted you can collect 1000 pts across two sections between editions [Elektroda, TechEkspert, post #16605953]
12. What error shows a failed Git submodule setup, and how do I avoid it?
Running git clone without --recursive leaves submodules empty, causing build errors. Always use “git clone --recursive” or run “git submodule update --init” afterward [Elektroda, LED5W, post #16653453]
13. 3-step How-To: update the ESP32 Arduino core via Git
- Open Git GUI, select the arduino-esp32 repository.
- Click Remote → Fetch from → origin.
- Re-run get.exe inside tools to download new binaries [Elektroda, TechEkspert, post #16602299]