[time-nuts] TruePosition on the Arduino

Ben Hall kd5byb at gmail.com
Tue Jul 4 13:23:00 EDT 2017

Good afternoon all,

I've been working for a while to write my own Arduino sketch to control 
and interface the TruePosition GPS units.  This morning I added in logic 
to allow the switching of the display pages using a push button between 
Arduino Uno pin 11 and ground.  (which isn't covered in the source file 
comments, ooops, I need to add that)

Everything seems to be working.  You can find the source code at the 
link below, but you must promise not to laugh too hard at my lack-luster 
programming skills...this is my first "real" Arduino program other than 
the usual "hello world / blink an LED" type programs.

Plus, while various versions have been working here for a couple of 
months now, your mileage may vary, etc...  I've only seen it barf and 
hang up once and I'm pretty sure that something conductive got dropped 
onto the TruePosition board by my 11 year old son.  (ooops!)


Some known issues / limitations:

0)  I need to update the notes in the source to add the following:

	a)  the display pushbutton goes between pin 11 and ground and is 
normally open.

	b)  the Packrat documentation uses the RS232-level output and needs the 
jumper on on the large header.  This code uses the 3.3V level TTL serial 
and you've got to remove the jumper else the program won't be able to 
issue the $PROCEED command.

	c)  the display pushbutton cycles between three displays:  the first is 
a general status display with date, time, and status, the second is 
satellites 0 to 3, the third is satellites 4 to 7.

1)  You've got to power up the TruePosition board and wait for it to 
"boot" and blink the LED before starting the Arduino up.  Else you may 
need to reset the Arduino after the TruePosition is booted and blinking.

2)  It is targeted towards a 20 character wide, 4 lines deep LCD display 
of the I2C / SPI variety.  These aren't real easy to find; I made up my 
own using a 20x4 LCD display and one of the conversion boards either 
from Amazon or eBay, I don't recall.

I may rework the code for a 20 by 2 display as my eventual package for 
this unit will be 1U which is too short for a 20 by 4 display...but a 16 
by 2 display just doesn't have enough real estate IMHO.

3)  It cannot command a survey.  You've got to manually hook up to the 
TruePosition using a computer and send the survey command via a terminal 
program like Putty and let it finish before you can use my code.  I'll 
probably add in a survey command and monitor function but may be some 
time before I do this.

4)  While the program does pull in what I believe is a DOP value from 
the EXTSTATUS message, it doesn't display it anywhere.  I need to create 
a fourth display page with DOP on it or fit it in elsewhere.

And that's about it.  Suggestions to the code are welcome.

thanks much and 73,
ben, kd5byb

More information about the time-nuts mailing list