----------------------------------------------------------------
TimeCube
┌───────────╴ 
 │╲ ╲ 
 │ ╲ ╲ 
 │ ┌───────────┐
 │ │ UTC │
 │ │ │
 ╵ │ 17:45 │
 ╲ │ │
 ╲│ │
 └───────────┘
I got this little clock a while ago because i thought it looked cool. I didn't really need an extra clock, but i liked how it looked, so i had to find a reason to keep it. I look at a lot of log files, and often, the timestamps are in UTC and not my local time (EST). It usually takes me a few moments to mentally translate a UTC time to EST to get a better idea of the timeline. I would often use google to convert the timestamp from UTC to EST, but i found that, unless im actually trying to convert the time for someone else, I dont really need to know the timestamp in local time. What i really want to know is what time is it NOW in UTC? That gives me a better idea of when the logged event happened. That way, i dont have to keep translating every timestamp i see, i just compare the logs to the current UTC time. So now i set the time in UTC, and have an excuse to keep the clock.
That worked pretty well for a few weeks, and it had a cool side-effect. If you have a clock in UTC, you will start to recognize certain times that line up with events in your daily routine. Things like when you wake up, leave for work, or go to sleep. Those are useful "landmarks" that make it easier to grok the UTC timeline.
Then i ran into a problem. As much as i like this clock, at the end of the day, its a cheap, crappy, quartz clock. It runs slightly fast. So every few weeks, it is a couple minutes ahead. Its not a big deal, but i want to make it more accurate. My plan is to just ditch the quartz clock completely, and make the clock use NTP. I have a few ESP32 chips lying around, and this seems like a good use for them.
Teardown
The clock has a few extra features, like configurable 3 alarms. I dont really care about those. What i care about most is the display.
The Display looks like it has its own controller, which is driven by 4 pins.
[white][white][white][green]
- Green is most likely ground.
- 1 of the Whites is probably 5v
- the other 2 whites might be i2c for data
The controller has the following inscription:
FD1642
AKBANNAG39
I wasn't able to find much about this part, but I did find some info about a "CT1642", which may be similar. [1]
So most of the pins look like they drive the display, i don't care about those. There are 4 other pins left that dont go to the display:
- GND
- VDD
- DATA
- CLK
This appears to confirm my initial assesment. But i still need to figure out what exactly CLK and DATA are.
there is also a "KEY" input. im not sure if that would be one of the white wires or not.
----------------------------------------------------------------
Identifying Voltage
[White] [White] [White] [Green]
 │ │ │ └──── Ground
 │ │ └──────────── ???
 │ └──────────────────── ???
 └──────────────────────────── Voltage In?

I unplugged different wires and replaced them with a ~5v powersupply to determine which wire was for voltage. It appears that Green is ground as expected, and the furthest White wire is what im calling "Voltage in". The display lights up at around 2.5v and gets brighter up to ~3.0v. from 3.0v - 4.0v the display gets flickering artifacts on random segments that should be off. as the voltage increases, the flickering intensifies. after ~4.0v the display has so many artifacts that it is impossible to read the original time. At ~5.3v the display cuts off.
I dont know whats going on here, but i imagine its related to having multiple grounds and possibly phase issues from having 2 power supplies with different voltages.
That shouldnt matter too much going forward. I just need to figure out how to deal with the remaining 2 white wires.
To be continued...
References
[1]: https://github.com/arkroan/CT1642/blob/master/other_info/pics/ct1642_schematic.jpg