Esp32 libraries

Esp32 libraries DEFAULT

Created by Espressif Systems, ESP32 is a low-cost, low-power system on a chip (SoC) series with Wi-Fi & dual-mode Bluetooth capabilities! The ESP32 family includes the chips ESP32-D0WDQ6 (and ESP32-D0WD), ESP32-D2WD, ESP32-S0WD, and the system in package (SiP) ESP32-PICO-D4. At its heart, there's a dual-core or single-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz. ESP32 is highly integrated with built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. Engineered for mobile devices, wearable electronics, and IoT applications, ESP32 achieves ultra-low power consumption through power saving features including fine resolution clock gating, multiple power modes, and dynamic power scaling.

👉 For news and information, follow @ESP32net on Twitter! 👈

Features & Specifications

(ESP32 Function Block Diagram)

See the ESP32 Datasheet for information on ESP32 chips and the ESP32-PICO-D4 Datasheet for information on the SiP module.

  • Processors:
    • Main processor: Tensilica Xtensa 32-bit LX6 microprocessor
      • Cores: 2 or 1 (depending on variation)

        All chips in the ESP32 series are dual-core except for ESP32-S0WD, which is single-core.

      • Clock frequency: up to 240 MHz
      • Performance: up to 600 DMIPS
    • Ultra low power co-processor: allows you to do ADC conversions, computation, and level thresholds while in deep sleep.
  • Wireless connectivity:
    • Wi-Fi: 802.11 b/g/n/e/i (802.11n @ 2.4 GHz up to 150 Mbit/s)
    • Bluetooth: v4.2 BR/EDR and Bluetooth Low Energy (BLE)
  • Memory:
    • Internal memory:
      • ROM: 448 KiB

        For booting and core functions.

      • SRAM: 520 KiB

        For data and instruction.

      • RTC fast SRAM: 8 KiB

        For data storage and main CPU during RTC Boot from the deep-sleep mode.

      • RTC slow SRAM: 8 KiB

        For co-processor accessing during deep-sleep mode.

      • eFuse: 1 Kibit

        Of which 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID.

      • Embedded flash:

        Flash connected internally via IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 and SD_DATA_1 on ESP32-D2WD and ESP32-PICO-D4.

        • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips)
        • 2 MiB (ESP32-D2WD chip)
        • 4 MiB (ESP32-PICO-D4 SiP module)
    • External flash & SRAM: ESP32 supports up to four 16 MiB external QSPI flashes and SRAMs with hardware encryption based on AES to protect developers' programs and data. ESP32 can access the external QSPI flash and SRAM through high-speed caches.
      • Up to 16 MiB of external flash are memory-mapped onto the CPU code space, supporting 8-bit, 16-bit and 32-bit access. Code execution is supported.
      • Up to 8 MiB of external flash/SRAM memory are mapped onto the CPU data space, supporting 8-bit, 16-bit and 32-bit access. Data-read is supported on the flash and SRAM. Data-write is supported on the SRAM.

      ESP32 chips with embedded flash do not support the address mapping between external flash and peripherals.

  • Peripheral input/output: Rich peripheral interface with DMA that includes capacitive touch, ADCs (analog-to-digital converter), DACs (digital-to-analog converter), I²C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Network), SPI (Serial Peripheral Interface), I²S (Integrated Inter-IC Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation), and more.
  • Security:
    • IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI
    • Secure boot
    • Flash encryption
    • 1024-bit OTP, up to 768-bit for customers
    • Cryptographic hardware acceleration: AES, SHA-2, RSA, elliptic curve cryptography (ECC), random number generator (RNG)

Clarification note: In this context, "RTC" is a bit of an "Espressifism" because it's used as shorthand for the low-power and analog subsystem which is separate from the CPU and the main "digital" peripherals ("digital" is another Espressifism). There is some real time clock functionality as part of the RTC subsystem, but there's also a lot of other stuff.

For most questions, it's probably best to submit a post in the forums for widest community visibility and easily writing out the nitty-gritty details of your situational context — for example, including example code and detailing the relevant configuration of your software, firmware, and hardware. Alternatively, real-time chat via IRC is a great way to converse with others, learn new things, and sometimes get answers to questions on the spot. But, having said that, the main drawback to online chat is that not everyone is active or looking at the channel (chat room) at the same moment — people work at different hours and live in different parts of the world — so timing can be hit-or-miss. So, if you ask a question in the IRC channel, try to stick around, as it might take someone awhile to respond.

