Weishi Timegrapher Data Logger
Project Overview
This project transforms a standard Weishi No. 1000 timegrapher into an automated data logging system using a Logitech USB webcam and Python software.
The idea is simple: instead of manually reading and recording measurements from the timegrapher display, a webcam captures the screen while Python software extracts and saves the values automatically.
This makes it possible to monitor the performance of mechanical watches over extended periods, compare measurements, and analyze changes over time.
The entire system works without modifying the timegrapher itself.
What Is a Timegrapher?
A timegrapher is a precision measuring instrument used by watchmakers and watch enthusiasts to evaluate the performance of mechanical watches.
Mechanical watches use a balance wheel and hairspring to regulate timekeeping. A timegrapher listens to the ticking sounds produced by the watch movement using a sensitive microphone.
By analyzing the timing between these sounds, the instrument calculates several important parameters:
Rate (seconds/day)
Indicates how fast or slow the watch is running, expressed in seconds per day.
For example:
- +10 s/d means the watch is gaining approximately 10 seconds per day.
- −10 s/d means the watch is losing approximately 10 seconds per day.
- 0 s/d indicates no measured daily rate deviation under the current test conditions.
Amplitude (degrees)
Measures the estimated angular rotation of the balance wheel between its extreme positions and its resting position.
Amplitude provides useful information about the energy delivered to the balance wheel and the condition of the watch movement.
Beat Error (milliseconds)
Measures the timing difference between the two alternating beats of the watch movement.
A low beat error generally indicates that the balance wheel is oscillating more symmetrically.
These measurements are essential for regulating, servicing, and troubleshooting mechanical watches.
How the Project Works
The Weishi No. 1000 has a built-in LCD screen that displays the measurement results. However, the instrument does not provide a convenient built-in method for automatically exporting these values to a computer.
This project solves that limitation using optical character recognition (OCR).
A Logitech webcam is positioned approximately 10 cm from the display. The camera continuously captures images, which are processed by a Python application running on Windows 11.
The software uses two main libraries:
- OpenCV for capturing, rotating, cropping, and processing the webcam image.
- Tesseract OCR for recognizing the numerical values displayed on the timegrapher.
Three separate regions of the screen are analyzed independently: Rate, Amplitude, and Beat Error.
Because the Weishi uses a pixelated LCD display, standard OCR can sometimes misinterpret numbers, plus/minus signs, or decimal points.
To improve accuracy, the program applies multiple image-processing techniques, including Gaussian blur, median filtering, thresholding, and specialized character recognition.
The Rate and Amplitude recognition routines have been specifically optimized for the Weishi display.
Automatic Data Logging
The software automatically records the following measurements:
- Rate (s/day)
- Amplitude (degrees)
- Beat Error (ms)
- Date and time of each measurement
All measurements are saved to a CSV file, which can be opened in Microsoft Excel or imported into other data analysis software.
The logging interval is adjustable from 10 to 3600 seconds, allowing measurements to be collected as frequently as every 10 seconds or as infrequently as once per hour.
If a value cannot be reliably recognized, the software records 99 as a placeholder rather than leaving the field empty.
The software records measurements at the selected interval even when values remain unchanged.
Live Monitoring and Debugging
The program includes a live webcam preview with three debugging panels:
Rate | Amplitude | Beat...
Read more »
Bitroller