■ Parts placement for the GPS Simulator.
■ Here’s an example of a GPS Simulator test. The
flight computer was programmed to blank out the
LCD display above 10,000 feet and to display the
highest obtained altitude on descent. The flight
computer’s program worked exactly as I planned
and I didn’t even have to send it up on a balloon!
— Measure the continuity
between the two connectors in the
battery snap (there shouldn’t be any).
— Snap in a nine-volt battery and
verify there’s +5V on pin 1 and
ground on pin 8.
— Verify there’s +5V on pin 6.
— Add the shorting block to the
two-pin header and verify the voltage
on pin 6 is now 0V.
— Remove the nine-volt battery
and snap the PICAXE into its socket.
— Snap in the nine-volt battery
and connect the DB- 9 connector to
your PC’s serial port.
— Start up the PICAXE programming editor and download the program included in the website package.
You should get a terminal window with a single response showing
that all variables are equal to zero.
After verifying the GPS Simulator
is working properly, remove the
battery and get a thin sheet of plastic
or Foamcore. Cut it to the same size
as the PCB and hot glue it to the
bottom of it. The sheet protects the
traces and pads on the underside of
the PCB from accidentally shorting
out. Now you’re ready to download
the simulator program from the Nuts
& Volts website at
com. The sample program produces
a GGA sentence every second and
84 July 2009
the sentences look valid as long as
your flight code doesn’t verify the
checksum at the end of each
sentence. Here’s an example of what
the GPS Simulator output looks like.
010.101,W,1,07,1.1,320.0,M, 18. 3,M,,
010.102,W,1,07,1.1,340.0,M, 18. 3,M,,
010.103,W,1,07,1.1,360.0,M, 18. 3,M,,
The GGA sentences above have the
following fields: GPGGA, Time (UTC),
Latitude (degrees, minutes, and
decimal minutes), N(orth), Longitude
(degrees, minutes, and decimal
minutes), W(est), 1 (for GPS lock),
Number of satellites, 1.1 (amount of
dilution of horizontal precision),
Altitude (meters), Altitude of the
Geoid (meters), and a checksum.
Notice the time, latitude,
longitude, and altitude fields change
smoothly with every sentence just like
they do during a near space flight.
To adapt the GPS simulator to
your particular situation, there are
five settings at the beginning of the
program to tweak. The variables and
their definitions are:
LaunchAltitude: The altitude of
the launch site in meters.
InitAscentRate: The ascent rate
of the balloon in meters/per second.
KneeAltitude: The altitude that
the ascent rate knee occurs.
BurstAltitude: The balloon’s
burst altitude in meters.
RecoveryAltitude: The altitude or
recovery site in meters.
In addition, you can edit the
SERTXD command near the end of
the program to move the latitude and
longitude of the launch site.
To test the code you’ve written
for a flight computer, just plug the
GPS Simulator into the GPS port of
the flight computer. As soon as the
nine-volt battery is snapped in, the
simulator begins generating GGA
sentences like the flight computer’s
GPS was really going into near space.
By changing the five settings
mentioned previously, you can
simulate a variety of near space
mission profiles — even ones where
the balloon bursts sooner than
expected or climbs higher than
desired. With a slight modification,
you can even simulate a balloon
becoming neutrally buoyant. Take a
look at the charts included here for a