Readings & Videos

  • News
  • Projects
  • Readings & Documentation
    • Getting Started
    • Official Espressif Resources
    • Documentation on Forums
    • Ethernet on ESP32 using LAN8720
    • JTAG Debugging
    • Watson IoT Platform
    • Luca Dentella's ESP32 Blog Posts
    • ESP32 Tutorials from TechTutorialsX
      • Arduino: hello world, uploading a program, Wi-Fi network connection, Wi-Fi getting started, Wi-Fi soft AP, MQTT publishing, MQTT subscribing, JSON parsing, JSON message creation, JSON message sending over MQTT, HTTP GET, HTTP POST, LED PWM fading, buzzer PWM, HTTP POST to bottle application, external interrupts, timer interrupts, aREST library, creating a class, auto keyword, MFRC522 RFID, WebSocket client, WebSocket server, WebSocket server over soft AP, WebSocket server receiving & parsing JSON, socket server, HTTPS GET request, async HTTP webserver, async HTTP server, async HTTP server serving a HTML from PROGMEM, HTTP server getting query parameters, HTTP server multiple instances, HTTP server serving HTML & JavaScript, HTTP server over SoftAP, HTTP server external & internal redirects, HTTP server route not found handling, software reset, SSD1306 OLED display, SSD1306 OLED redraw string, Base64 encoding, SSD1306 OLED drawing QR code, free heap, random number generation (RNG), pthreads library, basic authentication, HMAC SHA-256
      • Arduino & ESP-IDF: FreeRTOS functions, task creation, task argument variable passing, task priority, task execution core ID, task execution on specific core, dual-core execution speed-up, queues, queue insertion, queue messages waiting & empty spaces, task communication using queues, queue performance test
      • ESP-IDF: Wi-Fi soft AP
      • MicroPython: setup & flashing, JSON parsing, JSON encoding, Wi-Fi network connection, Wi-Fi automatic connection, script execution from computer, file writing, file reading, file upload to file system, script execution from file system, HTTP POST, SHA-256, uPyCraft IDE getting started, uPyCraft script execution, lists, lambda functions, map function with lists, filter function with lists, dictionaries, string split method, simple URL query string parser, thread creation, thread function argument passing, timer interrupts, external interrupts
      • MicroPython & Picoweb: web server, HTTP content-type, HTTP response code, obtaining HTTP request method, serving HTML, serving JSON, Picoweb app query parameters
      • Espruino JavaScript: getting started, Wi-Fi network scan, Wi-Fi connection, array map, SHA1 hash, number to string conversion, array every method, objects
      • Bluetooth: BTstack library, finding device with Python & BTStack, receiving data through RFCOMM, advertising SPP service with SDP
      • Other: serial communication with Python
    • Random Nerd Tutorials
    • IoT Bits ESP32 Articles
  • Notable Videos
    • Engineers.SG
    • 2017 & Open Hardware Mini-Conference
      • Microcontroller Hardware & Software(Angus Gratton, 2017 Jan 17, 23 min.)
      • IoTuz Hardware Design, Manufacturing, Working with KiCad(Bob Powers, 2017 Jan 17, 40 min.)
      • IoTuz Software Design Challenges and ESP-IDF(Mark Wolfe, 2017 Jan 17, 28 min.)
      • MicroPython for ESP32(Nick Moore, 2017 Jan 17, 28 min.)
      • Development Example Using IoTuz(Andy Gelme, 2017 Jan 17, 29 min.)
    • MicroPython for ESP32(Nick Moore, PyCon Australia, 2017 Aug 4, 25 min.)
    • How to add Wi-Fi control to any project — ESP32 beginner's guide(GreatScott, 2017 Oct 1, 11 min.)
    • Wi-Fi Range Testing with ESP32 & Webcam: 10 km Using Directional Antenna(Florian Euchner, 2017 Apr 8, 5¾ min.)
    • Small Fruit: Disembiggening (Miniaturizing) the Mac Plus(Jeroen Domburg, Hackaday Superconference, 2017 Nov 12, 31.4 min.) — see also: close-up video
    • Andreas Spiess's ESP32 Videos
      1. ESP32 tutorial, Arduino IDE, tests, and comparison with ESP8266
      2. Huge mailbag with ESP32 boards, capacitive LED switches, power supplies, and more
      3. Introduction into ESP32 with first tests: PWM, servo, web, touch sensors — "ESP32: it's not as difficult as you think"
      4. Deep Sleep, RTC Memory, "Secret" LoLin Pins
      5. Which ESP32 revision? Including "fake news", fuses, and bit-logic
      6. Quickie: additional ESP32 serial channels in Arduino IDE
      7. Big ESP32 boards review and test
      8. Measuring weight using an ESP32, a strain gauge, and a HX711
      9. Build your own $50 connected Geiger counter
      10. KRACK Wi-Fi attack: how to protect our ESP8266 and ESP32?
      11. Dual Core on Arduino IDE including data passing and task synchronization
      12. Enhanced Nextion HMI tutorial including ESP32, ESP8266, and Arduino support
      13. Arduino guide to infrared (IR) communication
      14. ESP32 and ESP8266 point-to-point (ESP-Now) and comparison with LoRa
      15. BLE with Arduino IDE (part 1)
      16. BLE with Arduino IDE (part 2)
      17. BLE human presence detector (Arduino IDE)
      18. USB cable testing; esp. for power supply
      19. BLE current draw
      20. LoRa boards: what you need to know before you buy; incl. antenna knowledge
    • PCBReflux's ESP32 Videos (Repository)
      1. ESP32 Arduino and ESP-IDF installation
      2. Worst solder adapter ever (but great music)
      3. Arduino tutorial: getting to blinky
      4. ESP-IDF: playing with BLE/Bluetooth
      5. BLE/Bluetooth Eddystone implementation
      6. BLE/Bluetooth iBeacon implementation
      7. Arduino port with ILI9341 TFT LCD
      8. APA102 RGB LED strip controlled by Arduino sketch
      9. MAX6675 IoT Wi-Fi temp. sensor & ThingSpeak
      10. DIY Wi-Fi emergency button with SSL Gmail
      11. Weather station with Si7021 and OLED
      12. DIY Wi-Fi connected radar intrusion detector
      13. Bluetooth client reading from nRF51822 server
      14. HTTPS secure web server & Wi-Fi GPIO remote control
      15. Adapter, breadboard, UART, USB and more
      16. Wi-Fi enabled beacon tracker (a.k.a. the sheep counter)
      17. MQTT secure HTTPS TLS/SSL WebSocket ThingSpeak publish
      18. Deep sleep API and wake up
      19. MQTT secure HTTPS TLS/SSL WebSocket CloudMQTT subscribe
      20. FreeRTOS inter-task communication: queues
      21. ESP32-AT: playing with ESP32 AT commands
      22. ESP32-AT: Arduino Nano connected ESP32
      23. Current consumption
      24. IoT BLE MQTT gateway
      25. FreeRTOS inter-task communication: event groups
      26. "Atomic clock" using U-Blox GPS module
      27. External Hall effect switch and GPIO interrupts
      28. Internal Hall effect sensor
      29. Portable luxmeter with BH1750FVI
      30. Switching heavy loads with solid state relays (SSR)
      31. Playing sound / MQTT sound
      32. Smart LED prototype using AC solid state relays (SSR)
      33. RFID read & write with MFRC522 module
      34. Mosquitto + SSL/TLS, openHAB2, MQTT Dash
      35. Smart LED prototype 2, openHAB2, MQTT Dash
      36. Play MP3 with DFPlayer Mini
      1. Arduino/Eclipse crossover
      2. NeoPixel (WS2812B) library contest
      3. Bluetooth server tutorial & code walk
      4. IR remote (AX-1838HS)
      5. Touch sensor (300 LED NeoPixel skin detector)
      6. Arduino multitasking (WS2812 octo-tasking)
      7. Arduino multitasking (DRV8825 stepstick stepper motor driver)
      8. Arduino AP + web server + file upload
      9. 100 ways to buy an ESP32 board
      10. Eclipse Oxygen installation & configuration
      11. Temperature measurement
      12. Bluetooth logging multimeter with INA219 & SSD1306
      13. On the bench (fake mailbag)
      14. Heart rate / ECG monitor with AD8232
      15. Battery monitor
      16. PushBullet push notifications
      17. Latch circuit
      18. ESP32 IoT, VPS, MQTT, Cloud DataStore
      19. $2 prototype PCBs
      20. ESP32 timers & changing timer
      21. ESP32 Arduino speed comparison
      22. Playing with Blynk
      23. MOSFET tutorial
      24. ESP32 vs ESP8266 speed comparison
      25. MOSFET level shifter
      26. Camera demo using OV2640
      27. Micro SD card (SDHC)
      28. GPI[O]
      29. ePaper
      30. ePaper u8g2 interface
      31. ULP & ADC
      32. KiCad ESP32-WROVER adapter
      33. ESP-NOW simplex & duplex
      34. Mains power with HLK-PM03
      35. Arduino BLE robot buggy with L298
    • Kolban's ESP32 Technical Tutorials (Repository)

      Note: the YouTube playlist is in reverse-chronological order.

    • G6EJD's ESP32 Videos
      1. ESP32 X1 board, 0.96″ OLED, DHT22 temperature/humidity sensor
      2. Weather station with ESP32 X1 OLED (code)
      3. ESP32 1.3″ OLED weather station using scrolling frames (code)
      4. ILI9341 TFT displays (code)
      5. ESP32 ILI9341 TFT and hardware SPI for ultra fast graphics
      6. Connecting SSD1331 color OLED (code)
      7. DS18B20 temperature sensor (water proof) (code)
      8. MH-ET LIVE ESP32 MiniKit (code)
      9. ESP-WROVER-KIT review and weather forecaster demo
      10. Weather forecaster using local sensors (code)
      11. Thingspeak upload and deep sleep (code)
      12. SSD1351 1.5″ color OLED
      13. Wi-Fi survey tool; interpreting RSSI and conducting a survey (code)
      14. Thinkspeak channel data reading (code)
      15. ePaper SPI displays
      16. ePaper weather station using serial (UART) communication (code)
      17. ESP32 ultra low power test results
      18. Time services (simple approach)
      19. More advanced time services (code)
      20. WEMOS LOLIN32 Lite (review and differences)
      21. WEMOS LOLIN32 (low power demands when powered by 3.3 V)
      1. Connect and get I²C devices working
      2. Connect SPI devices and get them working
      3. Bosch BME680 environmental sensor: air quality, temperature, pressure, and humidity (code)
      4. Arduino IDE pin mapping: determining, changing, or adding definitions
      5. ADC and some of its more advanced functions
      6. Adding a new board definition to the Arduino IDE
      7. Digital to analog converter (code)
      8. Novelty X-mas and new year count down timer (code)
      9. How to connect and get I²C devices working (code)
      10. Audio spectrum analyser using FFT (code)
      11. 8-octave audio spectrum display (code)
      12. Real time Morse decoder (code)
      13. General purpose web server (code)
      14. Data logging web server (code)
      15. Hardware serial ports
      16. Over-the-air (OTA) updating (code)
      17. Sensor server & clients for DHT, SHT, BMP085, BMP180, DS18B20, etc. (code)
      18. Hints and tips (code)
      19. File downloads via HTTP with web interface
      20. File uploads via HTTP with web interface (code)
      21. Download, upload, delete, stream and directory services
    • Adel Kassah's TUNIOT ESP32 Programming Videos
    • Mongoose OS Videos

      See also: user guide tutorial videos playlist.

    • Simba Embedded Programming Platform Videos

      Brief demo videos; see YouTube description for links to source code and documentation. (Videos not using ESP32 have been omitted; see uploads playlist for all Simba & Pumbaa videos.)

  • First Impressions with ESP32 Units
  • Miscellaneous Discussions


