For many people, these last few weeks have been quite an adjustment. When the normal routine of work or school is suddenly removed, it’s not unusual for your internal clock to get knocked out of alignment. It might have started with struggling to figure out if it was time for lunch or dinner, but now it’s gotten to the point that even the days are starting to blur together. If it takes more than a few seconds for you to remember whether or not it’s a weekday, [whosdadog] has come up with something that might help you get back on track.
Rather than showing the time of day, this 3D printed clock tells you where you are in the current week. Each day at midnight, the hand will advance to the center of the next day. If you wanted, a slight reworking of the gearing and servo arrangement on the rear of the device could allow it to sweep smoothly through each day. That would give you an idea of your progress through each 24 hour period, but then again, if you don’t even know if it’s morning or night you might be too far gone for this build anyway.
The clock’s servo is driven by a Wemos D1 Mini ESP8266 development board, which naturally means it has access to WiFi and can set itself to the current time (or at least, day) with NTP. All you’ve got to do is put your network information into the Sketch before flashing it to the ESP, and you’re good to go.
The elegance of Power over Ethernet (PoE) is that you can provide network connectivity and power over a single cable. Unfortunately not nearly enough hardware seems to support this capability, forcing intrepid hackers to take matters into their own hands. The latest in this line of single-cable creations is this beautiful Vacuum Fluorescent Display (VFD) clock from [Glen Akins].
One of the key advantages VFDs have over their Nixie predecessors is greatly reduced energy consumption, and after [Glen] ran the numbers, he saw that a display using six VFD tubes could easily be powered with standard PoE hardware. With this information, he started designing the PCB around the early 1990s era IV-12 tube, which has the advantage of being socketed so he could easily remove them later if necessary.
[Glen] first had to create a schematic and PCB footprint for the IV-12 tube that he could import into Eagle, which he was kind enough to share should anyone else be working with these particular tubes down the line. After a test of the newly designed socket was successful, he moved onto the rest of the electronics.
The clock is powered by a Microchip PIC18F67J60, which connects to the Ethernet network and pulls the current time down from NTP. After seeing so many clocks use an ESP to connect to the Internet over WiFi, there’s something refreshing about seeing a wired version. The tube segments are driven by a HV5812, also Microchip branded. Lastly, [Glen] used a number of DC/DC converters to generate the 1.5 V, 3.3 V, 5 V, and 25 V necessary to drive all the electronics and VFDs.
The Myst fans in the audience will love this project because it displays the 25-hour timekeeping system of the D’ni. The hardware hackers will lean a little closer to their screen because it does so with custom made 25-segment LEDs, and the precision obsessed will start breathing heavily when they hear it maintains an accuracy of 0.001 seconds. As for which of those camps creator [Mike Ando] most identifies with, we can’t say. But we definitely respect his style.
We’ll spare you the in-depth description of the base-25 number system apparently used in the Myst franchise. If you’re interested enough you can click on through to the project’s Hackaday.io page and learn how to actually read the clock. Presumably you’ll then come back here and leave your comment in Klingon.
Let’s instead jump right to the part that really gets us excited, those custom displays. To create them, [Mike] cut the face out of black acrylic with a laser, and filled each void with a mixture of clear resin and very fine gypsum plaster. Getting the mix right can be a little finicky as the plaster can clump up, but the end result diffuses the light nicely. The acrylic front panel and a couple of cardboard “gaskets” to keep the light from leaking onto adjacent segments is then stacked on top of a PCB with corresponding 0603 SMD LEDs.
Beyond the soul-crushing number of wires required to hook everything up internally, the rest of the project is relatively straightforward. It uses a WeMos D1 Mini to connect to the WiFi network and pull the current time down from the geographically closest NTP server every couple of hours. Rather than putting a temperature controlled oscillator on the board, [Mike] has decided to pin his accuracy on a constantly on Internet connection and aggressive synchronizations.
If this seems counter-intuitive because a VGA interface is an analogue output rather than a digital input, then you are correct to smell a rat. And he comes clean in his first sentence, as he’s not using the VGA lines themselves but the I2C interface that is a feature of all but the most basic of VGA cards. This is the means by which a plug-and-play operating system can identify a monitor’s capabilities, but there’s little to stop it being used for other purposes. In this case an Arduino fed by a 1-pulse-per-second timing signal from a temperature compensated crystal oscillator provides the I2C peripheral which is polled by NTPd.
The clock uses eight individual 8 x 8 LED arrays contained in a 3D printed enclosure that hinges in the middle. When opened up the clock has a usable resolution of 8 x 64, and when its folded onto itself the resolution becomes 16 x 32.
This variable physical resolution allows for alternate display modes. When the hardware detects that its been folded into the double-height arrangement, it goes into a so-called “Big Clock” mode that makes it easier to see the time from a distance. But while in single-height mode, there’s more horizontal real estate for adding the current temperature or other custom data. Eventually [Alejandro] wants to use MQTT to push messages to the display, but for now it just shows his name as a placeholder.
The key to the whole project is the hinged enclosure and the reed switch used to detect what position it’s currently in. Beyond that, there’s just an ESP32 an some clever code developed with the help of the MD_Parola library written for MAX7219 and MAX7221 LED matrix controllers. [Alejandro] has published the code for his clock, which should be helpful for anyone who’s suddenly decided that they also need a folding LED matrix in their life.
The concept here is fairly simple: there’s a text file in /boot that contains the truncated names of all the talks and workshops in the schedule, one per line, and each line starts with the time that particular event is scheduled for. The script that [vgrsec] wrote opens this text file, searches for the lines beginning with the current time, and generates the appropriate SSIDs. With the number of tracks being run at DerbyCon, that meant there could be as many as five SSIDs generated at once.
Now in theory that would be enough to pull off this particular hack, but there’s a problem. The lack of an RTC on the Raspberry Pi means it can’t keep time very well, and the fact that the WiFi adapter would be busy pumping out SSIDs meant the chances of it being able to connect to the Internet and pull down the current time over NTP weren’t very good.
As the system was worthless without a reliable way of keeping time, [vgrsec] added an Adafruit PiRTC module to the mix. Once the time has been synchronized, the system could then run untethered via a USB battery bank. We might have put it into an enclosure so it looks a little less suspect, but then again, there were certainly far more unusual devices than this to be seen at DerbyCon.
Of course, if you’re OK with just dumping the entire schedule out at once and letting the user sift through the mountain of bogus SSIDs themselves, that’s even easier to accomplish.
For those who haven’t seen any of [Andreas Spiess]’ YouTube videos, you’ll know that he pokes a bit of fun at Swiss stereotypes such as precision and punctuality. But really, having a clock that’s supposed to synchronize to one of the many longwave radio atomic clocks sprinkled around the globe and yet fails to do so is irksome to even the least chrono-obsessive personality. His IKEA clock is supposed to read signals from station DCF77 in Germany, but even the sensitive receivers in such clocks can be defeated by subterranean locales such as [Andreas]’ shop. His solution was to provide a local version of DCF77 using a Raspberry Pi and code that sends modulated time signals to a GPIO pin. The pin is connected to a ferrite rod antenna, which of course means that the Pi is being turned into a radio transmitter and hence is probably violating the law. But as [Andreas] points out, if the power is kept low enough, the emissions will only ever be received by nearby clocks.