URGENT Help needed with Heltec WiFi LoRa 32 v3

Has someone succeeded to build and flash with the Arduino IDE or better with Platformio.
I need urgent help for a project in France and I just get some errors (and I know how to debug normally…).
If you have a working code on PIO, please send it to me. I would like to check and understand what I am not doing well.

Maybe I can have a look at this tonight.

A platformio config that I used for the heltec lora32 v2 can be found at:

the [env:heltecv2] section inherits from the [env] section

V2 is OK. I am usine it for years.
What about V3?

Oh, I feel silly now, you explicitly asked about the V3.

I see now that it is considerably different from the V2: different variant of processor and different kind of LoRa chip too.


Yes it is an esp32 s3 or something.

It has an ESP32-S3 as microcontroller and an SX1262 LoRa chip, which is supported by jgromes/RadioLib now.

You could try this for platformio.ini

default_envs = heltec_wifi_lora_32_V3
src_dir = .

framework = arduino
platform = espressif32
monitor_speed = 9600
lib_deps = jgromes/RadioLib

board = heltec_wifi_lora_32_V3
board_build.mcu = esp32s3
board_build.f_cpu = 240000000L

And then use this example code:

The uncomment (enable)

and comment out (disable)

I am not completely sure about the SX1262 pin assignment, but it looks about right if you compare the default pin numbers with ~/.platformio/packages/framework-arduinoespressif32/variants/heltec_wifi_lora_32_V3/pins_arduino.h

But it could be a start.

Then: ‘pio run -t upload’ to flash it.
And: ‘pio device monitor’ to see the serial output

1 Like

Super Thanks !!! I will try

1 Like

Seems to be advancing :blush:
Is someone interested to have code for the Heltec ?
I publish soon


I’m always curious about it. Let’s share ideas!

Some things to consider:

  • For LoRaWAN I would typically use OTAA, not ABP
  • For OTAA you need to tell the firmware three parameters: App/Join EUI, device EUI and “join secret”. What I would do:
    ** Encode the App/join EUI in the firmware
    ** Derive the device EUI from the unique ESP32 id (also used for wifi/bluetooth mac)
    ** For the join secret, you can store it in (simulated) EEPROM, or generate it on the device
  • How to get parameters in/out
    ** Steven Boonstoppel (who also did the lorawan stuff in RadioLib) has written a BLE interface for setting the parameters over bluetooth from a phone
    ** I’ve written a simple serial shell that can also run over bluetooth low energy (“minishell”), you can define your own commands to initiate stuff, store data, retrieve data, etc.
    ** Over TCP/IP (wifi). To secure it, you could press a key, then display a QR code with the wifi credentials and temporarily open up a webpage to store parameters / view settings
  • With regard to the OLED display on the ESP32 board:
    ** Take care to disable the OLED display when you are not looking at it. At full brightness, it “burns in” in weeks
    ** I found you can actually wire a second OLED in parallel to the internal one, it’s basically one-wire communication anyway. This way you can mount a second OLED away from the board (e.g. facing out from the casing, keeping main board safe inside from weather). And if it does burn in, you can more easily replace it.

Oh, and we should talk about getting lorawan data into sensor.community, I have already written a robust forwarder for that (can be easily run with docker).

Hi Bertrik,
I must ask the French guy if I can publish the code here or on GitHub. I finally made an Arduino IDE version.
The project used v2 for the past 2 years.
Yes we should talk about your forwarder. For now it works with the H… system for integration which is very good. The system not H… itself. Beware of Lukas :rofl:

Tell me when you can in DM.

For the Aircarto project, you type the lorawan credentials in the WiFi interface which is derived from SC one. Works perfectly. No BLE :slightly_smiling_face:

I ordered a heltec wifi lora32 v3 myself, so I should be able to experiment a bit more myself.

I asked Steven Boonstoppel, who did the majority of the lorawan stuff in RadioLib, about the board, the stack and the helium network. He told me that the radiolib lorawan stack is in principle meant to be a LoRaWAN 1.1 implementation, while Helium mentions v1.0.2, v1.0.3, or v1.0.4 at Helium Devices | Helium Documentation

So this might not be completely compatible to have a LoRaWAN 1.1+ device on a LoRaWAN 1.0x network. The differences I know is that LoRaWAN 1.1+ is a bit more strict on the nonces / sequence numbers, so a LoRaWAN 1.1 device stack tries to honour that (e.g. storing sequence numbers in non-volatile memory). Trivially I would say, that it might work in most cases, however I do not have a complete picture of all the differences and their consequences.

A working code for Heltec v3 but unfortunately not on PIO…

If it’s Arduino, I think a platformio configuration can be easily created. I’ll have a look today!