
The Heltec WiFi LoRa 32 V4 is a compact development board built around the ESP32-S3R2 microcontroller and designed for wireless and IoT applications. It combines Wi-Fi, Bluetooth, LoRa communication, an onboard OLED display, native USB, battery management, and several expansion interfaces on a single board.
The board is particularly useful when an application needs both local wireless connectivity and longer-range communication. With its integrated SX1262 LoRa transceiver, it can be used for remote monitoring, wireless sensor nodes, smart agriculture, tracking systems, and other connected applications.
Hardware Overview

The main processing device is the ESP32-S3R2, a dual-core microcontroller capable of operating at up to 240 MHz with integrated Wi-Fi and Bluetooth functionality.
For long-range wireless communication, the board includes an SX1262 LoRa transceiver. Its communication range depends on factors such as antenna selection, environment, obstacles, and interference.
A 0.96-inch OLED display is integrated into the board and communicates with the ESP32 through I2C. It can be used to show sensor values, system information, communication status, or debugging information.
The board uses a USB Type-C connector for power, firmware uploading, and serial communication. Unlike earlier versions that used an external USB-to-serial converter, the V4 uses the ESP32-S3's native USB capability.
Power-related hardware includes a lithium battery connector, solar-panel interface, voltage regulation, battery charging, and power-source management. The board also provides a dedicated GNSS interface for connecting an external GPS or GNSS module. There is no GPS receiver integrated directly onto the board.
For wireless operation, the V4 has a 2.4 GHz antenna system for Wi-Fi and Bluetooth and a separate LoRa antenna connector for the SX1262 transceiver.
Heltec WiFi LoRa 32 V4 Pinout
The board exposes most of the ESP32-S3 GPIOs through two 18-pin headers. Although many pins can be configured for different functions, several are already connected to onboard hardware and should not be reused without considering their existing functions.

Power Pins
The 5V pin is associated with the USB power input/output, while 3V3 provides regulated 3.3 V power. GND provides the ground reference.
The Ve pins provide controlled external 3.3 V output. Their power delivery is controlled through Vext_Ctrl on GPIO36, allowing external peripherals to be powered on or off through software. This can be useful in battery-powered applications where peripheral power needs to be managed.
GPIO Pins
The general-purpose GPIO pins are connected directly to the ESP32-S3 and can support functions such as digital input/output, PWM, interrupts, ADC, UART, SPI, I2C, and touch sensing.
Because the ESP32-S3 supports GPIO Matrix and IO MUX functionality, many functions can be assigned to different GPIOs through firmware. However, the Heltec V4 has several GPIOs internally connected to the OLED, LoRa transceiver, USB subsystem, GNSS interface, and battery-monitoring circuitry.
UART Pins
The primary UART connections are:
- GPIO43 → UART TX
- GPIO44 → UART RX
These pins can be used for UART communication, GNSS communication, firmware uploading, and serial debugging.
The ESP32-S3 also provides additional UART controllers that can be mapped to other suitable GPIOs when required.
USB Pins
The V4 uses native USB support provided directly by the ESP32-S3.
The USB connections are:
- GPIO20 → USB_D+
- GPIO19 → USB_D-
These pins are connected to the USB subsystem and should generally not be reassigned to other applications.
Native USB reduces the need for an external USB-to-serial chip and provides integrated USB communication.
OLED Display Pins
The onboard 0.96-inch OLED uses the following connections:
- GPIO17 → OLED SDA
- GPIO18 → OLED SCL
- GPIO21 → OLED RST
These pins are already assigned to the OLED hardware and should generally remain dedicated to the display unless the OLED functionality is intentionally disabled.
LoRa SPI Pins
The SX1262 LoRa transceiver communicates with the ESP32-S3 through SPI. Its dedicated connections are:
- GPIO8 → LoRa NSS
- GPIO9 → LoRa SCK
- GPIO10 → LoRa MOSI
- GPIO11 → LoRa MISO
- GPIO12 → LoRa Reset
- GPIO13 → LoRa Busy
- GPIO14 → DIO1
These pins are directly associated with the onboard SX1262 and are important for LoRa operation.
GNSS Interface Pins
The dedicated GNSS interface provides the following signals:
- GPIO38 → GNSS_RX
- GPIO39 → GNSS_TX
- GPIO40 → GNSS_Wakeup
- GPIO41 → GNSS_PPS
- GPIO42 → GNSS_RST
These connections allow an external GNSS module to communicate with the ESP32-S3 through UART and provide additional control and timing signals.
ADC and Battery Monitoring
The ESP32-S3 ADC functionality is available on GPIO1 to GPIO7, GPIO19, and GPIO20.
GPIO1 is additionally connected to the battery-voltage sensing circuitry. The board uses ADC1_CH0 together with GPIO37 (ADC_Ctrl) for monitoring the lithium battery voltage.
For battery-voltage measurement through GPIO1, a 3.7 V Li-ion or LiPo battery should be connected to JP2 (BAT) and the ADC_Ctrl pin should be HIGH.
Touch-Sensing Pins
The ESP32-S3 provides capacitive touch functionality on GPIO1 to GPIO7. These pins can be used for touch interfaces, gesture-based controls, and other low-power input applications.
Since these GPIOs also have other functions, their use should be considered alongside the board's internal hardware connections.
Arduino IDE Setup
The Heltec WiFi LoRa 32 V4 can be programmed using the Arduino IDE. Since the board is based on the ESP32-S3, the appropriate Heltec ESP32 framework needs to be installed.
In Arduino IDE, the Heltec board package URL is added through File → Preferences → Additional
Board Manager URLs:
https://resource.heltec.cn/download/package_heltec_esp32_index.json
The Heltec ESP32 package can then be installed through Boards Manager. The Heltec ESP32 Dev-Boards library is also required for working with the board's supported peripherals and communication features.
After installation, the board can be selected as:
Tools → Board → Heltec WiFi LoRa 32 V4
If the V4 does not appear in the board list, an older Heltec ESP32 framework may be installed. Updating the framework can provide the required V4 board definitions. These setup details and the board's pin configuration are also covered in the original technical guide from Play with Circuit.
Native USB on the V4
One of the significant hardware differences in the V4 is its use of the ESP32-S3's native USB interface instead of the CP2102 USB-to-serial chip found on some earlier boards.
Native USB simplifies the hardware and provides integrated USB communication. When the USB connection is intended for serial communication, USB CDC On Boot should be enabled in the Arduino IDE:
Tools → USB CDC On Boot → Enabled
This configuration is important when using the USB interface for serial communication and monitoring.
Final Considerations
The Heltec WiFi LoRa 32 V4 brings several communication technologies and peripheral interfaces together on one ESP32-S3-based platform. Its integrated LoRa transceiver, Wi-Fi, Bluetooth, OLED, native USB, battery-management system, and GNSS interface make it suitable for a wide range of connected and long-range wireless applications.
When designing hardware around the V4, the pin assignments should be checked carefully because several GPIOs are already dedicated to onboard functions. Keeping those assignments in mind helps avoid conflicts with the OLED, LoRa, USB, GNSS, and battery-monitoring systems.






