UPDATE: as of 7 Feb 2022 and release 1.5 of WioLoRaWANFieldTester, a fix is now built in to look out for incorrectly configured GPS speeds and to correct the issue.
Recently, I purchased a Wio Terminal with Battery and LoRa E5 chassis with GPS, keen to use the excellent WioLoRaWANFieldTester project by Paul Pinault (aka disk91) to use as a Field Test unit and Helium mapper. I eagerly ordered a supply of LoRa E5 chassis for our store (launching very soon!), but had issues with the first unit I tried…
Paul’s WioLoRaWANFieldTester project enables you to field test various locations for potential hotspot deployment by sending mapping beacons and gathering all of the data from any beacons that hear it and returning that data to the unit along with RSSI and SNR values (and more), so you can see at a glance, what a potential new hotspot is likely to hit. I’ll write a full review of the application soon…
I received the hardware a week or so ago but had little success with the setup since the GPS in the LoRa E5 chassis appeared not to be working. No matter where I placed it, by a window, in the car, or sitting outside with it for 20+ minutes at a time, or holding it high in the sky until my arms got tired, it simply refused to get a satellite lock (or so it seemed) or display any GPS data on screen.
I had ordered a number of LoRa E5 chassis, so had others to test – which I did yesterday. Swapping the first one out, I had some success with a GPS lock after several minutes. Bingo! I must have a dud unit. Testing the others, I found several that worked, but another that didn’t. Quality control couldn’t be that bad, could it?
I reached out to Paul and we arranged to do some testing. Initially, trying a new yet to be released version of the firmware, and then did some testing with a GPS-only trace which would reveal what the Wio was getting from the GPS on the LoRa E5 chassis.
We were just getting garbage data instead of line after line of neatly formatted GPS info. We tried several different versions and all looked like rubbish on the Arduino Serial Monitor.
23:03:53.838 -> ⸮k⸮o⸮#(@>⸮V)⸮⸮⸮k⸮o⸮#(@>⸮R)⸮!a|⸮iome⸮⸮JJ9⸮CI⸮⸮)⸮⸮K8⸮1⸮#~%⸮'⸮$⸮D%))⸮ZzJJRR1⸮BI⸮⸮⸮⸮z)⸮A⸮[⸮)⸮nRR
Eventually, we determined the output was displaying as if the baud rate was set incorrectly. Paul explained that the GPS in the LoRa chassis is set to start at 9600 baud from a cold start. We then tried umpteen versions of the GPS trace code running at different speeds, eventually failing at 115200 – with no data output at all.
The next step was to test the LoRa chassis directly – to see what data was coming off the chip, in case the softwareserial in the Wio couldn’t handle higher speeds. This involved hooking up an FTDI board to the LoRa chassis and reading the data directly. Straight away, testing at 115200 we got good data coming through!
Conclusion – The GPS WAS working, it just appears that some models of Seeed’s Wio LoRa E5 GPS chassis are shipping with their GPS to start at 115200 baud rate rather than the standard 9600
Paul developed a few other iterations of the GPS trace firmware to attempt to reset the GPS chip to the default 9600 baud it should be, and so that a restart of the chassis it would retain the setting and be able to work with the standard firmware at 9600. It worked!
UPDATE: Since this issue was identified, a few things have happened. Firstly, Seeed have acknowledged the issue with the LoRa-E5 chassis and are updating their wiki and firmware to prevent the problem from happening. Secondly, as of version 1.5 of WioLoRaWANFieldTester, Paul has built in a new feature to address the GPS speed issue automatically. Great news.
NOTE: If you are using version 1.5 of the WioLoRaWANFieldTester code, the following fix is baked in and is not necessary to do manually. Upgrading to 1.5 is the easiest fix.
Here’s the fix (for versions 1.4 and earlier):
- Visit Paul’s WioLoRaWANFieldTester repo and download the Gps_Reset_To_9600bps.uf2 binary – this code will reset the GPS to 9600 at start
- Put the Wio Terminal (with the problematic LoRa E5 chassis) into firmware upload mode by switching the power switch down twice, quickly
- If you’re curious – open up a Serial connection and set to 9600, 8,N,1 and watch the display
- Drag/drop the binary onto the Wio Terminal when it shows up in Explorer on Finder
- The Wio Terminal will restart and run the reset code. You’ll see the following on screen:
- Leave the Wio to do it’s thing for at least a minute – you can watch progress on the serial connection if you have that running – you should see readable GPS data after the reset procedure completes
- With the reset done, next download the latest version of the binary for the All Zone E5 – WioLoRaWANFieldTester_LoRaE5_ALLZONE.uf2 and configure if needed
- Go outside with your Wio Terminal and watch the GPS get a lock!
- Go field test your new (working) Wio Terminal and LoRa E5 chassis… 🙂
Massive thanks to Paul for getting this sorted. It’s fantastic to have such pro-active developers on these kinds of things. It was fun to be a part of and to be involved in testing and troubleshooting.
Now to go do some field testing myself… Review coming soon!