Sparkfun GPS Shield (EM406A)

Shield for mounting EM406a GPS module on microcontrollers with Arduino header compatibility

Hello World

Import programSparkfun_GPS_Shield

Example program for the Sparkfun GPS Shield, based on UART serial port connectivity (D0/D1 pins).


Import librarySerialGPS

Library for EM-406 and MTK3339 GPS modules (NMEA), using UART communication.


That's the thing:

From my forum post in "Shield Promotion Chat Space" (


There are a few digital pins that per manufacturer cannot be used for the purpose of serial communication, the P0_6 and P0_8 (corresponding Arduino 2+3) on my test LPC800-MAX are such. As I was just learning about the mbed libraries when I encountered these problems, I spent quite some time before I figured that out... Now that's not a problem per se. However, it means that the Components page for the Sparkfun Shield should emphasise that only the 'UART' but not the 'DLINE' setting can be used with the LPC800-MAX. I don't have headers for my KL25Z, so can't say for sure if that would play nice.


The Sparkfun GPS Shield retail package came with the EM406A GPS module. That must be driven with 5V. There's a separate module (EM408?) that's happy with just 3.3V, but it requires an additional adapter to fit on the shield. Anyway. Initially I intended to do a test between the Adafruit and Sparkfun GPS modules with the LPC800-MAX being driven with a LiquidWare Lithium Backpack. Again, what I missed right at the top of the LPC800-MAX handbook page, is that the board should be powered with 5V, but only supplies 3V unless connected to USB. That was a big downer because it ruined my experimental setup. It also mean unless you want to connect your GPS rig to a computer or USB juice pack, the Sparkfun GPS Shield retail package and the LPC800-MAX don't play nicely together.

Please log in to start a discussion or ask a question.