Development software, tools, environments, languages, platforms, frameworks, libraries, code, and other resources:

  • ESP-IDF (Espressif IoT Development Framework)
  • Other Espressif Projects
  • Arduino (C++)
  • Simba Embedded Programming Platform

    See also: Pumbaa (MicroPython on Simba)

  • Zephyr Project

    A scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with security in mind.

  • Mongoose OS
  • NuttX RTOS
  • MicroPython
  • Hybrid C/Python
  • Lua
  • JavaScript
  • mruby (Carson McDonald & Yamamoto Masaya)
  • Forth
  • Other Code & Libraries
    • ESP32-OTA-HTTPS: Secure Over-The-Air Updates (Article)
    • Lightweight HTTP client for ESP32.
    • Example of using with ESP32 (Forum Post)
    • MQTT
    • LibWebSockets

      Lightweight C library built to use minimal CPU and memory resources, providing fast throughput in both directions as client or server.

    • ESP32 (ESP-IDF) Wi-Fi connect and resolve DNS
    • Template for Connecting to the AWS IoT Platform
    • Rudi's Standalone HTTP Server

      (Forum Post 1, 2; Video 1, 2)

    • Pre-built ESP8266 & ESP32 Toolchains for NodeMCU Development & CI Use
    • Neil Kolban's ESP32 Code Snippets
    • FeelFreeLinux's ESP32 Repository
    • Ring Log (Edmund Huber)

      An on-disk ring buffer for persistent, fixed-sized logs.

    • Temperature/Humidity Sensors
    • Cameras
    • LEDs
    • Robotics
    • Gaming
    • Wi-Fi
    • Bluetooth
    • Audio
    • CAN Driver (Thomas Barth)

      See also: A CAN driver for the ESP32, project, and forum thread.

    • Displays & Graphics
    • DAC-Cosine (Krzysztof)

      API to operate cosine waveform generator inside ESP32.

    • ESP32_BadAppleBad: SSD1306 OLED & RLE video data (Lutz Lisseck)

      Bad Apple video by Touhou on ESP32 with SSD1306 OLED; uses the Heatshrink compression library to decompress the RLE encoded video data.

    • Audio Spectrum Visualization
  • Development Tools and Environments
  • PCB Design Resources


Hardware listed below includes the Quad-Flat No-Leads (QFN) packaged ESP32 chips and system-in-package module, various surface-mount printed circuit board modules, a large variety of development boards, and industrial, commercial, and general consumer devices.

QFN Packaged Chips

The ESP32 SoC (system on a chip) is housed in surface-mount, Quad-Flat No-leads (QFN) packages in either 6×6 mm² or 5×5 mm² sizes with 48+1 connection pads (48 pads along the sides and one large thermal pad connected to ground on the bottom). Physical package footprint/dimensions can be found in chapter 6 of the ESP32 Datasheet. All ESP32 chips thus far have been manufactured using TSMC's ultra-low power 40 nm process.

The Processor Cores column above lists number of cores for the central processor; this number excludes the ULP co-processor. See ECO (Engineering Change Order) and Workarounds for Bugs in ESP32 for differences between revision 0 and revision 1. For information on the ESP31B prototype/beta chip, visit the Historical page.

QFN Packaged Module

ESP32-PICO-D4 SiP (system in package) module is housed in a 7×7 mm² Quad-Flat No-leads (QFN) package with 48+1 connection pads (48 pads along the sides and one large thermal pad connected to ground on the bottom). Package footprint/dimensions can be found in the ESP32-PICO-D4 Datasheet.

Flash Mem.
ESP32-PICO-D4Dual-core4 MiB7 mm × 7 mm
  • SiP module combines ESP32 silicon, crystal oscillator, flash memory, filter capacitors, and RF matching links into a single package.
  • Datasheet
  • Photos:
  • Known manufacture dates:
    Lot NumberYearWeek
  • Pins GPIO16, GPIO17, SD_CMD, SD_CLK, SD_DATA_0 and SD_DATA_1 are used for connecting the embedded flash, and are not recommended for other uses. ⚠️
  • Announced on 2017 Sept 1, although its existence was publicly known before.

