Tag: Time

  • I’m making a clock

    I’m making a clock

    Big deal, right? Making a clock is pretty trivial these days. You can get three battery-powered analog clock kits for about $10, or you could break out your soldering iron and put together a digital clock for less than $20. There’s nothing wrong with any of those approaches and both are sufficiently hackable that coloring outside the lines isn’t a problem. But I have something more ambitious in mind.

    Origin story

    I like to make clocks for the web. I slap together a bunch of JavaScript and CSS and make clocks. Some of them are mundane like a classic flip clock:

    Others are more ambitious, like a 24-hour analog clock based around a senary (base-6) number system:

    Around three years ago I shared some of my clocks on Reddit, including the vaporwave beauty you see above. Someone dropped into my comments and challenged me to make a balanced ternary clock. The balanced bit of it eluded me at the time, but the ternary part inspired me to make something completely original:

    Ternary time

    Every previous clock I had designed was based on the sexagesimal system developed in Egypt and Babylon thousands of years ago: a day divided into 24 hours which were divided into 60 minutes of 60 seconds each. This time, I wanted to do something different.

    When making a clock with computers it’s nearly impossible to escape the tyranny of the second since that’s the standard unit of time, but by dividing up the 86,400 seconds in a day in creative ways (specifically the 86,400,000 milliseconds), you can make something that’s mostly untethered from the horological system we’re used to.

    My first instinct when making a ternary (base-3) clock, balanced or otherwise, was to make a clock that simply converted the base-10 digits we’re used to into base-3 digits. That’s what I did with the base-6 clock above but I quickly ran into a problem of aesthetics. A standard clock with ternary digits would run from 13 (110) to 1103 (1210). That’s not a problem per se, but it looks odd to not have 1003 (910) be the terminal number (not that 12 is much better).

    Clockface with ternary digits in the 12, 3, 6, and 9 o'clock positions
    Tkgd2007/Wikimedia Commons

    The solution of course is to just end with 100 and divide the day into 9 or 18 hours. This is similar to what the French did with metric time during the late 18th century, dividing the day into 10 hours of 100 minutes of 100 seconds. But this is where I had the crucial insight: If I could change the divisions of the day, could I not also change their representation?

    The answer is yes, yes I could. So I divided the day into three parts. I initially planned to hew to the current system and break those three parts into eight hours for a total of 24, but just as my sense of aesthetics rebelled against ending my clock on either 1103 or 2203, it wouldn’t make internal sense to have my thirds of a day be divided into eight or four hours (assuming a 24- or 12-hour clock).

    Instead of each third of a day being subdivided into eight quotidian hours, I leaned into the theme of threes and split my thirds into nine equal hours, 32 or 1003. Extending that logic outward leads to 33 or 1,0003 minutes and 34 or 10,0003 seconds. And while this doesn’t line up perfectly with the time we’re used to, it’s not too far off. Dividing the day in this manner leads to hours that are a bit shorter, minutes that are twice as long, and seconds that are about half as long.

    From conceptual to physical

    Out of all the clocks I’ve made, this is the only one I’ve wanted to manifest in the real world. I mentally toyed with the idea of creating something electromechanical, but the form factor I come back to over and over is segmented LCD. I don’t have anything against electromechanical, but the engineering challenges I would need to overcome don’t really interest me. I also thought about e-ink, but it’s hard to find a square e-paper display that isn’t tiny/low-resolution. That leaves segmented LCD.

    The kind of LCD screen I’m talking about is the kind you probably remember from those old solar-powered calculators we all had before we traded them in for smartphones. These are called twisted nematic (TN) LCD, and they’re pretty cheap to make. In fact, I found a supplier on AliBaba.com that quoted me $5 per 10×10 cm display, but there are a few problems I need to overcome.

    Old Casio calculator
    軍事用懐中電灯/Wikimedia Commons

    The first problem is that to set up the machinery and parts needed to make the custom displays costs money, about $300 USD according to one quote I received. The second problem is that there’s a minimum order cost of 100 units from most suppliers. That means the base investment to bring this to life is going to cost somewhere in the neighborhood of $800, which is money I don’t have. But wait, there’s more.

    The next problem, which is just as significant as the first two, is I have no idea how to power and manipulate a TN LCD display with 120 (3 + 9 + 27 + 81) segments. What I do know is the basics of microcontroller programming and electronics, so at least I have a place to start from.

    The plan

    I need money and I don’t have it. The solution is crowd sourcing. I’m going to attempt to get this done via Crowd Supply and if they won’t have me, I’ll do my best on Kickstarter. This introduces another problem (of course) which is: I can’t wait until my project is funded and promised to receive a sample, because once I have the sample in hand, I need to design a PCB that will incorporate all the components I’ll need to make the clock work.

    If I want to move from funding to fulfillment as fast as possible, I need to know how to work with TN LCD displays; I need to know how to work with the LCD driver chips; I need to know how to design PCBs; and I need to know how to use the ESP32 microcontroller to manage it all. I’ll probably have to drop $300 on the one-time tooling myself so I can have the sample in hand ahead of the crowdfunding campaign.

    Is it a lot? Yes. Is it manageable? Also yes. Over the next months I’m going to write about my journey building up the skill set I need in order to pull this off. To start, I’m going to dig through the random components that came with the Arduino starter set I have that I never worked through. I know there’s at least a single-digit seven-segment LCD in there somewhere and I’m going to make it do stuff.

    If you like what I do, send me a dollar to help pay for the infrastructure!

Share with