MakerLab
ESP32Heltec WiFi Kit 32

Heltec WiFi Kit 32: Your Wi-Fi Enabled ESP32 Development Board

An affordable and feature-rich ESP32 development board with integrated Wi-Fi and Bluetooth, perfect for IoT projects.

Heltec WiFi Kit 32

The Heltec WiFi Kit 32 is a popular and cost-effective development board based on Espressif's powerful ESP32 System-on-Chip (SoC). Released around 2018, it quickly became a favorite among makers, students, and hobbyists due to its compact size, integrated Wi-Fi and Bluetooth capabilities, and a generous array of onboard peripherals. This board provides a robust platform for learning about microcontrollers, wireless communication, and embedded systems development.

At its heart, the WiFi Kit 32 features the ESP32-WROOM-32 module, which houses the ESP32-D0WDQ6 chip. The ESP32 is a highly integrated, low-power SoC designed for Wi-Fi and Bluetooth applications. It boasts a dual-core Tensilica Xtensa LX6 microprocessor, running at up to 240 MHz, making it significantly more powerful than many other microcontrollers in its class. The chip also includes a host of peripherals like ADCs, DACs, I2C, SPI, UART, and PWM controllers, all accessible through the board's pin headers.

Positioned as an accessible entry point into the ESP32 ecosystem, the Heltec WiFi Kit 32 offers a compelling balance of features and price. While Espressif offers various development boards, Heltec's iteration is known for its straightforward design, often including a USB-to-serial converter for easy programming and debugging, and sometimes an onboard battery charging circuit for portable applications. This makes it an excellent choice for those looking to build connected devices, smart home gadgets, or sensor networks without a steep learning curve.

This board is particularly well-suited for makers and students who want to dive into the world of IoT. Its integrated wireless connectivity means you can build projects that communicate over Wi-Fi or Bluetooth right out of the box, without needing external modules. Whether you're prototyping a weather station, a remote control system, or a simple web server, the WiFi Kit 32 provides the necessary hardware and flexibility to bring your ideas to life.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCESP32-WROOM-32 (based on ESP32-D0WDQ6)
Architecture32-bit Tensilica Xtensa LX6 Dual-Core
Clock speedUp to 240 MHz
Flash / Storage4MB (typically)
RAM / SRAM520 KB SRAM
Operating voltage3.3V
Digital I/O pins36 (many are multiplexed)
Analog / ADC12-bit, up to 18 channels (ESP32 chip)
PWMYes, on most GPIO pins
ConnectivityWi-Fi 802.11 b/g/n, Bluetooth v4.2 BR/EDR and BLE
USBMicro-USB for power and programming (via CP2102 or similar)
Power input5V via Micro-USB or VIN pin; LiPo battery connector (often 2-pin JST)
Dimensions68.6mm x 25.6mm (approximate)

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
ENEnable Pin (active high)
VP / GPIO34Analog Input (ADC1_CH6)
VN / GPIO35Analog Input (ADC1_CH7)
G36 / VPAnalog Input (ADC1_CH0) - Note: Often labeled VP
G34 / VNAnalog Input (ADC1_CH3) - Note: Often labeled VN
G39Analog Input (ADC3_CH3)
G38Analog Input (ADC3_CH2)
G37Analog Input (ADC3_CH1)
G33GPIO33 (ADC1_CH4)
G32GPIO32 (ADC1_CH5)
G4GPIO4 (ADC1_CH10)
G2GPIO2 (ADC1_CH8)
G15GPIO15 (ADC1_CH15)
G13GPIO13 (ADC1_CH11)
G12GPIO12 (ADC1_CH14)
G14GPIO14
G27GPIO27 (ADC1_CH13)
G26GPIO26 (ADC1_CH12)
G25GPIO25 (ADC1_CH11)
G23GPIO23 (ADC2_CH9)
G22GPIO22 (ADC2_CH8)
G21GPIO21 (ADC2_CH7, I2C SDA)
G19GPIO19 (ADC2_CH6, I2C SCL)
G18GPIO18 (ADC2_CH5)
G5GPIO5 (ADC2_CH4)
G17GPIO17 (SPIHD)
G16GPIO16 (SPIWP)
TXD0 / GPIO1UART0 TX
RXD0 / GPIO3UART0 RX
G1GPIO1 (UART0 TX) - Note: Often shared with TXD0
G3GPIO3 (UART0 RX) - Note: Often shared with RXD0
G0GPIO0 (Boot Pin)
G9GPIO9 (SPI flash)
G10GPIO10 (SPI flash)
G11GPIO11 (SPI flash)

Wiring & circuit basics