ESP32-PICO-D4 has been included on the following boards:

  • Espressif: ESP32-ZERO V2 (surface-mount PCB module), ESP32-PICO Core Board V2, ESP32-PICO-KIT (ESP32-PICO Core Board) V3 & V4
  • Microwavemont: ESP32-PICO Motherboard, ESP32-PICO-ADB, ESP32-PICO Double Decker, ESP32-PICO-CAM, ESP32-PICO-tinyCAM

Compact Surface-Mount PCB Modules

The ESP32-based Wi-Fi/Bluetooth communication modules in the table below are surface-mount devices (SMD). Each module is a small printed circuit board upon which chips and other components are soldered and treated as an inseparable assembly to be integrated onto another PCB. All the modules listed below contain an ESP32 chip, a 40 MHz crystal (clock), and a flash memory chip, but vary in features such as antenna configuration, capacity of the flash memory chip, and EM shielding. Because these wireless communication module boards are designed for incorporation into final products (unlike development boards), they lack development components which are unnecessary or undesirable in final products — e.g., typically no USB-to-UART nor programming/reset buttons — minimizing both cost and physical size.

Note that the pSRAM column refers to inclusion of additional on-board pseudostatic RAM; this figure does not include the SRAM within the ESP32 chip itself.

MakerModelFlash MemorypSRAMAntennaEM ShieldNotes
Espressif📌ESP-WROOM-324 MiB


0 MiBMIFAShielded[Picture: ESP-WROOM-32 module with EM shield]
  • Initial production release (non-beta) module board created by Espressif.
  • Size: 25.5 mm × 18 mm × 3.1 mm
  • Datasheet
  • Pinout poster
  • Schematic
  • Hardware reference design (ZIP)
  • Regulatory certificates:
    • CE notified body: Bay Area Compliance Laboratories Corp. (1313)
    • MIC/TELEC cert. number: 211-161007
    • ISED cert. number: 21098-ESPWROOM32
    • KCC cert. number: MSIP-CRM-es5-ESP-WROOM-32
    • SRRC CMIIT ID: 2016DP7751
    • NCC ID: CCAH16LP3210T7
  • A special variation of the ESP-WROOM-32 module with 16 MiB flash is used with the SHA2017 Badge.

previously ESP-WROOM-32D

4 MiB0 MiBMIFAShielded
  • Revision of the ESP-WROOM-32 module which uses an ESP32-D0WD chip instead of an ESP32-D0WDQ6 chip.
  • Size: 25.5 mm × 18 mm × 3.1 mm
  • Datasheet
ESP32-WROOM-32U4 MiB0 MiBU.FL conn.Shielded
  • Compatible with the electrical connection footprint of the Espressif ESP-WROOM-32 module. However, unlike the ESP-WROOM-32 and ESP32-WROOM-32D, ESP32-WROOM-32U includes a U.FL compatible connector in lieu meandered inverted-F antenna PCB trace, and the physical size of the module differs (smaller PCB area but slightly thicker module depth).
  • Size: 19.2 mm × 18 mm × 3.2 mm
  • Datasheet
  • If the model name seems rather odd to you, you're not alone.
  • Upcoming module which will use the single core ESP32-S0WD chip.
  • Processor frequency simply listed at 160 MHz, which differs from the dual core modules' adjustable clock frequency range of 80 MHz to 240 MHz.


4 MiBMIFAShielded
  • ESP32 based surface-mount PCB module with 4 MiB pSRAM. ESP32-WROVER is configured to use the MIFA PCB antenna. (Does not include a U.FL connector.)
  • Size: 31.4 mm × 18 mm × 3.5 mm
  • Datasheet
  • User guide
  • Pinout
  • Footprint differs from ESP-WROOM-32 in the placement of pads 15–24.

    Espressif ESP-WROVER-KIT, Espressif ESP32-LyraT, and Baoshi's JESP32 Nano boards have solder pads that accept the ESP32-WROVER footprint.

  • Hardware reference design (ZIP)

    Schematic, layout, Gerbers, and BOM.

  • Regulatory certificates:
    • CE notified body: Bay Area Compliance Laboratories Corp. (1313)
    • SRRC CMIIT ID: 2017DP3657


4 MiBU.FL conn.

(MIFA disabled)

Shielded[Picture: ESP32-WROVER module with EM shield]

from SiP module



  • Availability: Unreleased
  • ESP32-ZERO V2 is a compact surface-mount PCB module which incorporates an ESP32-PICO series system-in-package (SiP) QFN module with a 3D antenna.
  • Older version: SIP 3D ANT V3
  • Existing photos do not exhibit a shield, however, the board is designed to include an on-board EM shield.
Ai-ThinkerESP-32S4 MiB


0 MiBMIFAShielded
  • Description: ESP-32S was a remake/clone of Espressif's ESP-WROOM-32 module.
  • Size: 25.5 mm × 18 mm × 2.8 mm
  • Ai-Thinker wiki ESP32 article
  • Availability: ESP-32S appears to be discontinued, although some sellers still appear to have modules available in their inventory.
  • Successor/replacement: In lieu of ESP-32S, Ai-Thinker presently sells Espressif ESP-WROOM-32 modules manufactured by Ai-Thinker. Ai-Thinker is an officially licensed manufacturer of Espressif ESP-WROOM-32 modules. Note that because such ESP-WROOM-32 modules are officially licensed through Espressif, they are classified in this table to be Espressif modules even though they are manufactured by Ai-Thinker.
AnalogLambESP-32S-ALB4 MiB0 MiBMIFANo shield
  • Clone of the ESP-32S module.
  • Footprint: Compatible with ESP-WROOM-32 & ESP-32S.
  • Module PCB has green color solder mask coating.
  • Lacks EM shield and is not FCC certified.
  • Availability: Released and in stock.
  • Variation of ESP-32S-ALB module with 16 MiB of flash.

4 MiB and 16 MiB variations planned

4 MiBMIFAShielded
  • Footprint same as ESP-WROOM-32.
  • pSRAM: 4 MiB
  • Size: 18 mm × 25 mm × 3 mm
  • Note: Not FCC tested.
  • Announcement
  • Availability: To be released 2017 August 8.
DFRobotESP-WROOM-324 MiB0 MiBMIFAShielded
  • Clone/remake of Espressif ESP-WROOM-32 module.
  • Uses non-typical frequency; note ESP-IDF crystal frequency setting. ⚠️

    The schematic posted for the DFRobot ESP-WROOM-32 module is incorrect; the DFRobot ESP-WROOM-32 module does not use a 40 MHz crystal oscillator. They just copied over Espressif's ESP-WROOM-32 schematic without updating it to reflect the change.

  • Wiki article
  • Photo by Hugatry
  • Note: Unlike the official Espressif ESP-WROOM-32, this clone by DFRobot is not presently FCC certified.
  • DFRobot SKU: TEL0111
