ESP All-in-one with WT32-Eth01 (pcb+sw)

A second L7805cv has poved to be the solution to th random wt32 reset, now I will see in the tractor, still worried about some angle values that I see on AIO, I hope the panda built is ok.

Hi. Do you have news?

Hi, yes, both good and bad news… :wink:

The concept seems to work, but my MF is under deep maintenance (front axle broken) so no chance for real world testing yet and no date from the dealer :frowning:

On the good side, the FW has been updated to be able to handle both esp32 and teensy 4.X microcontrollers. So almost any all-in-one pcb should be able to work correctly without even having to compile it again (if having the same micro compiled), just going to the configuration web implemented and either upload the config file or filling the form with its parameters. The firmware even includes the keya can controller, for those interested in that; and will include the CAN bus capabilities for autosteering ready vehicles, so potentially able to cope with those pcbs as well.

If anyone is interested in testing, it would be more than welcome to speed up the whole process

1 Like

Looking to help with testing the Teensy part. However, I can not get it to compile. Errors with the library directories. If I remove lwip/ and just make it debug.h it moves on to the next lwip file and produces the same error.

I have Arduino 2.3.0 IDE installed on a MacOS Sonoma system. Tried it on a Windows 10 system with the same result. Any cleus on your IDE setup so I can try to replicate your IDE environment?

In file included from /Users/chris/Code/WT32-aog/lib/vendor/QNEthernet/src/QNEthernetClient.h:10:0,
from /Users/chris/Code/WT32-aog/lib/vendor/QNEthernet/src/QNEthernet.h:19,
from /Users/chris/Code/WT32-aog/WT32-aog.ino:86:
/Users/chris/Code/WT32-aog/lib/vendor/QNEthernet/src/lwip/opt.h:52:24: fatal error: lwip/debug.h: No such file or directory
compilation terminated.
exit status 1

Compilation error: lwip/debug.h: No such file or directory

thanks chr5k, here you have the compiled files (public repo is somehow old). You need to change the name, as otherwise I could not uploaded on this post.
WT32-aog.ino.hex.txt (990.2 KB)
configuration-AIOv3.json.txt (608 Bytes)
to load the configuration file, you either check and update each value in the web form or upload the “configuration.json” it should be that name, please remove that file in the folder before uploading a new one. Web server will be up for 10 min, after that will close to release resources.
The initial ip configuration to access the webserver is “http://192.168.1.123” you may change that from the webserver, just remember to reboot after a meaningful configuration change.

Got it running but the Teensy freezes regularly. The problem was more frequent when I changed the IMU to “petition”. What version of Teensydino are you compiling against? There is a thread here about Teensy disconnects / freezes with Teensydino after v1.5.7.

I use 1.58.1
To be able to reproduce, or trace the freezes you are experiencing: Please, could you tell me a bit more about your test? (like pcb version, components installed, variables values in the set up…) also the timing would be helpful (if it is in 1 min always, or between 2-5 min…), are you connected to serial? what does the reboot log tell you…
It has been more tested on the wt32, and obviously a beta version does always need some corrections, please, let me know if you are interested in digging on the latest github version (it is not public yet, so I would need your github nickname -private message prefered)

I have a v4.4 Standard board with a UM982 GNSS module, BNO085 IMU, ADS1115 & CAN bus chips on-board. Attached are the configs and reboot messages. Seems somewhere between .3 and 10 seconds before reboot. The Teensy serial connection disconnects during the reboot.

Edited: PCB is v4.4. v4.5 is in production at JLCPCB.

WT32-Teensy-Logs.zip (2.8 KB)
WT32_Reboot_Messages.txt.zip (2.0 KB)

Ooops. I edited the PCB version number.

