Wireless Tracker v1.1 Arduino v2.2.1

I picked up a Wireless Tracker v1.1 today, but I’m really struggling to get it going. When it arrived, it just displayed an error about wifi connection failed. I flashed the factory test and a simple blink example, but both just boot loop. I’ve tried switching to DIO 80m flash mode, but it made no difference. I was able to use esp-idf and successfully flash a blink example. I was also able to flash the meshtastic firmware linked from the Heltec docs without issue (using device-install.sh). So it seems to be something with my Arduino setup. Any advice? Thanks in advance!

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x400454d5
SPIWP:0xee
mode:QIO, clock div:2
load:0x3fce3808,len:0x39c
ets_loader.c 78

Just to follow up, I’ve taken the advice of another poster here and went ahead and treated it like a plain esp32-s3. In my case, I used the esp32-s3-devkitc-1 board configuration with Platform.IO and it is working fine.

2 Likes

Yes, this is the way to go :+1:. I did exactly the same, works without any problems. I used the following libraries to get the peripherals working:

  • display: adafruit/Adafruit ST7735 and ST7789 Library
  • display: adafruit/Adafruit GFX Library
  • LoRaWAN: jgromes/RadioLib
  • GNSS: stevemarple/MicroNMEA
1 Like

Thanks for the recommendations! I’ve pretty much landed on the same, except I’m currently using TinyGPSPlus. I’ll check out MicroNMEA!

The difference is that TinyGPSPlus just considers the position solutions calculated purely from GPS, it does not recognize position messages for position solutions calculated by also including other constellations (Galileo, BDS, …). This is the only reason I prefer MicroNMEA.

1 Like

Hey I’m in exactly the same boat you were @heywire (arduino ide causes boot loop but mestastic flashes fine) but when I try to use platformIO to flash anything the board becomes non responsive. Could you share your ini file please and if possible some of your working code?

Sure! Take a look here:

Good luck!

1 Like

Thank you! I’ve gotten it working now after a reinstall of platformio as your code initially caused the same behaviour. I can only assume something had gotten screwed up with a package in a way that didn’t cause a fatal error to be thrown but was quietly failing somewhere.

@ksjh since you said you were using RadioLib for the LoRaWAN what pins are you using for the sx1262? I’ve used 13, 19, 17, 18 which the schematic lists as the right pins for what the constructor wants but the initialization seems to hang.

#define RADIO_DIO_1             14
#define RADIO_NSS               8
#define RADIO_RESET             12
#define RADIO_BUSY              13
#define LORA_CLK                9
#define LORA_MISO               11
#define LORA_MOSI               10

SPIClass radio_spi(FSPI);
SPISettings spiSettings(2000000, MSBFIRST, SPI_MODE0);
SX1262 radio = new Module(RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY, radio_spi, spiSettings);
LoRaWANNode node(&radio, &EU868);

int setup_lorawan() {
  pinMode(RADIO_NSS, OUTPUT);
  radio_spi.begin(LORA_CLK, LORA_MISO, LORA_MOSI, RADIO_NSS);
  int state = radio.begin();
  // check state and handle potential errors, print debug messages, ...
  // state == RADIOLIB_ERR_NONE means no error so far
  return state;
}
1 Like

Wow that definitely has some stuff that the radiolib lorawan example did not include :laughing:. Thanks I don’t know if I would have figured out what was missing.

Hey,
I managed to compile code for the tracker in Platformio using the board config from your repo, but for some reason I have problems uploading it to the board and get following error:

Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (5.4.0) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20006.221224 (2.0.6) 
 - tool-esptoolpy @ 1.40400.0 (4.4.0) 
 - tool-mkfatfs @ 2.0.1 
 - tool-mklittlefs @ 1.203.210628 (2.3) 
 - tool-mkspiffs @ 2.230.0 (2.30) 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 43 compatible libraries
Scanning dependencies...
Dependency Graph
|-- RadioLib @ 7.7.1
|-- APRSPacketLib @ 1.0.4
|-- TinyGPSPlusPlus @ 0.0.4
|-- Adafruit ST7735 and ST7789 Library @ 1.11.0
|-- gpx
|-- rapidxml
|-- SD @ 2.0.0
|-- SPI @ 2.0.0
|-- lora_aprs
|-- Adafruit GFX Library @ 1.12.6
Building in release mode
Retrieving maximum program size .pio\build\heltec_wifi_lora_32_V2\firmware.elf
Checking size .pio\build\heltec_wifi_lora_32_V2\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [===       ]  26.8% (used 87848 bytes from 327680 bytes)
Flash: [=         ]  11.4% (used 382345 bytes from 3342336 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-builtin, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM18
Uploading .pio\build\heltec_wifi_lora_32_V2\firmware.bin
esptool.py v4.4
Serial port COM18
Connecting...
Chip is ESP32-S3 (revision v0.2)
Features: WiFi, BLE
Crystal is 40MHz
MAC: (MAC address)
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x0006dfff...
Compressed 14768 bytes to 10149...
Writing at 0x00000000... (100 %)
Wrote 14768 bytes (10149 compressed) at 0x00000000 in 0.2 seconds (effective 618.5 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 616.6 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 870.6 kbit/s)...
Hash of data verified.
Compressed 382736 bytes to 213970...
Writing at 0x00010000... (7 %)
Writing at 0x0001abda... (14 %)
Writing at 0x0002a75e... (21 %)
Writing at 0x0002fb0a... (28 %)
Writing at 0x000353b6... (35 %)
Traceback (most recent call last):
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool.py", line 34, in <module>
    esptool._main()
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\__init__.py", line 1026, in _main
    main()
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\__init__.py", line 826, in main
    operation_func(esp, args)
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\cmds.py", line 556, in write_flash
    esp.flash_defl_block(block, seq, timeout=timeout)
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\loader.py", line 109, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\loader.py", line 991, in flash_defl_block
    self.check_command(
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\loader.py", line 407, in check_command
    val, data = self.command(op, data, chk, timeout=timeout)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\loader.py", line 376, in command
    p = self.read()
        ^^^^^^^^^^^
  File "C:\Users\user\.platformio\packages\tool-esptoolpy\esptool\loader.py", line 308, in read
    return next(self._slip_reader)
           ^^^^^^^^^^^^^^^^^^^^^^^
StopIteration
*** [upload] Error 1

Then after few tries it successfully uploads the code to the board, but nothing happens as there should be text on the built-in display, in the serial monitor then there is this message:

Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403773a0
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2920
entry 0x403c98d8
E (153) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
ESP-ROM:esp32s3-20210327

Erasing flash didn’t help, also I wasn’t able to find something helpful online, but on the other hand sometimes I was able to upload code and it ran without problems, so I am confused what is actually the issue here. Source code for this project can be found here. Thanks for the suggestions.

Okay, found the issue. After changing platform = espressif32 to platform = platformio/espressif32@6.11.0, everything works as expected and upload and code execution problems are gone as well.