eBox & WidoraESP32-Bit4 MiB0 MiBCeramic
U.FL conn.
  • Antenna: on-board ceramic antenna and connector for an external antenna.
  • Footprint: Unique and differs from all other manufactured modules.
  • Pinout
  • Availability: Released & purchasable

    (Although rather pricy.)

FreematicsESP32 Module4 MiB

(also 16 MiB in future variation)

0 MiBMIFAShielded
  • Clone/remake of Espressif ESP-WROOM-32 module.
  • Seen on Freematics ESPRIT development board.
  • Does not appear to be sold separately.
Guoyun Technology

果云科技; a.k.a. Goouuu Tech

ESP-32F4 MiB


0 MiBMIFAShielded
  • Clone/remake of Espressif ESP-WROOM-32 module.
  • FCC ID: 2AM77-ESP-32F
  • Size: 18 mm × 25.5 mm × 2.8 mm
  • Not to be confused with Guoyun Technology's breakout board labeled "ESP32F" (without the hyphen).
IntoRobotW324 MiB0 MiBMIFAShielded
W334 MiB0 MiBCeramic
U.FL conn.


1 MiB


0 MiBMIFANo shield
  • Wiki article
  • Schematic
  • Compared to other modules, 1 MiB is an unusually small flash memory capacity. ⚠️
  • Footprint: Unique and differs from all other manufactured modules.
  • EM shield: None. (But has solder pads for a shield.)
  • History:
  • Availability: Released & purchasable

Lifi Labs

  • ESP32 based compact surface-mount PCB module with PCB trace meandered inverted-F antenna.
  • Intended to be used in devices produced by Lifi Labs.
  • Used in the LIFX Mini (a Wi-Fi enabled light) as seen in the "Internal Photos" exhibit attachment for FCC ID 2AA53-MINI.
  • FCC ID: 2AA53-LCM3
LCM3C??U.FL conn.Shielded
  • ESP32 based compact surface-mount PCB module with U.FL antenna connector.
  • Intended to be used in devices produced by Lifi Labs.
  • FCC ID: 2AA53-LCM3
PycomW018 MiB4 MiBNoneShielded
L018 MiB4 MiBNoneShielded
L048 MiB4 MiBNoneShielded
  • OEM module version of the LoPy4. Supports Wi-Fi, Bluetooth, LoRa, and Sigfox.
  • pSRAM: 4 MiB
  • Documentation (pinout, datasheet, drawings)
  • See also: OEM Reference Board for Pycom modules.
G018 MiB4 MiBNoneShielded
  • OEM module version of the GPy. Supports Cellular LTE-CAT M1/NB1, Wi-Fi and Bluetooth.
  • Documentation (pinout, datasheet, drawings)
  • See also: OEM Reference Board for Pycom modules.
U-BloxNINA-W1312 MiB0 MiBNoneShielded
  • Part of the U-Blox NINA-W13 series (previously NINA-W1 series) of Wi-Fi modules.
  • NINA-W131 has connection pad for an external antenna.
NINA-W1322 MiB0 MiBPIFAShielded
  • Part of the U-BloxNINA-W13 series (previously NINA-W1 series) of Wi-Fi modules.
  • NINA-W132 has an on-board "3D antenna" of shaped metal.
United TechnologiesWB_MODE_V14 MiB


0 MiBMIFANo shield
  • Appears to be a clone of the ESP-32S module.
  • Seen soldered onto GHX_BOARD_V1 development board.
  • Does not appear to be sold separately.
  • EM shield: None. (But has solder pads for a shield.)

Visit the Historical page for information on Espressif's ESP-WROOM-03 beta module, Ai-Thinker's ESP3201, ESP3207, ESP3212, and ESP-32E modules, and Pycom's S01 module.

Small & Medium Development Boards/Modules (Not Using PCB Module)

These small and medium sized development boards have USB-to-UART interfaces, but the ESP32 chip is directly incorporated into the board (instead of using a ESP32-based surface-mount module).

MakerModelFlash MemoryAntennaEM ShieldUSB⇔UARTNotes
Espressif📌ESP32-PICO-KIT V44 MiB

from SiP module



No shieldSiLabs
  • ESP32-PICO-KIT V4 is a development board based around the ESP32-PICO-D4 SiP QFN module with a relatively slim form factor and single-row headers on opposing edges, lending to breadboard friendliness. The board includes a Proant "3D antenna", Micro-USB socket, SiLabs CP2102 USB-to-UART bridge, "EN" and "BOOT" buttons, 3.3 V AMS1117 LDO (power supply), and a 5 V power indicator LED.
  • The most notable difference from V3 to V4 is the pinout arrangement.
  • Schematic
  • Pinout

    N.b., V4 pinout differs from V3 pinout. ⚠️

  • Getting started guide
Electronic Sweet PeasESP32016 MiB


CeramicNo shieldSiLabs
& MakerAsia
Nano324 MiB


8 MiB
CeramicNo shieldFTDI
Heltec AutomationWIFI Kit 32?MIFANo shieldSiLabs
  • ESP32 development board with OLED display and battery connector.
  • Pinout
  • Repository (for all Heltec WIFI kits)
  • Availability: purchasable through AliExpress. (Note: search query results include LoRa boards too.)
U.FL conn.

U.FL for LoRa

No shieldSiLabs
  • ESP32 development board with 0.96 inch OLED display, battery connector, and LoRa (SX1278).
  • Antennas: ESP32 Wi-Fi & Bluetooth uses the MIFA PCB trace and SX1278 LoRa uses an external antenna via the U.FL connector.
  • Pinout from top & from bottom
  • Repository (for all Heltec WIFI kits)
  • Availability: purchasable through AliExpress.
MicrowavemontESP32-PICO Motherboard4 MiB

from SiP module

MIFANo shieldSiLabs

(previously used CP2102)

  • Development board that uses the ESP32-PICO-D4 SiP, has a Micro-USB connector, LiPo battery connector and charger circuit, USB to UART bridge, and LED for blink test.
  • USB bus power operation and Lipo battery operation are selectable by on-board jumper.
  • project
  • Video
  • History:

from SiP module

MIFANo shieldSiLabs
ESP32-PICO Double Decker4 MiB

from SiP module

MIFANo shieldSiLabs
  • Stackable development board pair with stackable design and small size facilitate breadboard use. "Upper layer" main development board contains ESP32-PICO-D4 SiP, battery connector & charger circuit with LiPo charge status LEDs, Reset & pull-up IO0 buttons, and a green LED on GPIO4. "Lower layer" board has the USB connector and functions as a USB to UART bridge.
  • Size: 17 mm × 50 mm
  • Versions: original, MK2
  • History:

from SiP module

