WiFi LoRa 32 (V3) -w- ESP32-S3

As far as the libraries, I also experienced some oddities with the Arduino referencing the local AppData folders - not sure why. Here is what I did:

  1. Deleted all prior libraries (including HELTEC) that I had tried to use to get the V3 board to function from the Documents/Arduino/Libraries folder.
  2. Extracted the HELTEC esp32-0.0.7 zip file (Link provided by UniquePete)
  3. Copied ALL of the HELTEC libraries included in the esp32-0.0.7 framework to the Documents/Arduino/Libraries folder. Libraries may or may not be necessary depending on the program. I chose to copy all HELTEC libraries initially just to ensure that any needed dependencies were in place within the Arduini IDE.
  4. I tested these two example programs: WiFi_LoRa_32_V3_FactoryTest (Lora Receiver) - make sure you set the frequency for your region -&- LoRaSender; again set the frequency.

I am in North America, so I used 915 mHz

/********************************* lora *********************************************/

#define RF_FREQUENCY 915000000 // Hz

If helpful, here is a visual of the 0.0.7 HELTEC libraries after being copied to the Documents/Arduino/Libraries folder. The only non-HELTEC 0.0.7 library is the Adafruit_NeoPixel library.

I am still having the same issues. My library file looks like yours. I am using the Preference that you shared. I have deleted the old files. I am at a complete loss. Maybe being 79 years old (retired Electrical Engineer) does not help… HA!! I seem to have multiple libraries, some under APPdata Local Arduino15, not sure what this all about. I will try again tomorrow. Hopefully you can show me some magic to get this board working. Thanks for your help… Art

Hey Art-
There are two issues in play:

  1. The board definition. Are you able to upload the blink example with the board definition in place? BTW, it is sometimes helpful to restart the Arduino IDE after making changes. Also, if you use the WiFi_LoRa_32_V3_FactoryTest program as a starter, that should restore the “as received” state of the V3 board.
  2. The library references related to the other examples. I did also delete some of the temp files in AppData. You can Google procedures - or I could provide a link.

Hi,
thanks for details.

Did you confirm that is not possible to use Heltec.h directly ? (so no Heltec object), and now we must used LoRaWan_APP.h ? (so V2 programs can’t be compatible with 0.0.7 lib version).

In this case, i’m looking for the documentation of this lib, but i didn’t find it in google…

The HELTEC.h library was initially tried and did not function with the V3 boards. I haven’t fully decomposed it, but it contains a number of “if statements”:

#if defined( WIFI_LoRa_32 ) || defined( WIFI_LoRa_32_V2 ) || defined( Wireless_Stick ) || defined( Wireless_Stick_Lite ) || defined( Wireless_Bridge )

…that don’t convey support for V3. It would be nice to have a version matrix that maps boards to compatible libraries

I was NOT able to upload the Blink example with V3 board definition in place. It fails as follows:

A fatal error occurred: This chip is ESP32-S3 not ESP32. Wrong --chip argument?

Failed uploading: uploading error: exit status 2.

I will try to run the WiFi_LoRa_32_V3_FactoryTest program.

I have restarted Arduino IDE to no avail… Thanks for the help

Art

Does the Aduino IDE Board Manager show the 0.0.7 version installed as it supports V3?

Also note “WiFi LoRa 32(V3)” is shown as the selected board for the project (green tool bar).

…and the V3 board has to be pinned to the proper COM port:

The terminal window in the prior post is displaying the LoRa packet Tx / Rx activity.

Same conclusion for me,
So now need to find document to move v2 program to v3 … thanks Heltec :s

I CANNOT COMPILE any example (including Blink) using a V3 Board. I ALWAYS get the following:

In file included from c:\users\lawrence01073\appdata\local\arduino15\packages\heltec-esp32\tools\xtensa-esp32s3-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32s3-elf\include\c++\8.4.0\string:41,
from c:\users\lawrence01073\appdata\local\arduino15\packages\heltec-esp32\tools\xtensa-esp32s3-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32s3-elf\include\c++\8.4.0\stdexcept:39,
from c:\users\lawrence01073\appdata\local\arduino15\packages\heltec-esp32\tools\xtensa-esp32s3-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32s3-elf\include\c++\8.4.0\array:39,
from c:\users\lawrence01073\appdata\local\arduino15\packages\heltec-esp32\tools\xtensa-esp32s3-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32s3-elf\include\c++\8.4.0\tuple:39,
from c:\users\lawrence01073\appdata\local\arduino15\packages\heltec-esp32\tools\xtensa-esp32s3-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32s3-elf\include\c++\8.4.0\functional:54,
from C:\Users\lawrence01073\AppData\Local\Arduino15\packages\Heltec-esp32\hardware\esp32\0.0.7\cores\esp32/HardwareSerial.h:49,
from C:\Users\lawrence01073\AppData\Local\Arduino15\packages\Heltec-esp32\hardware\esp32\0.0.7\cores\esp32/Arduino.h:173,
from C:\Users\lawrence01073\AppData\Local\Temp\arduino-sketch-D0BFB281EB8F33FCCED70BB49FA75722\sketch\GetChipID.ino.cpp:1:
c:\users\lawrence01073\appdata\local\arduino15\packages\heltec-esp32\tools\xtensa-esp32s3-elf-gcc\gcc8_4_0-esp-2021r2-patch3\xtensa-esp32s3-elf\include\c++\8.4.0\bits\allocator.h:46:10: fatal error: bits/c++allocator.h: No such file or directory
#include <bits/c++allocator.h> // Define the base class to std::allocator.
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: exit status 1

