WiFi LoRa 32 (V3) pin settings

I have been using the great guide for the V2 Hetlec OLED Lora 32 to talk to my TTN gateway and display using Chronograph and a lot of node-red (https://digitalelectronicsprojects.wordpress.com/2018/11/23/esp32-lorawan-mote/).
All worked great. I bought some new devices in January of this year and of course they are V3 and did not work with the code libraries. I have patiently waited until now to see libraries released and finally got the code to compile this week using these libraries:

  • Adafruit_SSD1306 version 2.5.7
  • Adafruit Unified Sensor version 1.1.9
  • MCCI Arduino LoRaWAN Library 0.9.2
  • MCCI LoRaWAN LMIC Library
    I am using esp32 0.0.7

However my code coughs on the pin setup from the example code:

// Pin mapping for Heltec WiFi LoRa Board
const lmic_pinmap lmic_pins = {
    .nss = 18,
    .rxtx = LMIC_UNUSED_PIN,
    .rst = 14,
    .dio = {26, 33, 32},
    .rxtx_rx_active = 0,
    .rssi_cal = 8,              // This may not be correct for Heltec board
    .spi_freq = 8000000,
};

I also found these pin maps for the OLED display which are different on the V3:

// OLED pin map for Heltec Board
#ifndef OLED_RST
  #define OLED_RST 21
#endif
#ifndef OLED_SDA
  #define OLED_SDA 17
#endif
#ifndef OLED_SCL
  #define OLED_SCL 18
#endif

When I compile (which does complete) I get a red text warning that :

C:\Users\smbun\Documents\Arduino\libraries\MCCI_LoRaWAN_LMIC_library\src\hal\getpinmap_thisboard.cpp: In function 'const Arduino_LMIC::HalPinmap_t* Arduino_LMIC::GetPinmap_ThisBoard()':
c:\Users\smbun\Documents\Arduino\libraries\MCCI_LoRaWAN_LMIC_library\src\hal\getpinmap_thisboard.cpp:71:72: note: #pragma message: Board not supported -- use an explicit pinmap
         #pragma message("Board not supported -- use an explicit pinmap")

Then when I try to upload it gives a checksum error.

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x43c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2a3c
SHA-256 comparison failed:
Calculated: dcde8d8a4817d9bf5d5d69a7247667264e4e10ac7493514868b61f5aa6146539
Expected: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Attempting to boot anyway...
entry 0x403c98d8

I have no idea what the pincode section is supposed to do but do realize this is probably why its not working.

By the way all of the test examples for the V3 do compile, do upload and do run.

If you search this forum for “wifi lora v3 spi” you will find several threads discussing how the SPI bus is or can be configured. Those used for the on-board SX1262 would appear to be:

SS 8
SCK 9
MOSI 10
MISO 11
RST 12

but you probably need to read some of the above mentioned threads to get an understanding of what might be going on.

The OLED pins you describe are correct.

To address the “Board not supported” error, I suspect that you’ll have to ‘roll your own’.

As far as the checksum error goes, I don’t know what’s causing it, but I get it every time I load a sketch and it has no apparent impact on operation.