MIFANo shieldSiLabs
  • ESP32-PICO-D4 based development board with CMOS camera (OV7725 or OV2640) and 64×32 pixel OLED display (SSD1306).
  • Repository (sample program)
  • Videos: 2017 Oct 3rd & 8th

from SiP module

No shieldSiLabs
  • Tiny Motion JPEG (MJPEG) video streamer with ESP32-PICO-D4, OV2640 2MP CMOS camera, 64×32 pixel SSD1306 OLED, and LiPo charger circuit.
  • Streaming video can be watched through remote device, such as a PC or smartphone. Video streaming has been tested using IP Camera Lite for iOS and IP Camera Viewer 2 for macOS.
  • Designed as a pair of "double-decker" boards. The primary "upper-deck" board contains the ESP32-PICO-D4, camera, and display. The secondary "lower-deck" board contains the USB-to-serial bridge. Once programming is done, the lower-deck board can be removed.
  • Sample code
  • History:
Pesky Products

Kris "onehorse" Winer

ESP32 Development Board4 MiB


NoneNo shieldFTDI
  • Other notable components: MAX1555 LiPo battery charger, 3.3 V MIC5528 LDO supplying 500 mA
  • Gerber files available on OSH Park
  • Antenna connection: Plated through-hole at end of antenna trace for soldering on an antenna. (1.25″ copper wire can be used for the antenna.)

2.0 and 3.0 versions

4 MiBCeramic
U.FL conn.
LoPy4 MiBCeramic
U.FL conn.
  • Triple network board with Wi-Fi, BLE, and LoRa.
  • Documentation (datasheet, pinout)

    Do not connect anything to pins P5, P6 and P7, since these pins are used by the SPI bus that controls the LoRa radio. These pins should be treated as NC (No Connection). Wiring connections to these pins will cause incorrect behavior of the LoRa radio.

  • See also: Pycom expansion boards & shields
LoPy48 MiBCeramic
U.FL conn.
SiPy4 MiBCeramic
U.FL conn.
  • Triple network board with Wi-Fi, BLE, and Sigfox.
  • Sigfox maximum Tx power variations:
    • 14 dBmW ← RCZ1 & RCZ3 (Europe, Oman, South Africa; Japan)
    • 22 dBmW ← RCZ2 & RCZ4 (United States, Mexico, Brazil; Australia, New Zealand, Singapore, Taiwan, Hong Kong, Colombia, Argentina)
  • Documentation (datasheet, pinout)

    Do not connect anything to pins P5, P6 and P7, since these pins are used by the SPI bus that controls the Sigfox radio. These pins should be treated as NC. Wiring connections to these pins will cause incorrect behavior of the Sigfox radio.

  • See also: Pycom expansion boards & shields
GPy4 MiBCeramic
U.FL conn.
FiPy4 MiBCeramic
U.FL conn.
SparkFunESP32 Thing4 MiB


IFANo shieldFTDI
  • Development board with USB-to-UART bridge, USB connector, battery connector (JST PH 2-pin, 2.0 mm spaced), battery charging circuit (500 mA max charging current), and Reset button.
  • Wiki article
  • Seller: WEMOS CC Store on AliExpress
"WeMos" / Lily GO

(not group)

Pro ESP324 MiBMIFANo shieldFTDI
  • Clone of the SparkFun ESP32 Thing board. Compact ESP32 based development board with battery connector, and the typical development board component accoutrements.
  • Size: 2.5 cm × 5.9 cm (0.98 in. × 2.32 in.)
  • Pinout
  • Seen both with and without "WeMos" logo label. (Although, not made by WEMOS.)
  • Sellers: Banggood and various vendors on AliExpress.
Pro ESP32 OLED16 MiBMIFANo shield?
  • Clone of Heltec Automation's WIFI Kit 32 board.
U.FL conn.

U.FL for LoRa

No shield?
  • Clone of Heltec Automation's WIFI LoRa 32 board.
  • U.FL connector is for the LoRA antenna.
  • Available without OLED too.
U.FL conn.

U.FL for LoRa

No shield?
  • Similar to, but slightly different than, Heltec Automation's WIFI LoRa 32 board. Notably, it uses a planar inverted-F antenna (shaped metal) for Wi-Fi.
  • U.FL connector is for the LoRA antenna.
TTGO T74 MiBMIFANo shield?
  • Uses ESP32-PICO-D4 SiP module. Includes connectors for USB and battery.
WhitecatESP32 N14 MiBCeramic
U.FL conn.
No shield(None)
  • Whitecat N1 board without LoRa transceiver.
  • Second voltage regulator for power on / power off sensors through a dedicated GPIO.
  • AE1 (ceramic antenna) & UFL1 (U.FL connector for external antenna) are for ESP32 wireless connectivity.
  • Size: 78 mm × 26 mm
  • Seller: Whitecat (€30)
ESP32 N1 LORA4 MiBCeramic
U.FL conn.
No shield(None)
  • Whitecat N1 board with LoRa transceiver.
  • Second voltage regulator for power on / power off sensors through a dedicated GPIO.
  • AE1 (ceramic antenna) and UFL1 (U.FL connector for external antenna) are for ESP32 wireless connectivity. AE2 (ceramic antenna) and UFL2 (U.FL connector for external antenna) are for the LoRa WAN transceiver.
  • Size: 78 mm × 26 mm
  • Seller: Whitecat (€40)
WidoraAir4 MiBMIFANo shieldSiLabs

Small & Medium Development Boards/Modules (Using PCB Module)

Development boards are designed to be easily worked with for the purpose prototyping and development. Typically this means connections are broken out with 0.1″ spaced headers (in contrast to the more tightly spaced connections seen on the compact surface-mount module boards). Furthermore, development boards often contain on-board components to aid in easy prototyping & programming — e.g., power-supply/regulation, USB-to-UART, and buttons for flashing & resetting.

MakerModelSurface-Mount ModuleUSB⇔UARTNotes
Espressif📌ESP32-DevKitC V2

ESP32 Core Board V2

  • Small and convenient development board with ESP-WROOM-32 module installed, break out pin headers and minimum additional components. Micro-B USB connector and CP2102 USB-to-UART bridge provides a serial programming interface that also provides power supply for the board. Also includes "EN" & "Boot" (IO0) buttons and 1117 LDO.
  • Getting started guide
  • Schematic
  • V2 fixed the auto-reset issue seen in V1.
  • Solder mask color: Black
  • Board identifier label (verbatim): ESP32_Core_board_V2

ESP32 Feather Board

AnalogLambESP32 Development BoardESP-32S-ALB
  • Development board appears similar to ESP32-DevKitC.
  • Available with either 4 MiB flash (using ESP-32S-ALB module) or 16 MiB flash (using ALB-WROOM module).
  • Schematic
  • project
  • Compact development board designed around the ESP32-WROVER module.
  • Size: 25 mm × 18 mm × 3 mm
  • Headers: 0.1 inch; breadboard friendly layout
  • Compact development board with small perfboard area that can be cut down to a smaller size if desired.
  • Note: Module soldered onto underside of board.
  • Schematic
  • Repository

