As a new member of Wyolum.com, I’ve been pitching in on their (our?) I2GPS project (Now available for pre-order!).
Wyolum has a terrific LED array board, originally intended to build word clocks, but Justin and others have also built a large format digital clock/timer display out of several of these boards, and the Super Accurate GPS clock will make it a terrific Race Clock.
I wanted to test out some GPS modules from an Asian source, and I felt that whatever Arduino code I had time to write was bound to be incomplete, so I decided to use the manufacturer’s PC progam.
We’re using the Fastrax UPS501, and the software is called Fastrax Workbench. The UPS501 is a terrific module, very sensitive (gets a good fix and tracks 9-10 satellites from within my house!) The reason Justin and Anool picked it, though, is that it has a 1 PPS output. This one Pulse Per Second can be used to get microsecond accuracy by lining this up with the GPS time as well.
Although it’s trivial, I thought I’d share how I used Dangerous Prototype’s Bus Pirate to hook up the GPS module to a PC for testing.
Since the UP501 GPS module communicates via TTL Serial, I wanted to use the Bus Pirate in “Transparent UART Bridge” mode.
I used this pinout chart to determine what was needed: http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts
- Pin 1 is RXD on the GPS and this goes to TXD on the Bus Pirate: Grey wire or MOSI
- Pin 2 is TXD on the GPS and this goes to RXD on the Bus Pirate: Black wire or MISO
- Pin 3 is GND on the GPS to GND on the Bus Pirate: Brown Wire
- Pin 5 and 6 are power and backup power, hook both those up to 3.3v Red wire on Bus Pirate
HiZ>m ; Mode 1. HiZ 2. 1-WIRE 3. UART 4. I2C 5. SPI 6. 2WIRE 7. 3WIRE 8. LCD x. exit(without change)
(1)>3 ;UART Set serial port speed: (bps) 1. 300 2. 1200 3. 2400 4. 4800 5. 9600 ; Default baud for the GPS 6. 19200 7. 38400 8. 57600 9. 115200 10. BRG raw value
(1)>5 ;9600 Data bits and parity: 1. 8, NONE *default 2. 8, EVEN 3. 8, ODD 4. 9, NONE (1)> ;default - 1-8-none Stop bits: 1. 1 *default 2. 2 (1)> ; default 1 Receive polarity: 1. Idle 1 *default 2. Idle 0 (1)> ;default 1 Select output type: 1. Open drain (H=Hi-Z, L=GND) 2. Normal (H=3.3V, L=GND)
(1)>2 ;Normal Ready UART>W ; Turn on the power supplies POWER SUPPLIES ON UART>(1) ; Select the transparent UART Bridge. If you forget this, you can type (0) for the options UART bridge Reset to exit Are you sure? Y
Then it will start spitting out NMEA sentences
$GPGGA,235957.037,,,,,0,0,,,M,,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79
Exit the program and fire up FastTrax Workbench. The only tricky part here is to select the correct baud rate. Since the Bus Pirate talks to the host at 115200 Baud, and the GPS at 9600 baud, we use 115200.