VK4GHZ Thunderbolt GPSDO Display firmware fix

I have a fix for the Thunderbolt GPSDO date error!

The VK4GHZ Thunderbolt Display no longer uses the Year, Month and Day data fields sent from the Thunderbolt.

These date fields are no longer translated correctly inside the Thunderbolt since it rolled over from July 29 to 00:00:00 July 30, 2017.
This is often incorrectly reported as a 10-bit week number roll-over error, but it occurred when going from week # 935 to # 936. (Not from week # 1023 back to week 0).

This firmware fix addresses the date translation error, and will also accommodate the next 1023 week rollover which will occur on 7-April-2019.
The VK4GHZ Thunderbolt Display now does it’s own date translation using GPS Week number and Time of Week fields.


The new firmware also incorporates some new features, and now displays:

• Thunderbolt firmware version on boot up
• Number of sats being used in fix
• Altitude (MSL)
• Internal temperature
• Satellite PRNs (Pseudo Random Noise – Satellite Identifier)
• PDOP (Position Dilution Of Precision in FP3D mode)
• TDOP (Time Dilution Of Precision)


Since that video was recorded, PDOP (Position Dilution Of Precision) and TDOP (Time Dilution Of Precision) have been added to page 5.

PDOP is a figure of merit to indicate how precise your 3D reading is.   The closer to 1.0, the better.

Thunderbolt’s default PDOP switch threshold is 6.   Above 6, it will switch from 3D to 2D mode.

TDOP will be 1.000 (ideal) in Over Determined Clock mode.


Updating your Thunderbolt system is a two part process:

1) reprogram the micro-controller on the Commander board

2) reprogram the micro-controller on the Display board


You will need the following:

• PICAXE AXE027 USB programming lead (or direct equivalent)

• PICAXE Editor program   http://www.picaxe.com/Software/PICAXE/PICAXE-Editor-6/

• You may need a breadboard, 22k resistor, 10k resistor, and 5V supply to make a temporary PICAXE programming jig

Step 1: Re-programming the Commander micro-controller

To accommodate all the firmware changes you should have a Thunderbolt Commander as a part of your system.
The Commander sends ‘request packets’ to the Thunderbolt to set configuration, and change operating parameters.

The microcontroller on the Commander board is a PICAXE 08M2.


If you made a Commander without a programming header

• remove 08M2 and insert into your breadboard programming jig
• connect up PICAXE programming lead (AXE027)
• using PICAXE Editor, program 08M2
• re-insert the 08M2 into your Display board
If you made a Commander with a programming header

• connect up PICAXE programming lead (AXE027)
• apply power to your Commander board
• using PICAXE Editor, program 08M2
• disconnect programming lead



If you do not have a ‘Commander’, the new firmware will still work (showing proper date etc) BUT you will NOT be able to display the following:

• # of satellites being used in fix
• Latitude
• Longitude
• Altitude
• Grid Square
• PRNs

Previously, Lat/Lon originally comes from the same data packet where altitude is HAE.
Height Above Ellipsoid is useless !

The new Lat/Lon comes from a different data packet where altitude is MSL (above Mean Sea Level).
The new Commander firmware sends requests packet 0x35 for data packet 0x84 for Lat, Lon and Alt (MSL).

If you have not built up a Thunderbolt Commander, consider doing so.
It uses a PICAXE 08M2 and costs < $15 to build.   Thunderbolt Commander construction details here.

Step 2: Re-programming the Display micro-controller

The microcontroller on the Display board is a PICAXE 28X2.
This is the chip in the socket.
(The other chip soldered to the PCB is a math co-processor – and does not need to be touched!)


If you have a v1 (2011) or v2 (2012) board, you have two options to program the 28X2;

1) on-board, as there are programming pads you can temporarily solder to.

2) off-board, in a breadboard etc

v3 (2013) boards do not have these pads, so you will need to remove the 28X2 and program it off-board.


You may need to remove your Display board from its enclosure to access the PICAXE properly.

If programming on-board

• display board needs to be powered up whilst programming.
• connect up PICAXE programming lead (AXE027) or equivalent
• using PICAXE Editor, program all 4 slots (order is not important)
• remove programming leads
If programming off-board

• remove 28X2 and insert into your breadboard programming jig
• connect up PICAXE programming lead (AXE027) or equivalent
• using PICAXE Editor, program all 4 slots (order is not important)
• re-insert the 28X2 into your Display board, correctly orientated


To display the Thunderbolt’s internal firmware version, the Thunderbolt, Commander and Display all need to power up together.

I cannot answer questions about other programming leads – use a proper AXE027 if in doubt.
For answers about using the PICAXE Editor – refer to the PICAXE website for FAQs etc



Generic PICAXE programming schematic

Note the 10k and 22k resistors are fitted to v1 and v2 Display boards.


Suggested circuits for off-board programming

If you cannot set a PSU to 5.0V, use a standard 7805 type regulator circuit for a 5V rail.


Aside from online sources, Altronics (Australian bricks ‘n mortar store) stock PICAXE.

Thunderbolt Packet Masks and Options Settings

Using Trimble’s tboltmon.exe program, the correct configuration should look like:

Setup > Packet Masks and Options

Note: Thunderbolt Commander firmware v1.2 sets this configuration up each time it powers up.
Your Thunderbolt, Display and Commander all need to power up at the same time for correct sequencing.


PICAXE .bas File Downloads:
Thunderbolt Display Slot 0 v2.2
Thunderbolt Display Slot 1 v2.2
Thunderbolt Display Slot 2 v2.2
Thunderbolt Display Slot 3 v2.2
ThunderBolt Commander v1.2

Sorry, I do not have time to respond to personal emails or PMs – too busy with work and renovating my home.
All the information that exists is posted above.
As I cannot offer a programming service via snail mail, please find a local that can assist you, should that be required.

Happy programming, and welcome back from 1997. 😉