Yuki Sato, Kohei Kido, Sho Suzuki

DFRobotFireBeetle ESP32DFRobot ESP-WROOM-32

(clone module)

DOIT/SmartArduinoESP32 DevKitESP-WROOM-32SiLabs
Dongsen Technology

Travis Lin

D-duino-32 V1–V2.5ESP-WROOM-32SiLabs
  • Development board with ESP-32S module, 0.96″ OLED, and programming buttons.
  • LDO: AMS1117
  • Versions:
    • V1: 6.5 cm long.
    • V2: 5.75 cm long, more stable Micro-USB connector.
    • V2.5: Red solder mask.
D-duino-32 V3

WiFi Packet Monitor V3



  • ESP32-WROVER based development board with 1.3 inch OLED (GPIO26-SDA, GPIO27-SCL) TP4056+DW06+LM39100 battery charging, 1 A charging/discharging, over-charging and over-discharging protection, LED indicator (red charging, green full), auto-download function, SD card slot, and a control button (GPIO5).
  • Antenna variations: Sold by default with ESP32-WROVER (PCB trace antenna). Also sold with ESP32-WROVER-I (includes I-PEX connector) with either a 2 dBi or 8 dBi antenna.
  • Video
Pocket 32ESP-WROOM-32SiLabs
  • Development board with ESP-WROOM-32 module, USB-to-UART, programming buttons, on/off switch, 18650 battery socket, charging circuit & indicator LED, and user programmable LED (on GPIO16).
  • LDO: AMS1117
  • History:


This document introduces the Simple-Pair technology developed by Espressif. The document focuses on Simple-Pair features, their uses and the demo code.

PDF V1.0 2016.07.20
ESP32 Bluetooth Networking User Guide

This document provides examples of using ESP32 for Bluetooth Networking for IoT devices, and introduces APIs related to networking development.

PDF V1.2 2019.11.18
ESP32 Flash Encryption Guide

This document introduces the flash encryption feature of ESP32.

HTML latest 2017.07.27
ESP-IDF Getting Started Guide

This document is the ESP-IDF getting started guide.

HTML latest 2017.07.28

This document provides a guide to installing OpenOCD for ESP32 and debugging using GDB.

HTML latest 2017.08.02
ESP32 Bluetooth Architecture

This document introduces the ESP32 Bluetooth architecture.

PDF V1.1 2019.11.20
ESP32 BT&BLE Dual-mode Bluetooth

This document introduces the ESP32 BT&BLE dual-mode bluetooth.

PDF V1.0 2018.02.11
Espressif HomeKit SDK Product Brief

This document provides introduction to the Espressif HomeKit SDK.

PDF V1.1 2018.03.27
ESP-PSRAM64 & ESP-PSRAM64H Datasheet

This document provides the specs of ESP-PSRAM64 & ESP-PSRAM64H.

PDF V1.1 2020.10.13
ESP32-MeshKit-Sense Hardware Design Guidelines

The ESP32-MeshKit-Sense Hardware Design Guidelines introduces the block diagram, PCB layout and function modules of the development board ESP32-MeshKit-Sense.

HTML V1.0 2018.07.16
Espressif Production Testing Guide

This guide mainly describes the production testing schemes available for Espressif Wi-Fi products (Wi-Fi module/Chip Onboard), thus providing reference for the production testing of customer products.

PDF V1.1 2020.06.24
ESP32 Phy Init Bin Parameter Configuration Guide

This guide provides the parameter configuration for ESP32 phy init bin.

PDF V1.0 2018.12.06
ESP32 Audio Design Guidelines

The guidelines outline recommended design practices when developing Audio products based on the ESP32.

PDF V1.0 2019.01.25

This document describes differences between V3 and previous ESP32 silicon wafer revisions.

PDF V1.1 2020.07.31
ESP-IDF Programming Guide

This is the documentation for Espressif IoT Development Framework (ESP-IDF). ESP-IDF is the official development framework for the ESP32 chip.

HTML release-v4.1 2020.03.10
ESP-IDF Programming Guide

This is the documentation for Espressif IoT Development Framework (ESP-IDF). ESP-IDF is the official development framework for the ESP32 chip.

HTML release-v4.0 2020.03.10
ESP-DSP Library User Guide

ESP-DSP is the official DSP library for the ESP32 chip.

HTML latest 2020.03.30
ECO and Workarounds for Bugs in ESP32

This document details the bugs in the ESP32.

PDF V2.3 2020.09.25

This document provides the specifications of ESP32 family of chips.

PDF v3.8 2021.10.15
ESP32 Technical Reference Manual

The manual provides detailed and complete information on how to use the ESP32 memory and peripherals. 

PDF v4.5 2021.07.27
ESP32 AT Instruction Set and Examples

This document introduces the ESP32 AT commands, explains how to use them and provides examples of several common AT commands.

HTML latest 2021.08.05
ESP32 Hardware Design Guidelines

The guidelines outline recommended design practices when developing standalone or add-on systems based on the ESP32 series of products, including ESP32 SoCs, ESP32 modules and ESP32 development boards.

PDF v3.2 2021.08.09

This document introduces the specifications of ESP32-WROOM-DA hardware, including overview, pin definitions, functional description, peripherals, and electrical characteristics, etc.

PDF v0.5 2021.08.19
  1. Pollen arlington va
  2. 2012 escalade hp
  3. Gacha hair
  4. Rectangle table clock
  5. Kiba dog

ESP32 Libraries Location

Thanks That was very useful

You're welcome. It's not everyday that I post something Robin2 didn't know about already!

My question is, isn't there an easy way to do this, just by downloading a zip file, extracting it and copying the contents to the "hardware" folder?

It's not quite that simple, but yes you can do that by following the "Using Arduino IDE with the development repository " instructions here:


GitHub - espressif/arduino-esp32: Arduino core for the ESP32

Arduino core for the ESP32. Contribute to espressif/arduino-esp32 development by creating an account on GitHub.

This installation method is primarily intended for beta testers and developers so it's going to install the beta core from the tip of the master branch. If you prefer to run the core at its release state then you can run the command:

at the step of the instructions after the command:

1.0.2 happens to be the latest stable release currently. You can see the releases listed here:


Releases · espressif/arduino-esp32

Arduino core for the ESP32. Contribute to espressif/arduino-esp32 development by creating an account on GitHub.

There is a release candidate available 1.0.3-rc1 that is perhaps good for those who want cutting edge, but with a bit more likelihood of stability.

That's all I had to do to install the other cores that I have.

