pyWiFi-ESP32 Development Board Kit Development Board

Code name: ESP32_DEV

pyWiFi-ESP32 Development Board Kit development board is based on esp32 microcontroller and uses xtensa architecture. This board has a maximum CPU frequency of 240 MHz and a flash size of 4MB.

About pyWiFi-ESP32 Development Board Kit

The pyWiFi-ESP32 is a comprehensive development kit based on the ESP32 microcontroller, designed for MicroPython programming and IoT applications. It features integrated Wi-Fi 802.11 b/g/n and Bluetooth 4.2 + BLE for wireless connectivity. πŸ“Ά

Powered by a dual-core Xtensa 32-bit LX6 processor at up to 240 MHz, with 4MB flash memory and 520KB SRAM, it's ideal for IoT projects, home automation, and educational purposes. ⚑

The kit includes a variety of sensors: Atmospheric Pressure Sensor, Water Level Sensor, Soil Humidity Sensor, Ultrasonic Sensor, Human Infrared Sensor, and Photosensitive Sensor. It also comes with a pyBase expansion board, 0.96" OLED display, and Micro USB cable. πŸ”Œ

Operating at 3.3V with power input from 3.6V to 6V (recommended USB 5V), and 3.3V output up to 600mA. Features an onboard LED connected to GPIO2 and a button on GPIO0. Supports I2C and PWM on any GPIO pin. πŸ”‹

Where to Buy pyWiFi-ESP32 Development Board Kit

pyWiFi-ESP32 Development Board Kit

Starting from

$15

Amazon com
Amazon.com Ships worldwide
View Price
Aliexpress
AliExpress Best value
View Price

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

pyWiFi-ESP32 Development Board Kit Technical Specifications

πŸ”Œ USB

Type Micro-USB

πŸ›°οΈ Connectivity

WiFi 802.11 b/g/n (2.4 GHz)
Bluetooth 4.2
BLE 4.2

🧠 Microcontroller

Model esp32
Clock Speed 240 MHz
Flash Size 4MB
Architecture xtensa

✨ Features

  • 30 digital IO pins
  • 16 external interrupt pins
  • 16 analog input pins
  • 19 PWM pins

pyWiFi-ESP32 Development Board Kit Pinout

The pyWiFi-ESP32 pinout follows standard ESP32 GPIO layout with 30+ pins for extensive functionality. Power pins include 3V3 for 3.3V supply and GND for ground. Communication pins like TXD0 and RXD0 handle UART, while GPIO pins (0-39) support digital I/O, ADC, DAC, PWM, I2C, SPI, and more.

ADC channels provide 12-bit analog input, DAC offers analog output, and touch sensors enable capacitive touch interfaces. The board's flexible pinout makes it perfect for sensor integration and IoT prototyping.

βœ… Safe Pins to Use

For general GPIO usage, these are the safest and most flexible choices:

πŸ”Ή IO18
πŸ”Ή IO19
πŸ”Ή IO21
πŸ”Ή IO22
πŸ”Ή IO23
πŸ”Ή IO25
πŸ”Ή IO26
πŸ”Ή IO27
πŸ”Ή IO32
πŸ”Ή IO33

Why Are These Pins Safe?

  • Not involved in bootstrapping β†’ No impact on device boot mode or system startup
  • Not linked to flash memory or PSRAM β†’ Won't interfere with storage or memory access
  • Not dedicated to USB or JTAG β†’ Free for general use without affecting debugging
  • No special hardware connections β†’ Freely assignable without internal conflicts

⚠️ Pins to Avoid or Use with Caution

Some pins are reserved for critical functions like bootstrapping, JTAG debugging, USB communication, and flash memory operations. Misusing these pins may lead to boot failures, programming issues, USB conflicts, or disruptions in flash storage.

Critical Pin Categories:

  • πŸ› οΈ Strapping Pins: Control boot behavior and flash voltage selection
  • πŸ”— JTAG Debugging Pins: Required for low-level debugging
  • πŸ”Œ USB Communication Pins: Used for USB Serial/JTAG communication
  • ⚑ Flash Memory & SPI Pins: Connected to SPI flash memory and PSRAM
  • πŸ“‘ UART Serial Communication Pins: Used for debugging and firmware uploads
PINLabelReasonFunction
IO0GPIO0Must be HIGH during boot for normal startup; if held LOW on reset, forces flash programming mode.πŸ› οΈ Strapping
IO2GPIO2If driven HIGH on reset (while IO0 is LOW), selects an unsupported SDIO boot mode, causing boot failure.πŸ› οΈ Strapping
IO4GPIO4Sampled at reset for boot config; should not be driven at boot (affects boot mode timing).πŸ› οΈ Strapping
IO5GPIO5Must be HIGH during boot; if pulled LOW at reset, alters SDIO slave timing and may prevent normal boot.πŸ› οΈ Strapping
IO12MTDI (GPIO12)Keep LOW during boot (internal PD); pulling HIGH at reset selects 1.8V flash mode, causing flash brownout if 3.3V flash is used.πŸ› οΈ Strapping

