MakerLab
ESP32Heltec WiFi LoRa 32 V3

Heltec WiFi LoRa 32 V3: Your Gateway to Long-Range IoT with ESP32

A compact and versatile development board combining an ESP32 microcontroller with an integrated LoRa radio for long-range wireless communication.

Heltec WiFi LoRa 32 V3

The Heltec WiFi LoRa 32 V3 is a popular development board designed for makers, students, and embedded engineers looking to build Internet of Things (IoT) projects that require long-range communication capabilities. It integrates the powerful Espressif ESP32-S3 System-on-Chip (SoC) with a Semtech SX1262 LoRa radio transceiver, offering a compelling solution for applications where Wi-Fi and Bluetooth are insufficient due to range limitations. This board is an evolution of previous Heltec LoRa 32 models, bringing the latest ESP32-S3 features to the LoRa ecosystem.

At its heart, the Heltec WiFi LoRa 32 V3 features the ESP32-S3, a dual-core Tensilica LX7 microprocessor running at up to 240 MHz. The ESP32-S3 is an advanced variant of the ESP32 family, offering enhanced performance, more GPIO pins, and crucially, native USB OTG support, which simplifies programming and debugging. It also includes built-in Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE) connectivity, providing a versatile wireless communication suite alongside the LoRa module.

The integrated Semtech SX1262 LoRa chip enables long-range, low-power communication, making it ideal for applications like remote sensor monitoring, asset tracking, and smart agriculture where devices may be deployed far from gateways or power sources. The board typically includes a small OLED display, often an SSD1306, for displaying status information or sensor readings, further enhancing its standalone capabilities. Its compact form factor and accessible pin headers make it easy to prototype with, fitting well into breadboard projects or custom enclosures.