Powering the Heltec WiFi Kit 32 is straightforward. The primary method is via the Micro-USB port, which supplies a stable 5V. You can also use the VIN pin, which should also be connected to a 5V source. The board contains an onboard voltage regulator that steps this down to the 3.3V required by the ESP32 chip and most peripherals. Be mindful of current draw; while the ESP32 itself can consume significant current during Wi-Fi transmission (up to 300-400mA), the onboard regulator and USB port can typically handle this for most projects. If using a LiPo battery, connect it to the dedicated JST connector; the board usually includes charging circuitry.

Crucially, the Heltec WiFi Kit 32 operates at a 3.3V logic level. This means you cannot directly connect 5V components (like many standard LEDs, buttons, or sensors) to its GPIO pins without risking damage. For components requiring 5V, you'll need a level shifter. When connecting 3.3V components, ensure they are compatible with the ESP32's output voltage. For example, to safely blink an LED, connect its anode to a 3.3V pin (like 3V3) through a current-limiting resistor (typically 220-330 ohms) and its cathode to a GPIO pin (e.g., GPIO2). Alternatively, connect the GPIO pin to the anode, the cathode to ground, and the resistor between the GPIO pin and the anode (or between the GPIO pin and 3.3V, depending on pull-up/down configuration).

For connecting sensors, I2C is a common choice. The ESP32 has dedicated pins for I2C: GPIO21 typically serves as SDA (Serial Data) and GPIO19 as SCL (Serial Clock). To connect an I2C sensor like a BME280 (temperature, humidity, pressure), you would connect the sensor's VCC to the board's 3V3 pin, GND to GND, SDA to GPIO21, and SCL to GPIO19. Some I2C sensors might require pull-up resistors on the SDA and SCL lines, often in the range of 4.7k ohms, connected to the 3.3V pin. Always consult the sensor's datasheet for specific wiring requirements.

Programming & getting started

The Heltec WiFi Kit 32 is well-supported by several popular development environments. The most common is the Arduino IDE, which offers a vast library ecosystem and a familiar programming interface. To use it, you'll need to install the ESP32 board support package via the Arduino Board Manager. Other excellent options include PlatformIO (an extension for VS Code, offering advanced features and project management) and MicroPython/CircuitPython for Python-based development. For more advanced control and direct hardware access, Espressif's own ESP-IDF framework is the most powerful choice.

Uploading your first program, often a simple 'Blink' sketch adapted for the ESP32, is typically done via the Micro-USB port. With the Arduino IDE, select the correct ESP32 board (e.g., 'ESP32 Dev Module' or a specific Heltec model if available in the list), choose the corresponding COM port, and click the Upload button. The board usually enters bootloader mode automatically, but some older versions or specific configurations might require you to hold down the BOOT (or FLASH) button while pressing the RESET button, then releasing BOOT when the upload starts.

Project ideas

Wi-Fi Connected LED ControllerControl an LED remotely via a web interface hosted on the ESP32. This project utilizes the ESP32's Wi-Fi capabilities to connect to your network and GPIO pins (e.g., GPIO2) to control the LED. It's a great introduction to web servers on microcontrollers and basic IoT.
Bluetooth Low Energy (BLE) Sensor NodeBuild a battery-powered sensor that transmits data (e.g., temperature from an external sensor connected to an ADC pin) using BLE. This project explores BLE advertising and GATT services, ideal for low-power, mobile applications.
MQTT Weather StationGather data from onboard sensors (like the integrated temperature sensor if available, or an external one) and publish it to an MQTT broker. This project teaches about MQTT communication protocols, essential for many IoT platforms and cloud services.
Simple Web Server with Real-time DataHost a simple web page on the ESP32 that displays real-time data from connected sensors (e.g., an analog sensor on VP/VN or an I2C sensor on GPIO21/19). This project combines web server basics with sensor integration.
Over-the-Air (OTA) Update SystemImplement OTA updates for your project, allowing you to update the firmware wirelessly without physically connecting to the board. This is a crucial skill for deploying and maintaining IoT devices in the field.
Smart Home Automation Hub (Basic)Use the ESP32 as a central point to control multiple devices (e.g., relays connected to GPIO pins) via Wi-Fi or Bluetooth. This project involves managing multiple peripherals and potentially integrating with other smart home systems.

Buying tips & gotchas

When purchasing, be aware that 'WiFi Kit 32' is a common name used by Heltec, but there might be slight variations or newer revisions. Always check the specific module (e.g., ESP32-WROOM-32 vs. ESP32-WROVER) and features like battery charging. Clones or boards with similar names might exist, so buy from reputable distributors. Common pitfalls include accidentally connecting 5V logic to 3.3V pins, incorrect power supply current, and issues with the bootloader mode during programming. Ensure you have a reliable Micro-USB cable, as poor quality cables can cause upload failures or power issues. Accessories like breadboards, jumper wires, and basic electronic components (resistors, LEDs, buttons) are essential for getting started.