is a "freeware" DOS program that uses a PC and GPS (with 1PPS)
to timestamp an event to millisecond accuracy to UTC. The
program uses the GPS to firstly calibrate the PC timing and then
every 5 seconds resynchs the PC timing to the GPS (to track
thermal changes in the PC quartz crystal). This method enables
any old PC to be used to timestamp an event over long periods
(days or months even) and yet retain the 1 millisecond accuracy
The event to be timestamped can trigger KIWI via a logic signal or by a manually operated switch connected to the PC printer port. For astronomical events using a camcorder, a LED (optional) is flashed for 50msec to ident the video at the time of the "trigger" for subsequent field/frame accuracy determination.
The PC timing acts as a "flywheel" to the GPS 1 pulse per second drumbeat. Even if the GPS briefly loses synch with the satellites, the software will retain its accuracy. One of the functions of the program shows how the PC timing compares to the 1PPS from the GPS - 5 microseconds RMS for most PC's common.
This page is concerned with the NMEA version of KIWI. Those with a TRIMBLE SV6 receiver please click here.
Integrity Fault @ UTC 18-09-2002 21:03:14, 1.00400 secs=Delta, SVs= 2 FIX=NN Integrity Fault @ UTC 18-09-2002 21:08:07, 0.99600 secs=Delta, SVs= 3 FIX=YY Integrity Fault Summary @ UTC 18-09-2002 23:13:40 Early = 1 Late = 1 Busy = 209 OK = 54905The SV6 was sitting on an inside window sill, with a very poor view of the sky with many trees outside. It had been running for 15.2 hours (54905 / 3600), during this time there was only a single time period where the 1PPS was not aligned to UTC. At 21:03 the GPS was only tracking 2 satellites and did not have a "valid fix". Its internal 1PPS generation changed its "reference" back by 4 mS (as you can see above). For the next five minutes the 1PPS was aligned 4 milliseconds late to UTC, and then as another satellite popped into view, it was able to get a valid fix (YY) and so correct the 1PPS by moving its reference "forward" by 4 mS. Thereafter the 1PPS was aligned to UTC.
Integrity Fault Summary @ UTC 21-09-2002 08:35:28 Early = 0 Late = 0 Busy = 0 OK = 95566Again an inside test (but a different window). I was also using the 1PPS signal for another software program that was determining the Temperature Coefficient of a Grandfather clock. The above result showed that there were no excursions (to the 50 microsecond level) of the 1PPS for over 26.5 hours. Because multipath and clock slip occur at discrete quanta in excess of 50uS, it can be assumed that all 1PPS signals were accurate to below the 1uS level. The results from the other clock program had also proved I had adjusted the temperature compensation correctly in the fine old Grandfather clock ;-)
KIWI was initially designed for Astronomical
Occultation timings. Occultation's occur when a celestial
object passes in front of another (usually a star). The timing
of this event can be used to obtain size and shapes of Asteroids
and topography of our Moon. Many other applications, experiments
and research may benefit from KIWI.
Requirements: KIWI was compiled as a 16bit DOS
application, requiring DOS 3.0 or above. The PC does not have
to be state of the art, any old pc/laptop AT and above is okay,
even a 20 MHz '286' 15 year old AT can easily meet the 1 msec
spec. KIWI can make that old "junk" PC suddenly have a purpose
As a DIY hobby project it should take an "evening" to put together. A GPS (with 1PPS is required), these can now be purchased for as low as US$25. The program does require some electronic skill to connect the GPS and PC, so please read documentation first to see if you have the required skill.
The program should not be run from a W9x/ME dos window, the accuracy is "ruined" by the W9x/ME operating system not giving enough CPU cycles for the application to meet spec! To use the program from W9x, you must click on "Start" and "Shut Down" to "restart in MSDOS Mode".
If KIWI is now placed on a "bootable" DOS floppy disk, then it does not matter what the operating system on the Hard Disk is (Windows, LINUX, UNIX etc). KIWI will not save any data to the floppy OR hard disk. If KIWI is run on a hard disk system, it will save its timing data to the hard disk. The reason it will not save data to the floppy disk is because it shuts down all interrupts and the floppy motor would keep running. The program detects whether it is running on a floppy and advises on the screen (in appropriate functions) that it will not save data to disk.
Why KIWI? (pronounced "key we") It is the native bird of New Zealand, where this freeware was written.Photos of how I wired up my Motorola GT+ and $25 Trimble SV6 receiver.
Review of KIWI- Art Lucas from IOTA (International Occultation Timing Association) has kindly provided a review of KIWI from his experience putting the project together. Art has many good pointers and tips about construction and valid comments for those that wish to procede with the project (especially those using the GARMIN GPS35-HVS).
KIWI written by Geoff Hitchcox, Christchurch, New Zealand, South Pacific.
Here are the Menu options of KIWI 1 = Show the Logic Level of 1PPS and Switch 2 = Show raw NMEA serial data from GPS 3 = Your reaction time to an object Appearance 4 = Your reaction time to an object DISappearance 5 = Measure PC timing Accuracy 6 = Position Averaging and Satellite Tracking Info 7 = Timestamp Function 8 = Generate Time Signals (sound and sight) 9 = Linear Time Reduction (of pre-recorded events) 0 = Quit Program (also ESC Key) An example of option 7 (Timestamp Function) follows: I coupled to the manual switch an open collector transistor connected to an AM radio. The 143 ms "delay" of the 6 time pips is due to the PCM digital system used to connect the radio network! The following data is what is presented on the screen and also saved to a TEXT file on the PC.
Started Timing @ 08:55:15 HH:MM:SS 18-09-2002 DD-MM-YYYY UTC 43 31' 11.0" S 172 42' 8.2" E 12.2 Hgt (metres) 40.0 Hgt (feet) 08:59:55.143 UTC 08:59:56.143 UTC 08:59:57.143 UTC 08:59:58.143 UTC 08:59:59.143 UTC 09:00:00.143 UTC Finished Timing @ 09:05:16 HH:MM:SS 18-09-2002 DD-MM-YYYY UTC 43 31' 11.0" S 172 42' 8.2" E 12.2 Hgt (metres) 40.0 Hgt (feet)
Protocol of the Audio Pips. Pip = Seconds marker Hi Pip = 10 second marker Short Pip = 55,56,57,58 second marker Double Pip = Minutes Triple Pip = Hours (24HR), lower tone if Hr = Min Silent Pip = 59th second "P" Key to Toggle Pips, to gather stats quietly!
Explanation of the Hour and Minute Coding. Let's assume the time is 12:09 (HH:MM) During the minute starting at 12:09 The pip at the 9th second will be replaced by a "double" pip The pip at the 12th second will be replaced by a "triple" pip Thus: On the HOUR the first pip is a double (because minute = 0). Thereafter each Minute starts with a long pip (like WWV). If the hour and minute are the same (08:08) then a much lower frequency triple pip is given. Midnight UTC is marked by a low freq triple pip (because HR = Min = 0). No indication is given of the 59th minute, because the 59th second is ALWAYS silent. An added Leap second will give 2 triple pips.