A lot of microcontroller projects out there need some sense of wall-clock time. Whether you’re making (yet another) crazy clock, logging data, or just counting down the time left for your tea to steep, having access to human time is key.
The simplest solution is to grab a real-time-clock (RTC) IC or module. And there’s good reason to do so, because keeping accurate time over long periods is very hard. One second per day is 1/86,400 or around eleven and a half parts per million (ppm), and it’s tricky to beat twenty ppm without serious engineering.
Good RTC ICs like Maxim’s DS3231, used in the Chronodot, can do that. They use temperature correction logic and a crystal oscillator to get as accurate as five parts per million, or under half a second per day. They even have internal calendar functions, taking care of leap years and the day of the week and so on. The downside is the cost: temperature-compensated RTCs cost around $10 in single quantity, which can break the budget for some simple hacks or installations where multiple modules are needed. But there is a very suitable alternative.
What we’re looking for is a middle way: a wall-time solution for a microcontroller project that won’t break the bank (free would be ideal) but that performs pretty well over long periods of time under mellow environmental conditions. The kind of thing you’d use for a clock in your office. We’ll first look at the “obvious” contender, a plain-crystal oscillator solution, and then move on to something experimental and touchy, but free and essentially perfectly accurate over the long term: using power-line frequency as a standard.
Of all the appliances in your house, perhaps the most annoying is a microwave with a flashing unset clock. Even though a lot of devices auto-set their time these days, most appliances need to have their time set after being unplugged or after a power outage. [Tiago] switches off power to some of his appliances while he’s at work to save a bit of power, and every time he plugs his microwave back in he has to manually reset the clock.
Thankfully [Tiago] wrote in with his solution to this problem: an add-on to his microwave that automatically sets the time over the network. [Tiago]’s project uses an ESP8266 running the Lua-based firmware we’ve featured before. The ESP module connects to [Tiago]’s WiFi network and pulls the current time off of his Linux server.
Next, [Tiago] ripped apart his microwave and tacked some wires on the “set time” button and on the two output pins of the microwave’s rotary encoder. He ran all three signals through optoisolators for safety, and then routed them to a few GPIO pins on his ESP module. When the microwave and the ESP module are powered up, [Tiago]’s Lua script pulls the time from his server, simulates a press of the “set time” button, and simulates the rotary encoder output to set the microwave’s time.
While [Tiago] didn’t post any detailed information on his build, it looks like a great idea that could easily be improved on (like adding NTP support). Check out the video after the break to see the setup in action.
[Bob’s] Pac-Man clock is sure to appeal to the retro geek inside of us all. With a tiny display for the time, it’s clear that this project is more about the art piece than it is about keeping the time. Pac-Man periodically opens and closes his mouth at random intervals. The EL wire adds a nice glowing touch as well.
The project runs off of a Teensy 2.0. It’s a small and inexpensive microcontroller that’s compatible with Arduino. The Teensy uses an external real-time clock module to keep accurate time. It also connects to a seven segment display board via Serial. This kept the wiring simple and made the display easy to mount. The last major component is the servo. It’s just a standard servo, mounted to a customized 3D printed mounting bracket. When the servo rotates in one direction the mouth opens, and visa versa. The frame is also outlined with blue EL wire, giving that classic Pac-Man look a little something extra.
The physical clock itself is made almost entirely from wood. [Bob] is clearly a skilled wood worker as evidenced in the build video below. The Pac-Man and ghosts are all cut on a scroll saw, although [Bob] mentions that he would have 3D printed them if his printer was large enough. Many of the components are hot glued together. The electronics are also hot glued in place. This is often a convenient mounting solution because it’s relatively strong but only semi-permanent.
[Bob] mentions that he can’t have the EL wire and the servo running at the same time. If he tries this, the Teensy ends up “running haywire” after a few minutes. He’s looking for suggestions, so if you have one be sure to leave a comment. Continue reading “Pac-Man Clock Eats Time, Not Pellets”→
We’ve always wondered why we have indoor plumbing if it isn’t hooked up to our coffee pots. We probably drink as much coffee as water anyway, so why not just hook up a water line to refill the pot? [Loose Cannon] aka [LC] has been working on just that problem, with a whole lot of extra features, creating a very robust automatically-filled, gravity-fed, vacuum-sealed water tank for whatever appliance you have that could use it, including your coffee pot.
[LC] tapped into the 1/4″ water line from the ice maker, which has the added bonus of being a common size for solenoid valves. He’s using an eTape sensor to measure the water level in the reservoir, but he ALSO is using a flow meter in the line itself to double-check that the reservoir won’t overflow. The flow meter allows a hard limit to be set for the maximum amount of water allowed into the tank. He’s used an Arduino Micro to tie the project together, which also handles a real-time clock so the tank can be filled on a schedule.
The tank that [LC] was trying to fill was vacuum-sealed as well, which made things a little trickier. Without a vacuum on the tank, the water would just run out of the overflow valve. This is an interesting project that goes way beyond the usual automatic water supplies for coffee pots we’ve seen before.
Once upon a time, a woodworker met another woodworker who happened to have a tree business. They struck a deal stating that the first woodworker would dry the sawn boards provided by the second and both would share the lumber. That’s exactly what happened to [Tim], which led to his entry in The Hackaday Prize.
[Tim] does a great job explaining his build of the kiln itself, his controls, and the gist of running the thing. The idea is to pull moisture out of the wood at just the right speed. Otherwise, the boards might check on the outside, honeycomb on the inside, or bear residual tension. He’s using a dehumidifier to pump dry air into the kiln and a control system to both monitor the relative humidity in the kiln and to dry the stock down to a moisture content in the 6-8% range.
The kiln is built from slightly blemished pallet rack shelving that [Tim] cut to suit his needs. He skinned it with 1/2″ insulation boards sealed with aluminium tape and plans to add sheet metal to protect the insulation.
[Tim] wanted to control both a fan and the dehumidifier, monitor relative humidity in the kiln, log the data, and send it to the internets. For this, he has employed an Arduino Due, a DHT-22, an RTC, a relay board, an Ethernet shield, and an LCD to show what’s happening. The hardware is all working at this point, and the software is on its way. Check out his entry video below.
Looking for a new clock but hate the fact that all the numbers are always in the correct order? Look no further than [Andy]’s topsy turvy clock which correctly tells time despite the fact that the numbers on the face of the clock are in random positions.
At first glance, the clock looks fairly normal despite the mixed-up numerals. Upon closer inspection, the clock is much more than it appears to be. A battery backed real-time clock keeps track of time, and a microcontroller turns the hands of the clock to where they need to be. The clock uses optical sensors to make sure the hands are in the correct starting position when it is first powered on.
Check out the video below for a better illustration of what the clock looks like when in operation. The hour hand is always pointing at the correct hour, and the minute hand starts every five minutes at the number it would have started at on a normal clock, i.e. at 1:15 the hour hand will point at “one” and the minute hand will point at “three”.
We love this very interesting and unique take. It was inspired by a few other clocks, including a version of the infamous Vetinari “random tick” clock which will drive you crazy in a different way.
We don’t think we’ve seen an Infinity Mirror Clock before, but we love this new twist on an old favorite. Different colors distinguish between seconds, minutes and hours, and an additional IR sensor detects when someone is directly in front of the clock and switches the LEDs off, allowing it to be used as a normal mirror. This build is the work of [Dushyant Ahuja], who is no stranger to hacking together clocks out of LEDs. You can tell how much progress he’s made with the mirror clock by taking a glance at his first project, which is an impressive creation held together by jumbles of wire and some glue.
[Dushyant] has stepped up his game for his new clock, attaching an LED strip along the inside of a circular frame to fashion the infinity mirror effect. The lights receive a signal from an attached homemade Arduino board, which is also connected to a real-time clock (RTC) module to keep time and to a Bluetooth module, which allows [Dushyant] to program the clock wirelessly rather than having to drag out some cords if the clock ever needs an adjustment.
Stick around after the jump for a quick demonstration video. The lights are dazzling to watch; [Dushyant] inserted a stainless steel plate at the center of the circle to reflect the outer rim of LEDs. After a quick rainbow effect, it looks like the mirror enters clock mode. See if you can figure out what time it is. For a more step-by-step overview of this project, swing by his Instructables page.