Welcome to hell !! There are so many wrong things about this board that I had to spend 2 full days just to make it work.
So let´s fix it. If you, as I am, is using Arduino Core 2.0.6 for ESP32-S3 form Espressif listed at:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Then the good thing is that the new Heltec WiFi LoRa 32(V3) board is now listed, the bad thing is that there are errors in the definition files.
On your core installation file: …\portable\packages\esp32\hardware\esp32\2.0.6\boards.txt, at line 11.800 replace/correct the following lines
heltec_wifi_lora_32_V3.build.variant=heltec_heltec_wifi_lora_32_V3
heltec_wifi_lora_32_V3.build.board=heltec_heltec_wifi_32_lora_V3
by
heltec_wifi_lora_32_V3.build.variant=heltec_wifi_lora_32_V3
heltec_wifi_lora_32_V3.build.board=heltec_wifi_32_lora_V3
At line 11.911 comment the line as follows:
#heltec_wifi_lora_32_V3.build.extra_libs=-lheltec
Now at file:
…\portable\packages\esp32\hardware\esp32\2.0.6\variants\heltec_wifi_lora_32_V3\pins_arduino.h
Add/replace the following definitions:
static const uint8_t RST_OLED = 21;
static const uint8_t SCL_OLED = 18;
static const uint8_t SDA_OLED = 17;
By the following:
static const uint8_t SDA_OLED = 17;
static const uint8_t SCL_OLED = 18;
static const uint8_t RST_OLED = 21;
static const int8_t SW_LoRa = -1;
static const uint8_t SS_LoRa = 8;
static const uint8_t SCK_LoRa = 9;
static const uint8_t MOSI_LoRa = 10;
static const uint8_t MISO_LoRa = 11;
static const uint8_t RST_LoRa = 12;
static const uint8_t BUSY_LoRa = 13;
static const uint8_t DIO1_LoRa = 14;
It is also recommended to redefine Arduino default SPI-1 and I2C-1 pins to OLED & LoRa pins as follow:
static const uint8_t SDA = 17; // instead of 8;
static const uint8_t SCL = 18; // instead of 9;
static const uint8_t SS = 8; // instead of 10;
static const uint8_t MOSI = 10; // instead of 11;
static const uint8_t MISO = 11; // instead of 13;
static const uint8_t SCK = 9; // instead of 12;
The Heltec V3 at https://heltec.org/project/wifi-lora-32-v3/ @ “Docs & Resources”, AKA “Heltec_ESP32-master” DOES NOT correctly #define the V3 board, one must search & replace the following lines:
#if defined( WIFI_LoRa_32 ) || defined( WIFI_LoRa_32_V2 ) || defined( Wireless_Stick )
By
#if defined( WIFI_LoRa_32 ) || defined( WIFI_LoRa_32_V2 ) || defined( WIFI_LoRa_32_V3 ) || defined( Wireless_Stick )
This changes will make the OLED to work but DO NOT work with the new LoRa SX1262 module to work as the current provided Helte LoRa library only works with the old V2 LoRa SX1276/78 module, therefore I strongly recommend you to switch to excellent multi module LoRa library from “StuartsProjects” at:
Now you can use you new V3 SX1262 module as easy as:
#include <SPI.h>
#include <SX126XLT.h>
SX126XLT LT;
SPI.begin(SCK_LoRa, MISO_LoRa, MOSI_LoRa, SS_LoRa);
LT.begin(SS_LoRa, RST_LoRa, BUSY_LoRa, DIO1_LoRa, SW_LoRa, DEVICE_SX1262);
Same goes for the OLED display which is the same as in the V2 board but connected to:
SDA_OLED = 17; SCL_OLED = 18; RST_OLED = 21;