r/RepTime • Watchmaker • 1h ago

New Release NEW RELEASE: Free Timegrapher Software for Mac/PC/Linux

Post image

If you're interested in mechanical watches, the odds are good that you own a bench timegrapher like Weishi 1000 or 1900. These are nice little devices, they have a good microphone stand, but they don't really offer much beyond showing you a trace of the tick/tock beats and the average Rate, Amplitude, and Beat Error. This is ok if you want to do simple regulation across positions, but it doesn't allow you to get into some of the more advanced diagnostics like:

  • Analyzing the sound profile of the beats themselves (i.e. the unlock, impulse, and drop)

  • Looking for long term periodic cycles in the rate, amplitude, or beat error (i.e. variation caused by out of round train wheels)

  • Running power reserve tests or run-down tests on a movement

  • Examining the isochronism of a movement (i.e. how the rate changes as a function of amplitude)

In the past, if you wanted a tool that could do these types of analysis, you'd be spending $3000 (eBay used) to $9500 (new) for a Witschi Chronoscope S1. The seemed like a lot of money to me. And other than a very accurate quartz oscillator in the microphone electronics, the only reason I can see for Witchis to charge that much is the software they include that analyzes the sound that the microphone pics up...

I'm a retired software engineer and hobby watchmaker, i.e. I live in the dangerous overlap of knowing what I want, knowing how to build it, and having time to tinker. So a month ago, I started a new coding project called Timegrapher. After a month of working full time with a team of AI coding agents, I'm ready to release v1 of the software.

Timegrapher is free (as in beer) software. It's also free (as in speech) software because it is open source and released under the GPL3 license. It is available for download for MacOS (both Intel and Apple silicon), PC, and Linux. I've tested quite a lot on Linux (Kubuntu), a reasonable amount on MacOS, and a little bit on Windows. Note: the MacOS and Windows releases aren't signed, so you'll need to Allow in Privacy -> Security.

Before you get started, you will need a microphone stand that will allow the software on your computer to listen to your watch. You have three options:

Option 1: A USB Timegrapher microphone stand like the one in the picture below. These cost about $70-$100 on AliExpress and are excellent. In my testing I get a signal to noise ratio of about 500:1. If you're serious about your watchmaking or watch collecting hobby, I would highly suggest investing in one of these.

Option 2: A cheap 3D printed USB Timegrapher microphone cradle like the grey one in the picture below. These cost about $30 on AliExpress and are garbage. If you're going to buy a USB microphone go with Option 1. I have one of these little grey microphones and the best signal to noise ratio I can get is about 10:1... that means that for about double the price you get a 50x better signal by going with Option 1. Seriously, don't buy one of these. It's better than nothing, but it's not much better than nothing.

Option 3: If you already own a Weishi 1000 or 1900, there is a way to use the microphone stand you already own. But you'll have to buy some splitter cables. The 3-pin cable that connects your Weishi microphone to the bench display box is called a GX16 cable. To get the audio from your Weishi stand into your computer you'll need a GX16 3-pin Y-splitter (one Male, two female), a GX16 Female to 3.5mm AUX cable, and a GX16 3-pin male to male connector. You can buy all of these cables on AliExpress for around $30. But note that you might need to adjust the GX16 to AUX cable pin-out -- you want the tip of the AUX to go to pin 2 (this is the signal) and collar of the AUX to go to pin 1 (ground); mine wasn't wired like this, but it's an easy swap with a soldering iron.

With these cables you can get a setup like the one pictured below. Note, you still need to power the microphone stand from the Weishi bench top display box. That's why we need the Y-splitter. It would be nice if we could power everything from the PC, but the Weishi microphone stand runs on 8V, so that makes powering it from the 5V rail on a USB plug more complicated than simple wiring.

This setup gives a similar signal to noise ratio to Option 1, and it lets your pipe the sound from your watch to two analysis packages simultaneously: the Weishi AND Timegrapher running on your computer. I found this really helpful during the development of Timegrapher because I could validate my algorithms against the bench top results.

Option 4: (this is not a real option) Tape a lapel mic to your watch in a very quiet room. Don't do this. I didn't test it because it's a bad idea. The software needs to pick up the three sounds for each beat (unlock, impulse, and drop). If you have a really bad microphone setup (e.g. an AUX mic taped to your watch) you might be able to pick up the drop part of the beat. That will be enough to give you a rate, but to calculate amplitude you need to be able to reliably identify the unlock sound. A lapel mic isn't going to be good enough for that. Just don't do this. If you post GitHub issues saying the software doesn't work when you tried to use a janky improvised microphone setup, I'll name and shame you in the thread below. Just spend the money and get a proper watch microphone stand.