Is this a Path Length problem?? If Yes, I NEED a fix (I have gone into Regedit and increased word size but this does NOT help). I have spent 3 days trying every combination that I can think of to get BLINK to compile but still the same error msg shown above. I think if I can get SOMETHING to compile, I probably could get this damn device working. One other thing, when I power up the device, it always fails to connect (is this the serial connection). I have installed the correct drivers from Silicon Labs. Once the device fails connection, it does WiFi Setup and does Wifi Scan. It then says "waiting lora data!’ Does this make sense?? I am so frustrated now I am ready to throw these devices out the window… PLEASE HELP!!!
Art

Looking at that file, there appears to be an error. The file in question does indeed include the line:

#include <bits/c++allocator.h> // Define the base class to std::allocator.

I certainly can’t see any file with that name, and the path structure looks wrong. It looks like it should be something like:

#include <bits/c++/allocator.h> // Define the base class to std::allocator.

with the extra “/” after the c++, but that then looks like a cyclic reference to me—the file would be including itself.

And, unfortunately, that doesn’t explain why we’re not all seeing the same problem. My installation is on a Mac, yours would appear to be on a PC but my directory structure looks exactly the same as yours.

I think it would be helpful at this point if someone from Heltec could comment on that path string and at least indicate what file it should be pointing to, if not explain why this allocator.h is only impacting some users.

Hey Art - as far as the drivers, here is how my two HELTEC boards present in Device Manager:

Art- FYI: I encountered similar / nearly identical compiler errors - even after the new / proper libraries had been installed. I had initially attempted many different fixes when trying to get the V3 boards to function including altering the original Heltec.h libraries and also testing non-Heltec libraries such as Adafruit. I methodically removed all prior libraries and Heltec board definitions from the Arduino IDE. I also deleted any Arduino references in the LocalData TMP folder it can be accessed by typing %TMP% in the Windows search box – or Windows can be directed to delete TMP files. My hypothesis was that residual artifacts from prior libraries were introducing “confusion” when compiling. This is by no means a scientific / technical explanation, but it did resolve my compiler issues.

Board connectivity is a separate matter. As you recognize, any uploading will require a stable COM port connection.

The V3 boards with the ESP32-S3 chip have a lot of potential, though the “school of hard knocks” has offered some challenges. As of this posting, the Platform IO Visual Studio Code extension is not showing support for V3 boards. Presuming Platform IO will support the HELTEC V3 boards in the near future, that will offer another IDE option

1 Like

Thanks UniquePete for your reply. Today I am going to try another computer to see if this helps with the compile problem. This computer (PC, Windows 10, Dell Desktop Optiplex70) has not seen a ESP32 of any type so there should not be any files that can cause an issue (I hope). The computer I cannot compile sketches is a PC, Windows 10, Lenovo Desktop. This experiment may help eliminate foreign files. If this does not work, Aaron from Heltec is going to get a shout out and I know I will get his attention… Again Thanks for the help.
Art

Thanks Kbitsnbyt for your help. As I mention to UniquePete, I will be trying another computer (PC, Windows 10, Dell Desktop Optiplex 780) that has NOT seen any ESP 32 of any type. This should rule out any bad files and hopefully allow me to compile. My Device Manager looks exactly the same as yours so I do not understand why I cannot connect serially. I have tried new type-C cables to no avail… I will let you know my results in a couple of hours… Thanks again for your help.
Art

Still failing the same as when I was on the other computer. Have started a Topic that should get Aaron Lee’s attention. Have given up all hope to get this solved by myself. Will be sending back to Amazon the 2 devices and get my money back. Thanks for your help… Art

Hey Art- Very sorry to hear success remains elusive. I received two additional V3 boards yesterday- the program compiling and uploading worked without any issues. I am curious as to what is required to achieve a consistent developmental experience for everyone. It is hoped (presumed) library and IDE support for the newer V3 boards with the ESP32-S3 chips will improve over time. Perhaps check back in from time to time - keep plugging away! Sincere best wishes!!

Art- some additional thoughts regarding COM port stability. I utilize a USB hub with a separate power supply -vs- powering devices directly from the laptop’s USB port. There are presently 6 different active microcontroller devices on the bench. Stable power; a consideration.

Kbitsnbyte - thanks for the replies. I will try your idea of using a powered USB hub. All of my attempts have used the on-board PC USB slot. I just tried plugging the V3 into a powered USB hub and I am getting the same Connecting Fails. It has to be something else. Could this be a boot code issue?? Thanks for the suggestions, I will try anything at this point and yes, I am an Engineer so I will keep trying. I sure have learned much over the past week or so… Art