Thanks, I have seen the files briefly, there are a few things I would need to fully understand the issue:
1- I assume that those Was and Panda lines formed, omitted on the report, are correctly formed, correct?
2- I see the configuration file has the same pin assigned twice (39), no idea yet if that is the root of the issues
3- You are using Mac? I have only tested in windows, no idea if that causes any trouble with serial
4- the pins configuration on your pcb, I haven’t got the definition for the teensy pinout on that v4.4 pcb, is it any different of the v3? if it is the same there are a few pin assignments that I do not fully understand (for instance the cytron pin definition, or the was resolution, or the buttons/switch pin definition) are you 100% sure they are the correctly defined in your configuration.json?

  1. Yes the WAS and PANDA lines were well formed. AgIO showed position, etc.
  2. All I changed from the repo config was IP address and IMU type.
  3. Tried compiling it on a Windows 11 machine. Same compilation errors as Mac.
  4. I managed to get the pins changed to PCB v4.4 assignments I think. It won’t stay running long enough between reboots to be sure.

I seems like the issue with Teensydino 1.58. Perhaps try installing Teensydino 1.57.x or 1.56.x and compiling against one of those.

Thanks chri5k,
My bet would go for a memory leak, probably on gnss parsing, not suro though, I will try to replicate the issue in my pc, it does not show any problem in my v3 micro pcb with teensy…
As for the ide set up, the lib verioin need to be mached, and probably the AsyncWebserver for teensy completly replaced, I guess the rduino ide is not taking the icluded versions as the correct reference, just a guess.

Changing the GNSS port to one without a GNSS attached or unplugging the GNSS from the board stopped the reboots.

Still perplexed by the IDE issue. Got past not finding the directory by installing the versions of the libraries in the IDE vice linking to the ones in the repo. Now running into issues with STD:: functions not being found. Does your IDE environment have some Standard Template Libraries installed?

The Arduino IDE is not my favorite. By trying to make it simple, the developers make it hard to track down complicated issues. They flat out refuse to add a “clean” function to the IDE. They locked the thread with users articulating why having a “clean” function would be useful. Very strange.

VSCode with PlatformIO is my preferred IDE.

1 Like

I do not know about what could happent to the ide configuration in your pc, all I can offer is to make a video conference through teams to see if together we could play to find the 7 differences game between your environment and mine… would you think that could be of any help?

On the other hand, I can not duplicate your rebooting issues, I attach the serial dump just done trying to find the problems without success
putty-20241213.txt (880.9 KB)

just in case it is something related with the configuration.json file, i include again the teensy hex file and the json file with the correct config for the AiO Micro v3.0 (shoul be very close to the v4.5, but may be some pins to review indeed)
Fwa-og.zip (338.9 KB)

The output from the UM982 has 1 more decimal digit than the F9P. Could that cause an issue with parsing the GNSS messages?

I’ll try wiping the IDE from the PC and redoing the install. Maybe I missed something. If that doesn’t work, we can arrange a screen share call.

I don’t think so, gnss precission does not matter, the nmea message is split by “,” and latter the string to double function would take any number of decimals (any number that the gnss is able to handle of course). Perhaps the frequency may had an effect if you were using higher that 10Hz, the last version should not care about that either. Ok to the screen sharing connection, just let me know, please for suitable timing, keep in mind that I am in europe (Spain to be precise)

Finally managed to get it to compile with the Arduino IDE. Removed all the libraries that came with the repo. Installed all the latest versions of the dependancies. Only issue now is for some reason I get these two errors. Every other Teensy sketch those two lines work fine. There is even a serial->begin(baudrate) right before those two lines that does not produce an error. Very bizarre. I commented those to lines out and it compiles and works fine.

C:\Users\chris\Documents\code\Fwa-aog\GNSS.h:317:13: error: ‘class HardwareSerial’ has no member named ‘addMemoryForRead’
317 | serial->addMemoryForRead(rxBuffer, 512);
| ^~~~~~~~~~~~~~~~
C:\Users\chris\Documents\code\Fwa-aog\GNSS.h:318:13: error: ‘class HardwareSerial’ has no member named ‘addMemoryForWrite’
318 | serial->addMemoryForWrite(txBuffer, 512);

I was also able to get it to compile with VSCode & PlatformIO. Interestingly, the above errors did not show up.

Finally I have my MF back from the dealer, and it is up and running with the esp32 (WT32) it works well. The firmware has also been tested on the teensy Aio version 3, without any trouble in my pcb and my tractor. In a near future I will see if the esp over wifi does also a good job.
here some videos:

3 Likes