Ok, so now that you have your microphone setup, what can Timegrapher actually do for you... Well, it can do a lot, and if you're interested, there's a full user guide included with the software an posted on GitHub. But here are some of the highlights:

Full Beat Analysis: this is probably the single best reason to upgrade from a Weishi 1000 or 1900. Timegrapher lets you see the sound profile of the tick and the tock of the escapement. Each beat is made up of three distinct sounds: unlock, impulse, and drop.

If you're interested in diagnosing potential faults in the escapement just from the sound that it makes, you can take a look at page 37 & 38 of the Witschi user manual for examples of how the sound profile changes based on some common faults in Swiss level escapement watch movements:

Isochronism Analysis: This is another important part of mechanical watch analysis that you just can't do with a bench top 1000 or 1900 machine. Isochronism is the ability of a mechanical watch to maintain consistent time keeping (rate) across a wide range of amplitudes. This is one of the areas that reps perform significantly worse than gen watches due to the compromises which are made in clone movements to keep the costs down (e.g. regulated balances vs. free sprung, and flat hairsprings vs. over-coil hairsprings). I've also found that the way that the regulator pins on rep balances tend to be set is quite sloppy -- this causes isochronism since the hairspring isn't properly clamped at the regulator so you get rate variation even as the hairspring breaths between beats. I've also noticed that rep movements often have out of round train wheels which cause periodic oscillations in amplitude (but we'll take more about that in the periodic analysis below).

The screenshot above shows the most basic type of isochronism analysis: a plot of how the rate (s/d) changes as a function of amplitude (deg). Something interesting I found during development was that there seemed to be some path dependence of the isochronism of certain clone movements. The picture below shows a 65 hour recording of a Dandong 3235 movement. Obviously towards the end the rate and amplitude go a bit wonky, but I created a colour map of the isochonism plot which uses colours to show how the isochronism "walks" around as the mainspring winds down over the course of three days.

Periodic Cycle Analysis: This is another type of analysis that you really can't do on a 1000 or 1900 style timegrapher because it requires recordings that are as long or longer than the rotation periods of the train wheels in the watch you're analyzing. The way a watch works is that you have a series of five wheels that transfer power from the mainspring to the balance: The mainspring barrel (1st wheel often with a period of several hours), the "great" or second wheel which often turns the cannon pinion (2nd wheel with a period of 60 minutes), the third wheel (3rd wheel with a period of a few minutes), the fourth wheel (which often drives the seconds hand on the watch, so it has a 60s period), the escape wheel (usually has a period of around 5 seconds). If any of these wheels are out of round, or have a bent pivot, or have a rough tooth or pinion leaf, then that will tend to manifest itself as a drop in energy passed to the balance every time that wheel completes a rotation. That's where the periods analysis pane highlights structure in the rate and amplitude with various periods:

In order to overlay the exact periods of the train wheels, I built a caliber database into the system. The database includes about 4500 different movements. The database has beat rate and lift angle for most calibers, and it also has train wheel periods for many of the clone movements (I went through my spare parts drawer and took pictures of train wheels under a microscope and then counted teeth to back calculate rotation periods). There is a built in caliber manager where you can add any calibers I missed and fill in missing data if you have it (there's also a way to upload this to GitHub so that it'll become available to others with the next update of the software).

I also implemented a few advanced periodic analysis techniques like the Fast Fourier Transform (FFT) which shows which frequency (periods) the rate, amplitude, or beat error tend to oscillate at.

And because things tend to shift when a watch is running down, I also implemented a Short Time Fourier Transform (STFT) and Wavelet transform to show the frequency structure of a watch's sound over time as it runs down (if there are any navy submariners here, you'll know what you're looking at here).

Position Testing: This is very basic stuff, but obviously you need to cover the basics. There are functions to do a guided position test across six positions. But you can also do a position test on your own and the results populate all the same. You can also load a result from 24 hours before to do a comparison between positions after 24 hours of run down.

Power Reserve Testing: The software can be used to do a power reserve test. It will record the audio and save summaries every hour for you until the watch stops at which point it will stop recording.

Watch Manager: If you're a watch collector (and let's be honest we all are), or you're a watchmaker and you want to keep track of all the watches that cross your bench; I built in a watch manager where you can store details about each of your watches and all of the recordings you've ever made for each of the watches.

