Arduino GPS Shield

03 Feb 2016

Hi there,

I'm fairly new, so I hope I can explain my request. I have a Nucleo microcontroller (STM32L053R8T6) on which I can place the arduino gps shield. I also connected a lcd to the pins of the gps shield (which are just forwarded from the microcontroller) and this work's. However, I can't receive anything from the arduino shield. I put the jumper for rx and tx to different places (so that the shield is connected to different pins for rx and tx), created a Serial object (there are D0 and D1 on the Nucleo for it), but the .readable() command doesn't even get one char.

I used aswell the SoftSerial and the SoftwareSerial library, but can't get any information from the shield either.

I used a sparkfun microcontroller which runs with the arduino commands to test the gps shield - so that worked - the lcd showed me the right lat and long (I used a code from a blog), I tried to replace every arduino command with a mbed command, but wasn't successful.

(The arduino code worked with 9600 Baud for rx and tx, the data sheet tells you need 38400 Baud, so that's a bit odd, so I used all the time both)

Hope you can help me! Thanks! Alex

03 Feb 2016

Note that D0/D1 pins are not connected by default on nucleo boards. The UART2 is used for the serial link to the host PC instead. You mention some jumpers, are you referring to the nucleo solderbridges you have to change to reconnect D0/D1 to the UART? In case you dont have a scope to check serial data on the GPS, you may try to connect it to a PC directly using a USB to serial converter.

08 Feb 2016

Thanks! I didn't realize, that D0/D1 are not connected - is there a way then to communicate with the gps shield with the other pins? I don't want to solder something on the board. In some approaches I used the SoftwareSerial library (and the SoftSerial library), that seemed to me a good alternative, however it didn't do anything.

I meant the jumpers of the gps shield. You place the gps shield on top of the microcontroller (nearly all the inner pins from the microcontroller are connected to the microcontroller - CN5, CN6, CN8, CN9) and on the gps shield you can decide with the jumpers which pin is your rx pin and your tx pin (but you can only choose the pins from CN9 of the microcontroller)

I am sure, that the gps shield is working, because I tried it with an arduino microcontroller (or to be precise a microcontroller which works like an arduino microcontroller)

08 Feb 2016

Check the 053 pinout here. You see that Serial1 RX (PA_10) is available on D2. See if you can set jumpers to use that pin to receive GPS data. You probably dont need any TX pin for the GPS shield (assuming is has been configured and simply spits out NMEA data). Alternatively, you either need to reconnect D1/D0 and loose the serial port to the host or do some rewiring of your nucleo to route other serial pins to D0/D1 (eg D8/D2 to D1/D0).

10 Feb 2016

Great, thank you! I really don't need a tx pin the D2 pin is enough to receive data. It is working now!