Yes, but likely those were simple AVR cores that were able to share the tools that come installed with the Arduino IDE for Arduino AVR Boards. It's more complicated for ESP32 because it needs a complete toolchain installed along with the hardware definitions and libraries. It's also a bit more complicated because ESP32 developers used some submodules in their repository (actually I think it might be down to only one submodule now). Luckily, the ESP32 developers made the manual installation process super easy by providing excellent instructions and a Python script that handles the installation of the toolchain.

Somewhat separately, I believe there is an option to create a "portable" folder in the folder that contains the IDE code and (I believe) the IDE will put cores and the sketchbook in there. But I presume that makes everything specific to one version of the IDE, whereas with my existing system the same sketchbook is used by my different versions of the IDE.

Yes. When the Arduino IDE is in portable mode the cores you install via Boards Manager are installed to the portable/packages subfolder of the Arduino IDE installation folder. It does configure the sketchbook folder to be inside the portable folder by default, but you can set any sketchbook location you like via File > Preferences > Sketchbook location. So you can easily share the same sketchbook between multiple portable installations of the Arduino IDE if you like. However, the cores installed via Boards Manager are more specific to that particular Arduino IDE installation (though I suppose you could work around that with symlinks).

Installing Esp32 Library in Arduino IDE

There’s an add-on for the Arduino IDE that allows you to program the ESP32 using the Arduino IDE and its programming language. In this tutorial we’ll show you how to install the ESP32 board in Arduino IDE whether you’re using Windows, Mac OS X or Linux.

Watch the Video Tutorial

This tutorial is available in video format (watch below) and in written format (continue reading this page). 

If you have any problems during the installation procedure, take a look at the ESP32 Troubleshooting Guide.

If you like the ESP32, enroll in our course: Learn ESP32 with Arduino IDE.

Prerequisites: Arduino IDE Installed

Before starting this installation procedure, make sure you have the latest version of the Arduino IDE installed in your computer. If you don’t, uninstall it and install it again. Otherwise, it may not work.

Having the latest Arduino IDE software installed from, continue with this tutorial.

Do you need an ESP32 board? You can buy it here.

Installing ESP32 Add-on in Arduino IDE

To install the ESP32 board in your Arduino IDE, follow these next instructions:

  1. In your Arduino IDE, go to File> Preferences

    Installing ESP32 Add-on in Arduino IDE Windows, Mac OS X, Linux open preferences
  2. Enter into the “Additional Board Manager URLs” field as shown in the figure below. Then, click the “OK” button:

    Installing ESP32 Add-on in Arduino IDE Windows, Mac OS X, Linux enter URLs

    Note: if you already have the ESP8266 boards URL, you can separate the URLs with a comma as follows:,
  3. Open the Boards Manager. Go to Tools > Board > Boards Manager…

    Installing ESP32 Add-on in Arduino IDE Windows, Mac OS X, Linux open boards manager
  4. Search for ESP32 and press install button for the “ESP32 by Espressif Systems“:

    ESP32 Add-on in Arduino IDE Windows, Mac OS X, Linux Installed
  5. That’s it. It should be installed after a few seconds.

    ESP32 Board add-on in Arduino IDE installed

Testing the Installation

Plug the ESP32 board to your computer. With your Arduino IDE open, follow these steps:

1. Select your Board in Tools > Board menu (in my case it’s the DOIT ESP32 DEVKIT V1)

Arduino IDE select the ESP32 board in Tools menu

2. Select the Port (if you don’t see the COM Port in your Arduino IDE, you need to install the CP210x USB to UART Bridge VCP Drivers):

Arduino IDE select the ESP32 Port in Tools menu

3. Open the following example under File > Examples > WiFi (ESP32) > WiFiScan

Arduino IDE open WiFiScan example for ESP32

4. A new sketch opens in your Arduino IDE:

Arduino IDE uploading WiFiScan example to ESP32

5. Press the Upload button in the Arduino IDE. Wait a few seconds while the code compiles and uploads to your board.

Arduino IDE upload WiFiScan sketch to ESP32

6. If everything went as expected, you should see a “Done uploading.” message.

Arduino IDE done uploading ESP32 WiFiScan sketch

7. Open the Arduino IDE Serial Monitor at a baud rate of 115200:

Open Arduino IDE Serial Monitor at baud rate 115200

8. Press the ESP32 on-board Enable button and you should see the networks available near your ESP32:

ESP32 Testing Add-on installation in Windows PC, Max OS X, and Linux computer


If you try to upload a new sketch to your ESP32 and you get this error message “A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…“. It means that your ESP32 is not in flashing/uploading mode.

Having the right board name and COM por selected, follow these steps:

  • Hold-down the “BOOT” button in your ESP32 board
Solved A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…
  • Press the “Upload” button in the Arduino IDE to upload your sketch:
Arduino IDE uploading new sketch to ESP32
  • After you see the  “Connecting….” message in your Arduino IDE, release the finger from the “BOOT” button:
Arduino IDE done uploading ESP32 WiFiScan sketch
  • After that, you should see the “Done uploading” message

That’s it. Your ESP32 should have the new sketch running. Press the “ENABLE” button to restart the ESP32 and run the new uploaded sketch.

You’ll also have to repeat that button sequence every time you want to upload a new sketch. But if you want to solve this issue once for all without the need to press the BOOT button, follow the suggestions in the next guide:

If you experience any problems or issues with your ESP32, take a look at our in-depth ESP32 Troubleshooting Guide.

Wrapping Up

This is a quick guide that illustrates how to prepare your Arduino IDE for the ESP32 on a Windows PC, Mac OS X, or Linux computer. If you encounter any issues during the installation procedure, take a look at the ESP32 troubleshooting guide.

Now, you can start building your own IoT projects with the ESP32!

Thanks for reading.


Libraries esp32

Arduino core for the ESP32

Build StatusDocumentation Status

Need help or have a question? Join the chat at


ESP32-S2 and ESP32-C3 Support

If you want to test ESP32-S2 and/or ESP32-C3 through the board manager, please use the development release link:

Now you can install the latest 2.0.0 version from the boards manager.

Development Status

Latest Stable Release Release VersionRelease DateDownloads

Latest Development Release Release VersionRelease DateDownloads


You can use Arduino-ESP32 Online Documentation to get all information about this project.

Decoding exceptions

You can use EspExceptionDecoder to get meaningful call trace.

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as Type: For reference.

Finally, if you are sure no one else had the issue, follow the issue template while reporting any issue.


We welcome contributions to the Arduino ESP32 project!

See contributing in the documentation for more information on how to contribute to the project.

Install ESP32 Library part1

So take a day off at your own expense for the treatment of nerves. And another unsuccessful attempt to get enough sleep. The door opened and the husband entered the bathroom.

Similar news:

Yes, and you are a lighter. Denis said and got out of bed. I Kardashian is to blame for everything. The work of the insurance department was interrupted for a very good reason.

862 863 864 865 866