I got one of the little Bosch laser tape measure devices as a gift for the holidays. It’s an impressive little device, and is remarkably accurate. I’m curious how it makes the measurement, because the timing requirements to directly measure time of flight for a laser beam over the course of a couple feet are quite tight.
I used the same photodiode setup I put together for measuring the accuracy of a mechanical clock, and took a look at the signals.
It does seem like they’re doing some modulation on the laser beam, but I haven’t dug further to come to any conclusions yet on how they’re actually deriving a distance. Pretty neat tool though.
In the first part of this endeavor, I opened up a some Wyze Plug Outdoor units, and reprogrammed the ESP32 inside with my own control code. These units have been working really well, and I wanted to add some of the indoor model to the collection, as a different form factor option.
Unfortunately, these units are glued together, and are much more of a pain to open. However, once you do eventually brute force your way in, the process is very similar. Hook up some wires to a few pins on the microcontroller, and upload the new code.
A quick photo of some holiday ornaments I made this year. The boards use RGB LEDs, silkscreen, and gold plating for decoration. The batteries will run it for more than 100 hours of continuous runtime. Made for some good little gifts for the family.
A little while back I was given one of my great grandmother’s mechanical clocks, which appears to be a Seth Thomas from (as best as I can tell) 1906. I remember this clock sitting on the mantle as a kid, but it’s been years since anyone in the family has had this in use, and was in desperate need of a cleaning / oiling.
After I finished disassembling, cleaning, oiling, and putting everything back together, I was curious about how well this unit keeps time. Setting the time, and checking in to do manual readings, and trying to adjust the pendulum based on that is at best a pain. Instead, I decided to science it up.
I quickly threw together a detector circuit with an LED, and a photodiode. Together with a little 3D printed ‘Y’ to hold the detector around the swinging pendulum, this allowed me to electronically and reliably measure the pendulum frequency. Doing the math based on the gears in the mechanism, I determined that 1.358035Hz is the frequency the pendulum needs to swing at to keep perfect time. I logged the pendulum frequency for 72Hrs, and then plugged the data into TimeLab to look at how the clock held time over the test.
On this plot, we have our nominal ‘perfect’ frequency at the center of the vertical axis marked as `0.00E+0s`. This graph references the phase difference of the measured value as compared to the ideal frequency. Values above 0 represent the clock running fast, and values below represent the clock running slow.
So here we see that with the clock fully wound at the start, the clock is running fast, moving farther and farther ahead (by a few seconds) over the course of the first ~26 hours. After that, we hit a plateau where the clock is roughly running at a stable frequency, not gaining or losing time. The spring seems like it’s wound at just the perfect tension during this period. After that we see it start to lose time again as the spring unwinds further. This downward slope ends up bringing us closer to the initial setpoint again, but would continue past the setpoint as it continues to run slow.