tbolt2LCD by Götz Romahn

Software update to handle week rollover since 30-Jul-2017.

This is a small monitor for Trimble Thunderbolt. It is based on »TSIP2LCD TSIP GPS to HD44780 LCD decoder , from Matej Kogovsek. An ATmega8515 microprocessor and a standard two lines 16x2 LCD are used. Total cost should amount to less than 15,- Euro (abt. 20,- US$). Some soldering skills are required. I used a perfo board for my prototype. You will also need a programmer for ATmega microprocessors (maybe a good friend will help you if you do not own one).

Some Sample Displays

The image below shows, what the display looks like in normal operation with my thunderbolt in good health. 1st line shows time of day, letter "S" indicating time zone in use (G-GPS,U-UTC,M-MEZ,S-MESZ) and count of received satellites or if no satellites are received, date. Note letter "S" indicating DST or Central-European-Summer-Time (MESZ-CEST) with Jp set.
2nd line cycles through various states indicating health of Tbold and alarms if there are any.

normal operation

for the next image I disconnected the antenna. Note letter "U" since I also removed jumper Jp to switch to UTC. No satellites are available, therefore we have same space to display date instead count of sats.

antenna disconnected

and reconnected antenna to show recover status

antenna reconnected


Could not be much simpler:

tbolt2LCD schematic

If you want so, you can make it even simpler by omitting the reset button (I did), J1 for in circuit serial programming ISP (I did not) and Jp (I did not) to enable time zone (MEZ-CET in the compiled version). UTC will be used with Jp removed (pin21 left open). Since pinout of backlight polarity is not standardized (pins 15/16) nor is the resistor to limit LED current, you are a bit on your own. I got my LCD from a Chinese dealer on Ebay

The following images give you an impression what the hardware looks like with LCD removed. Also Jp (upper right corner of topview) has been removed.
Top view on the left, botton view on the right.

top view botton view


Software is written in C and can be compiled using WinAVR2010. Programming the device with avrdude is provided in the make file. You may need to adapt this to your programmer. I use the simple LPT - 4 resistor version, that is compatible with STK200. (google for "pony simple parallel programmer schematic")

This monitor provides information about Tbolts health. It does listen to Tbolt only. It is assumed, that Tbolt has been set up properly with TboltMonitor and/or LadyHeather (LH). Therefore no position or self survey data are shown. You should know where you are and precision survey should have been completed ( see LH for this ). Also I could not see any use for displaying DAC or Temperature data because you need them in a time scale. For this LH, that can be run in parallel to tbolt2LCD by using an y-cable, is a powerful tool.

Super Packets 0x8f-ab and 0x8f-ac are used for decoding ( see description in Tbolt manual); to obtain count of fixed satellites we also use packet 0x6d. This is output also from Tbolt after powering up ( may be because set up so by TboltMonitor and/or LH).

This monitor may be compiled to two different versions: 1st version: by defining "#define TOW" in main.c Tbolts GPS Seconds of Week and Week Number are used for decoding time and date. 10bit week rollover since 30-Jul-2017 is handled crrectly (hopefully) in this version.
UTC offset from GPS time is included automatically and MEZ (CET) and ME(S)Z ( CEST/CEDT) are shown, when connecting pin 21 (Port PC0) to ground via Jp instead of UTC when left open. DST is determined automatically following European rules. Overseas people please help yourself (should not be too difficult) or comment out that code before compiling. Alternate time zones eg. Pacific Time may easily be edited in instead of MEZ (CET).

2nd version: by commenting out "#define TOW" at compile time Tbolts time and date info from bytes 10 to 16 is used and you can set up Tbolt to use GPS or UTC time eg. with TboltMonitor or LH. 10bit week rollover since 30-Jul-2017 is handled crrectly (hopefully) in this version.

No further user interaction is required.

1st line of LCD displays: hh:mm:ssT Sats:# (T:time zone U/M/S) if no sats received or packet 0x6d not active: hh:mm:ssTDDMonYY
2nd line of LCD cycles through various status messages:
>Decoding Status -- (only shown if bad) decoded to text
>Disciplining Mode -- decoded to text
>Disciplining Activity -- decoded to text
>Minor Alarms -- (only if occurs) decoded to text
>Critical Alarm -- (only if occurs) no cycling anymore, bitfield output hexadecimal only. Since we are in trouble we may use other tools anyway.
>Receiver Mode is not shown. When properly set up for timing, it always states "OverDetermined"


Software can be »downloaded here to your target directory.

For program development I used »WinAVR2010. Start Programmers Notepad after download and open project tbolt2lcd.pnproj.


As always : no commercial use allowed, all under GNU-Licence and on your own risk.

Mail to: goetz .at. g-romahn.de