![]() |
|---|
Timegrapher OS is the desktop application for the Timegrapher Studio wristwatch timegrapher. It measures rate (s/d), beat error (ms), amplitude (°) and beat rate (BPH) from the escapement sound, timed against a DS3231 ±2 ppm reference on an ESP32. Built around a pure-Python instrument core with a swappable hardware-link registry, a CustomTkinter front-end, and a SQLite historian. See DESIGN.md for the full design and the clock-discipline rationale.
- Live diagnostics — rate, beat error, amplitude, and BPH from escapement audio.
- DS3231-disciplined timing — ±2 ppm reference on an ESP32 for accurate rate.
- Positional capture — manual + timed auto-run with deltas, averages, pass/fail.
- Movements database — add/edit/delete, maker/caliber filters, CSV import/export.
- Session historian — save, browse with pass/fail preview, reopen trails.
- Trends & scope — rate/amplitude/beat-error graphs and a trigger-aligned beat-envelope oscilloscope.
- PDF reports — export the latest run or any saved record with a verdict.
- Mock mode — a synthetic movement drives the readouts with no hardware.
- Python 3.10+
- Dependencies in
requirements.txt:customtkinter,pyserial,sqlalchemy,reportlab,pillow(optional:websocketsfor Wi-Fi,bleakfor BLE).
git clone https://github.com/thisoldscot/Timegrapher_OS.git
cd Timegrapher_OS
pip install -r requirements.txtpython main.pyWith no hardware, pick Mock (Demo) in the device bar and Connect — a synthetic
movement drives the readouts and paper-tape trace. With hardware, pick
Serial (USB) and the ESP32's COM port. Run the tests with python -m pytest.
This repository is organised as follows:
core/— pure-Python instrument engine (no Tk); shared with the mobile app.links/— transport registry (Serial / Wi-Fi / BLE / Mock) behind oneBaseLink.ui/— CustomTkinter desktop front-end.tests/— ground-truth math + protocol round-trip tests.DESIGN.md— architecture and clock-discipline rationale.
Refer to the CHANGELOG.md for details about updates between versions.
Timegrapher Studio is split across several repositories:
| Repository | Contents |
|---|---|
| Timegrapher_OS | Desktop application (this repo) |
| Timegrapher_App | Mobile companion app |
| Timegrapher_Firmware | ESP32 device firmware |
| Timegrapher_Hat | Carrier HAT (PCB) |
| Timegrapher_PreAmp | Piezo preamp (through-hole) |
| Timegrapher_PreAmpSMD | Piezo preamp (SMD) |
| Timegrapher_Stand | 3D-printed stand & fixtures |
Setup and usage guides can be found here: ThisOldScot Docs
ThisOldScot Community is a great space for the maker community — get answers to your questions and solutions for our projects there.
Another option to get help and advice from other makers via the ThisOldScot Discord.
Contributions are welcome! Here's how you can get involved:
- Submit pull requests to enhance the application or fix issues.
- Report bugs or problems by opening an issue.
We encourage community collaboration to make this project even better.
ThisOldScot enjoys designing and making electronic products and projects for enthusiasts, from hobbyists to professionals — boards, sensors, hobby equipment, and anything else that catches my interest. Every project is designed in-house and built on open-source hardware and software.
We ❤️ doing research. New hardware (e.g. oscilloscopes, logic analysers, servos, PCBs) is costly. Feel free to support us and accelerate our research.
| Dev | ThisOldScot |
|---|---|
| Patreon | |
| Buy me a coffee | ![]() |
| Ko-fi |
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Read more in the LICENSE file located in this repository.
Disclaimer:
This software is provided "AS IS", without warranty of any kind, either expressed or implied. The entire quality and performance of what you do with the contents of this repository is your responsibility. In no event will ThisOldScot be liable for any damages or losses arising out of the use or inability to use the contents of this repository.
Warning
Use responsibly and at your own risk.
Thank you for your support from your fellow makers at ThisOldScot.
Happy Making!