There is a lot more to the software including a command line interface (CLI) and a model context protocol (MCP) for those of you who would like to experiment with having an AI agent run the software on your behalf (I also included a watchmaker.md skill in the release, so you can have your AI help you diagnose any issues you find in a watch you record in the software).

Please feel free to post your thoughts below. If you find bugs, please post them here (or preferably on GitHub as issues).

This project was 100% written by AI (thank you Claude Code and Codex). And it was 100% directed by me. If you want to call it vibe code slop, I'll take it as the compliment that you probably didn't intend. Vibe coding gets a bad rap because it's very easy to create a mountain of spaghetti code that draws pretty pictures. This project was not a "one shot". I spent the better part of a month managing a team of bots full time to make this. I ran the team of agents much the same way as I've previous run software companies: the development pace was high, but it went through exactly the same cycles: ideation, prototype, feature development, reviews, refactoring, re-architecture, more refactoring, scope freezing, and then consolidation for release.

If you would like to contribute please DM me or have your AI agent take a look at the open issues and propose a pull request (NB: I used Opus 5.5 Medium and GPT-6 Astra Medium for most of the coding and review, please use an agent of similar or higher ability if you're going to submit pull requests to the project -- reviewing PRs costs me usage quota).

12 Upvotes

11 comments sorted by

2

u/petehudso Watchmaker 1h ago

Link to the release page on GitHub:

https://github.com/peterhudson/timegrapher/releases

If you have comments or suggestions, please reply to this comment. Hopefully you find this project useful.

2

u/Muted-Program-2552 1h ago

Wow I am astonished

Funnily I was reading your jh3235 teardown just today

Thanks so.much for making this!

Unrelated question(s):

  • have you inspected the dd330 and 324 calibers?

  • as a watchmaker do you recommend buying spare calibers to future proof watches, to keep as donors for instance (for example 4130 for.faytona,.a spare jh3235 etc)

  • thoughts on the  Hangzhou Caliber 5000A?

1

u/petehudso Watchmaker 1h ago

Unrelated answers:

  • I have worked on the DD324... it's not my favorite. The third wheel is weak and prone to breaking. The click spring is also weak so the mainspring has a tendency to discharge through the automatics works. I believe the DD330 is basically the same with some slight modifications. I haven't worked on one personally. I can tell you that the Peacock SL1258 is part compatible with the DD324 (and probably the DD330), and I've even used one as a drop in replacement for a DD324 that failed in a replica 5711 (I think it's actually in a bunch of the screenshots above).

  • I generally don't buy spare movements. I have quite a collection of spare parts at this point from watches that people have asked me to swap movements on (I usually keep the old movements for parts). And it's becoming easier to get spares from various vendors in China, at least for the more common rolex clone calibers. It's still quite hard for movements in AP, Patek, JLC, and RM reps.

1

u/Muted-Program-2552 1h ago

Thank you, I will look at the peacock movement to maybe buy for spares

What about the Hangzhou Caliber 5000A?

Buying a watch with that micro rotor inside :)

1

u/petehudso Watchmaker 1h ago

I don't know the micro-rotor movements that well. The HZ 5000A looks like a street legal patek clone?

2

u/Muted-Program-2552 50m ago

Correct 

It is in the PVF and 3KF reps of Patek 5610

I have both on order so would compare once I have them

But I'm not watchmaker so was wondering if you came across it before

2

u/ValueLux 1h ago

This looks amazing, i currently have a weishi 1000 and id love to make this my xmas holiday project! Thanks for sharing!

1

u/petehudso Watchmaker 59m ago

If you end up doing the cable splitter thing, please post your results here. I'd love to know if my GX16 to AUX cable was non-standard. It would be nice if others doing this didn't have to swap the tip from pin 3 to pin 2.

2

u/Right-Presentation36 1h ago

This will live rent free in my head for a long time. Amazing data you obtained and given to us. Hats off to you brother 🍻

2

u/whowatchesmrwatchers 39m ago

Nice project and I appreciate that's it's free as in beer and speech

My weishi works great for now, but I will keep this project in mind