Support for Heltec WiFi LoRa 32 V2 boards. More...
Support for Heltec WiFi LoRa 32 V2 boards.
Heltec WiFi LoRa 32 V2 is an ESP32 development board with 8 MB Flash that uses the EPS32 chip directly. It integrates
Since the board is open source hardware, a number of clones are available.
This section describes
Most features of the board are provided by the ESP32 SoC. For detailed information about the ESP32, see section MCU ESP32.
Heltec WiFi LoRa 32 V2 has the following on-board components:
There are two hardware versions of the board:
Since many GPIOs are broken out, they can be used for different purposes in different applications. For flexibility, some GPIOs might be listed in various peripheral configurations. For example, GPIO0 is used in the ADC channel definition ADC_GPIOS and the PWM channel definition PWM0_GPIOS.
This is possible because GPIOs are only used for a specific peripheral interface when
periph_i2c
, orThat is, the purpose for which a GPIO is actually used depends on which module or function is used first.
The following table shows the default board configuration, which is sorted according to the defined functionality of GPIOs. This configuration can be overridden by application-specific configurations.
Function | GPIOs | Remarks | Configuration |
---|---|---|---|
BTN0 | GPIO0 | low active | |
LED0 | GPIO25 | high active | |
ADC | GPIO36, GPIO39, GPIO37, GPIO38, GPIO0, GPIO2, GPIO12, GPIO13, GPIO4, GPIO15 | ADC Channels | |
DAC | DAC Channels | ||
PWM_DEV(0) | GPIO25, GPIO0, GPIO2, GPIO17 | PWM Channels | |
PWM_DEV(1) | GPIO22, GPIO23 | PWM Channels | |
I2C_DEV(0):SDA | GPIO4 | I2C Interfaces | |
I2C_DEV(0):SCL | GPIO15 | I2C_SPEED_FAST is used | I2C Interfaces |
SPI_DEV(0):CLK | GPIO5 | VSPI is used | SPI Interfaces |
SPI_DEV(0):MISO | GPIO19 | VSPI is used | SPI Interfaces |
SPI_DEV(0):MOSI | GPIO27 | VSPI is used | SPI Interfaces |
SPI_DEV(0):CS0 | GPIO18 | VSPI is used | SPI Interfaces |
UART_DEV(0):TxD | GPIO1 | Console (configuration is fixed) | UART interfaces |
UART_DEV(0):RxD | GPIO3 | Console (configuration is fixed) | UART interfaces |
UART_DEV(1):TxD | GPIO10 | not available in qout and qio flash mode | UART interfaces |
UART_DEV(1):RxD | GPIO9 | not available in qout and qio flash mode | UART interfaces |
OLED RESET | GPIO16 |
For detailed information about the configuration of ESP32 boards, see section Common Peripherals.
The 0.96-inch OLED display with 128x64 pixels uses the widely used SSD1306 controller. It is connected via I2C_DEV(0)
. It can be used with the pkg/u8g2
package. For this purpose, the pkg/u8g2
package has to be used in the application Makefile
and function u8g2_Setup_ssd1306_i2c_128x64_noname_f
has to be called to setup the right driver, for example:
The tests/pkg_u8g2
test application is a good example of how to use the pkg/u8g2
package. It can be compiled for the board with the following command:
MRF24J40-based IEEE 802.15.4 radio modules and ENC28J60-based Ethernet network interface modules have been tested with the board. You could use the following code in your application-specific configuration to use such modules:
For other parameters, the default values defined by the drivers can be used.
The following figure shows the pinout of the defined default configuration for Heltec WiFi LoRa 32 V2 boards. The light green GPIOs are not used by configured on-board hardware components and can be used for any purpose. However, if optional off-board hardware modules are used, these GPIOs may also be occupied, see optional functions in table board configuration.
The corresponding board schematics can be found here for SX1276 version and here for SX1278 version.
Flashing RIOT is quite easy. The board has a Micro-USB connector with reset/boot/flash logic. Just connect the board to your host computer and type using the programming port:
For detailed information about ESP32 as well as configuring and compiling RIOT for ESP32 boards, see RIOT-OS on ESP32 boards.
Files | |
file | arduino_board.h |
Board specific configuration for the Arduino API. | |
file | arduino_pinmap.h |
Mapping from MCU pins to Arduino pins. | |
file | board.h |
Board specific definitions for Heltec WiFi LoRa 32 V2 board. | |
file | gpio_params.h |
Board specific configuration of direct mapped GPIOs. | |
file | periph_conf.h |
Peripheral MCU configuration for Heltec WiFi LoRa 32 V2 board. | |