This board is particularly well-suited for makers interested in exploring the world of LoRaWAN networks, point-to-point LoRa communication, or building custom IoT solutions that prioritize range and low power consumption. Its combination of Wi-Fi, Bluetooth, and LoRa, powered by the capable ESP32-S3, makes it a flexible platform for a wide array of wireless projects, from simple sensor nodes to more complex gateway devices.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCEspressif ESP32-S3FN4R2
ArchitectureDual-core Tensilica LX7
Clock speedUp to 240 MHz
Flash / Storage4MB (typically)
RAM / SRAM512KB SRAM
Operating voltage3.3V
Digital I/O pins34 (configurable)
Analog / ADC14 (12-bit ADC channels)
PWMUp to 16 channels
ConnectivityWi-Fi 802.11 b/g/n, Bluetooth 5 (LE), LoRa (SX1262)
USBUSB Type-C (for power, programming, and serial communication via ESP32-S3's native USB OTG)
Power inputUSB Type-C (5V), 3.7V LiPo battery connector (JST PH 2.0)
DimensionsApprox. 68mm x 20mm

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
ENEnable (Reset)
IO0Boot mode selection (Low during reset for bootloader)
IO1UART0 TXD
IO2UART0 RXD
IO3ADC1_CH6
IO4GPIO
IO5GPIO
IO6SPI0 CS
IO7SPI0 MOSI
IO8SPI0 MISO
IO9SPI0 SCK
IO10ADC1_CH10
IO11ADC1_CH11
IO12GPIO
IO13GPIO
IO14GPIO
IO15GPIO
IO16I2C0 SDA
IO17I2C0 SCL
IO18GPIO
IO19GPIO
IO20ADC1_CH12
IO21ADC1_CH13
IO26GPIO
IO27GPIO
IO28GPIO
IO29GPIO
IO30GPIO
IO31GPIO
IO32GPIO
IO33GPIO
IO34ADC1_CH14
IO35ADC1_CH15
IO36ADC1_CH16
IO37ADC1_CH17
IO38ADC1_CH18
IO39ADC1_CH19
VBATBattery Input (3.7V LiPo)
5V5V Power Input (from USB)
OLED_SDAOLED Display SDA (often IO16)
OLED_SCLOLED Display SCL (often IO17)
LoRa_RSTLoRa Module Reset (connected to an ESP32-S3 GPIO)
LoRa_DIO1LoRa Module DIO1 (interrupt pin, connected to an ESP32-S3 GPIO)
LoRa_CSLoRa Module Chip Select (connected to an ESP32-S3 GPIO)
LoRa_SCKLoRa Module SPI Clock (connected to an ESP32-S3 GPIO)
LoRa_MISOLoRa Module SPI MISO (connected to an ESP32-S3 GPIO)
LoRa_MOSILoRa Module SPI MOSI (connected to an ESP32-S3 GPIO)

Wiring & circuit basics

The Heltec WiFi LoRa 32 V3 operates at a logic level of 3.3V. Connecting 5V components directly to its GPIO pins can cause permanent damage. When interfacing with 5V devices, a logic level converter is essential. Powering the board can be done via the USB Type-C port, which supplies 5V. Alternatively, a 3.7V LiPo battery can be connected to the JST PH 2.0 connector; the board includes a charging circuit for the battery when powered via USB.

For a simple output, like an LED, connect the anode (longer leg) of the LED to a digital GPIO pin (e.g., IO27) through a current-limiting resistor (typically 220-470 ohms). Connect the cathode (shorter leg) of the LED to a GND pin. This allows you to control the LED's state (ON/OFF) via software.

For an I2C sensor, such as a BME280 environmental sensor, connect its VCC pin to the board's 3V3 pin, its GND pin to a GND pin, its SDA pin to the board's I2C0 SDA pin (typically IO16), and its SCL pin to the board's I2C0 SCL pin (typically IO17). Ensure your code uses the correct I2C address for the sensor and the appropriate libraries.

Programming & getting started

The Heltec WiFi LoRa 32 V3 is well-supported by the Arduino IDE, MicroPython, and CircuitPython, making it accessible to a wide range of users. For Arduino IDE, you'll need to install the ESP32 board package via the Board Manager. For MicroPython/CircuitPython, you will need to flash the appropriate firmware onto the ESP32-S3 chip, typically using a tool like esptool.py or the Thonny IDE.

To upload your first program using the Arduino IDE: 1. Select the correct board (e.g., 'ESP32-S3 Dev Module' or a specific Heltec board if available in the package). 2. Connect the board to your computer via USB. 3. Select the correct COM port. 4. Write your code (e.g., a simple 'Blink' sketch or a LoRa sender/receiver example). 5. Click the 'Upload' button. The ESP32-S3's native USB will handle the flashing process without requiring a manual reset or boot button press for most setups.

Project ideas

Long-Range Weather StationBuild a remote weather station using sensors (temperature, humidity, pressure) connected via I2C and transmit data wirelessly using the LoRa module to a distant gateway. This project teaches sensor interfacing, LoRa communication, and low-power design.
GPS Asset TrackerCombine the LoRa module with a GPS module to create a device that reports its location periodically over long distances. Ideal for tracking vehicles, pets, or valuable assets. Utilizes LoRa, GPS modules, and battery management.
Wireless Sensor Network NodeDevelop multiple nodes that collect data from various sensors (e.g., soil moisture, light levels) and send it back to a central LoRa gateway. This project focuses on distributed systems, LoRa point-to-point or LoRaWAN communication, and power efficiency.
LoRa Chat ApplicationCreate a simple point-to-point chat application where two Heltec WiFi LoRa 32 V3 boards can exchange messages wirelessly over a long range, demonstrating basic LoRa packet transmission and reception.
IoT Door/Window SensorUse a magnetic reed switch connected to a GPIO pin to detect if a door or window is open or closed, and send the status updates via LoRa. This is a great beginner project for LoRa and basic digital input sensing.
LoRaWAN GatewayConfigure one Heltec board to act as a LoRaWAN gateway, receiving data from multiple end-nodes and forwarding it to a cloud platform via Wi-Fi or Ethernet (if an adapter is used). This project explores LoRaWAN protocols and network architecture.

Buying tips & gotchas

When purchasing, be aware of different revisions and clones. Always check the specific ESP32 chip and LoRa module (SX1262 is preferred for newer projects). Ensure the board comes with a pinout diagram. Common pitfalls include accidentally connecting 5V to 3.3V pins or incorrect LoRa frequency settings for your region. Accessories like OLED displays, various sensors (BME280, GPS), and LiPo batteries are highly recommended to leverage the board's full potential.