Well, for the clock, I have a working prototype. I’ve purchased three (3) 3D printers, largely to support this issue, but my most recent Bambu Lab X1-Carbon printer is incredible, so I can stop bumming time on my company’s model. I’ll try to upload a video below to demonstrate it’s functionality as well as highlight some issues.
However, with the working prototype comes the glaring errors. The most major of which is a lack of positional feedback on the hands. I’ll explain.
My current mechanics involve using these 28BYJ-48 Stepper motors to drive the stack of gears. However, the mounting points are parallel with the drive motor, meaning I need to support them from below and making it difficult to stack the motors vertically. This means I have to space the motors around the central gear stack. There is really not much room left for access to the gear stack.
Also, the motor support towers are not stiff enough and flex quite easily, making the gears skip and de-mesh causing errors or failures in the movements.
Additionally, the program needs to know where the hands are, in order to know how much to turn them when a location changes. Right now, I have a rotary encoder that allows manual changes on startup of the clock, with the idea being that you would manually position the hands to a calibration point, making them all point exactly vertical for example, and then the program would know where they started and can just keep track of the changes.
However, small errors in positioning and tracking would compound and eventually the clock would read completely wrong. Additionally, it requires calibration every startup and upon every software error, which with my programming skills is currently often. It’s just not a feasible long-term solution.
I would like to use limit switches, gap sensors, or Hall Effect sensors to provide automatic calibration and feedback, however, there’s just no space to access the gearstack easily.
The idea
The key? Bevel gears. If I turn the motors ninety degrees, I can much more easily stack them vertically and contain them to maybe half the circumference of the gear stack. That leaves so much more room for activities and active feedback mechanisms. It has a slew of other smaller benefits as well. However, it will be more difficult to design, much more difficult to 3D print, and require a complete redesign of essentially every part. Am I willing to throw away all my design work so far, with my deadline of May approaching ever faster?
I guess so.
(It doesn’t look like much but I think it’s really cool.)
Recently, on a roadtrip, my family and I exchanged location sharing data on Google Maps, so we could track each other’s progress.
After we got home from vacation, we kept up the location sharing because it was fun and useful. For example, before I called my brother I could check if we was working, because his work at the hospital has random shift times. Or, when my parents went on a trip to New Zealand, we could track their progress.
My parents in particular adored this feature. My mom would, every morning, check on her children to make sure that we were all OK and to see what we were up to. I got a lot of very specific questions about my activities: “I saw you were at XXX store for an hour yesterday, how was that?” Also, for me and my wife, it was pretty typical locations in general. We were at work, at home, or somewhere in-between. Really, to avoid the privacy breaches but still inform my parents, I would love to have something that just told them what category of place we were in. Also, with their 50th wedding anniversary coming up in a couple years(crazy, right?), it seemed like the perfect project.
The Inspiration
If you’re on this website, you’ve probably noticed my rampant nerdiness. Thus my inspiration: the Weasley clock, featured in the Harry Potter films and books. This magic clock tracked all the Weasley family members and identified their locations. While I don’t think we will use the “Quidditch” or “Mortal Peril” categories, this seemed to be the exact answer to my question. Now I just had to develop the software and mechanics to support it.
The Tech
Fortunately, we all walk around with microcomputers in our pockets that constantly spy on us while addicting us. So I knew if the NSA had this data, I could probably convince my siblings to give it to me as well, if I could just figure out how. Ideally I’d find a lightweight solution that would somehow convey latitude/longitude to some network location that my clock would eventually access.
Enter OwnTracks. The exact solution. This is an open source, lightweight location sharing app available on both Android and iPhone. All location data is private. It uses MQTT, a machine data transfer protocol, to send the data to a server. Also, it supports Regions, areas on the map that you can label and the app will indicate if it is inside that area. This is perfect to denote home and work locations.
However, OwnTracks needs to connect to an MQTT broker, software that will collect and distribute the messages typically run on a server. You can rent these servers very cheaply, but you know what is even cheaper? An IT buddy with a server in his basement. Thus enters Mosquitto, another open source software that acts as an MQTT broker.
The Plan
Thus we have our software picture all filled in. Owntracks will be installed on the phones, sending location data to the MQTT broker Mosquitto on my buddy’s server, and then my hardware will connect to this server to download the data. I just have to put it all together and pair it with the mechanics.