pyWiFi-ESP32 Kit Contents

πŸ“¦ Included Components

  • pyWiFi-ESP32 Board: Main ESP32 development board
  • pyBase: Expansion base board with additional interfaces
  • 0.96" OLED Display: I2C OLED screen for output
  • Micro USB Cable: For power and programming
  • Sensors: Atmospheric Pressure, Water Level, Soil Humidity, Ultrasonic, Human Infrared, Photosensitive

🎯 Perfect For

This kit is ideal for learning MicroPython, IoT development, and building sensor-based projects. The included sensors enable quick prototyping of environmental monitoring, automation, and interactive applications.

πŸ’‘ Getting Started

Connect via Micro USB, install MicroPython firmware using esptool, and start coding with Thonny IDE or similar. The kit provides everything needed for immediate IoT experimentation.

pyWiFi-ESP32 Development Board Kit Pin Mappings

This development board provides 30 digital IO pins, out of which 16 can be used as external interrupt pins , 16 as analog input pins and 19 pins have Pulse-Width Modulation (PWM) .

PinFunctionESP PinInput/OutputDescription
4IO0GPIO0BIDIRECTIONALGPIO0, Boot Mode Selection, Button
5IO2GPIO2BIDIRECTIONALGPIO2, General Purpose I/O, LED
6IO4GPIO4BIDIRECTIONALGPIO4, General Purpose I/O
7IO5GPIO5BIDIRECTIONALGPIO5, General Purpose I/O
8IO12GPIO12BIDIRECTIONALGPIO12, ADC or GPIO
9IO13GPIO13BIDIRECTIONALGPIO13, ADC or GPIO
10IO14GPIO14BIDIRECTIONALGPIO14, ADC or GPIO
11IO15GPIO15BIDIRECTIONALGPIO15, ADC or GPIO
12IO16GPIO16BIDIRECTIONALGPIO16, General Purpose I/O
13RXGPIO3INPUTUART0 Receive
14TXGPIO1OUTPUTUART0 Transmit
15IO17GPIO17BIDIRECTIONALGPIO17, General Purpose I/O
16IO18GPIO18BIDIRECTIONALGPIO18, General Purpose I/O
17IO19GPIO19BIDIRECTIONALGPIO19, General Purpose I/O
18IO21GPIO21BIDIRECTIONALGPIO21, I2C SDA
19IO22GPIO22BIDIRECTIONALGPIO22, I2C SCL
20IO23GPIO23BIDIRECTIONALGPIO23, SPI MOSI
21IO25GPIO25BIDIRECTIONALGPIO25, DAC1
22IO26GPIO26BIDIRECTIONALGPIO26, DAC2
23IO27GPIO27BIDIRECTIONALGPIO27, ADC
24IO32GPIO32BIDIRECTIONALGPIO32, ADC
25IO33GPIO33BIDIRECTIONALGPIO33, ADC
26IO34GPIO34INPUTGPIO34, ADC Input Only
27IO35GPIO35INPUTGPIO35, ADC Input Only
Function Pin Function
ESP Pin Pin on ESP32
I/O Input/Output Pin
Description Pin Description

pyWiFi-ESP32 Development Board Kit Pins Mapping Arduino IDE

Below you can find the pyWiFi-ESP32 Development Board Kit pinout. This development board provides 30 digital IO pins, out of which 16 can be used as external interrupt pins, 16 as analog input pins and 19 pins have Pulse-Width Modulation (PWM).

PinAnalogTouchPWMOther
0T1
1PWMTX
2A12T2PWM
3PWMRX
4A10T0PWM
5PWM
12A15T5PWM
13A14T4PWM
14A16T6PWM
15A13T3PWM
16PWM
17PWM
18PWM
19PWM
21PWMSDA
22PWMSCL
23PWMMOSI
25A18DAC1
26A19DAC2
27A17T8PWM
32A4T9PWM
33A5T10PWM
34A6INPUT
35A7INPUT
Analog Analog input pins
Touch Touch pins
Function Function pins
RX / TX Receive/Transmit
LED_BUILTIN Built-in LED
PWM Pulse-Width Modulation

Default Tools for pyWiFi-ESP32 Development Board Kit

Bootloader toolesptool_py
Uploader toolesptool_py
Network uploader toolesp_ota
Bootloader address0x1000
Flash modedio
Boot modedio
Maximum upload size
1280 Kb
(1310720 B)
Maximum data size
320 Kb
(327680 B)

The pyWiFi-ESP32 Development Board Kit development board by default uses esptool_py uploader tool, esp_ota network uploader tool for Over-the-air (OTA) uploads and esptool_py bootloader tool. The bootloader starts at address "0x1000". Flash mode and boot mode for pyWiFi-ESP32 Development Board Kit development board by default is dio and dio respectively.