Making a simple GPS system using the M5 Stack GPS v1.1 connected to the Wio Terminal’s Serial1 port (40 pin connector pins 8 and 10). When connected directly together (115200 baud 7N1) the Wio does not recognise that any data is available from the GPS (no weird characters ,just nothing). However when the GPS Tx Pin is connected to an Adafruit Itsy Bitsy 3v controller Rx pin and the Tx pin of the itsy is connected to the Wio’s Serial1 port Rx pin all works OK (a simple feedthrough program). The GPS is advertised as 115200 baud 8N1 - the unit I got wasn’t !
I have absolutely no idea why the GPS and the Wio do not play nicely together and would be interested in any ideas the community may have as to why this may be.
As usual, any replies appreciated.
Hi there
So for that unit, You will need to explicitly define the pins & buad , etc. on the Serial Begin init.
Even though the data sheet says 115200 , 8 data, No parity, 1 Stop bit.
- M5 docs/specs say 115200 8N1, but multiple sources report some units default 7N1.
- On Wio Terminal, pins 8/10 are Serial1 TX/RX, but Pi header contact can be flaky—verify with a loopback first.
- Use
Serial1.begin(115200, SERIAL_7N1) (or 8N1) explicitly rather than assuming defaults.
// Wio Terminal (SAMD51) - Serial1 on the 40-pin header
Serial1.begin(115200, SERIAL_7N1); // try this first if your unit is 7N1
// Serial1.begin(115200, SERIAL_8N1); // typical/default if your unit is 8N1
Use the code tags above “</>” paste it in there. We can look 
You are close you will get it. 
HTH
GL
PJ 
BTW, in RS-232 Framing error will produce no output, However Speed or Baud rate differences with correct framing (8N1) will give gibberish. In some cases EVEN parity and 8E1 will give some output occasionally(range is out of the ascii printables)
some characters.
Hi. Thanks for your input.
I have two brand new Wio Terminals. Both work fine with loopback (pins 8 & 10 connected). Neither can read GPS NMEA data when connected directly to the GPS.
I initialise the M5 Stack GPS with Serial1.begin(115200, SERIAL_7N1).
Using an Adafruit Itsy Bitsy 3v configured to output to the Arduino Serial Monitor the GPS works correctly and produces NMEA sentences on the Serial Monitor. Doing the same with the Wio produces nothing. The Wio does not “see” the data from the GPS. ‘Scope shows GPS data timing and levels are correct when connected to the Wio.
Connecting the GPS to the Itsy RX pin and itsy TX pin to the Wio’s RX pin (Wio now configured to use the Arduino Serial Monitor for output and Itsy running a simple feedthrough program) works perfectly.
It is looking like either:
(i) the GPS has a dodgy output - but then why does it work with the Itsy ? or
(ii) there is some kind of incompatibility between the GPS TX output and the Wio RX input.
Am going to try placing a CMOS buffer between the two units to see if that helps.
Hi there,
So, Looks to me Like you got everything correctly connected etc. I’m thinking it’s #2
Those WIO’s can be squirrelly if loopback works, then sounds like a level issue as your planning to check, Good one 
I did similar GPS Demo w/code on here, with the C3 and SoftSerial example & GPS. maybe there is something in there?
GL
PJ 
Hi. Getting nowhere ! Checked out signal levels and timing and all OK. Are any of Seeed’s experts on wio terminal aware of compatibility problems when using the Serial1 port Rx pin ? Specifically has anyone tested it with the M5 Stack GPS v1.1 unit ? I’ve tried 2 wio terminals with this GPS and neither of them see the signal on the Rx pin although it is definitely there (no giggerish just absolutely nothing). The GPS works fine with an adafruit itsy bitsy 3v controller.