Sometimes we run into real problems restoring old machines. [RedruM69] recently ran into a system with a dead Real Time Clock (RTC) module. These modules were used on computers and all sorts of other equipment, storing time, date, and 100 or so bytes of battery backed SRAM (before the days of cheap, plentiful flash memory). Often an external coin cell would supply power to the module. In some cases though, cost savings would take over, and the battery would be incorporated into the module. Such is the case with many Dallas Semiconductor models, and the benchmarq bq3287 module [RedruM69] was working with. If we’re reading the date code right, the module was produced in mid 1995 so we’re well past the advertised 10 year battery life.
Apparently Texas Instruments is the current owner of this design, and they even have a datasheet online. (PDF link). It turns out that the bq3287 is a descendant of the bq3285, except that the battery pin is internally disconnected. For most people this would mean a search for a compatible replacement. An industrious hacker might even whip up something compatible from modern components. Not [RedruM69] though. He broke out his Dremel tool and cut into the potted case. Exposing the internal connections above pins 16 and 20 allowed him to solder two wires on. Connecting these wires to an external coin cell brought the module back to life.
[RedruM69] isn’t the first one to perform this hack. Sun computers kept their MAC address in chips like this. When the battery went dead, the computer was off the network. Hackers have been cutting the modules open and adding batteries for years. You could always forgo RTC modules completely and use the power grid as your timebase.
Building your own smartwatch is a fun challenge for the DIY hobbyist. You need to downsize your electronics, work with SMD components, etch your own PCBs and eventually squeeze it all into a cool enclosure. [Igor] has built his own ESP8266-based smartwatch, and even though he calls it a wrist display – we think the result totally sells as a smartwatch.
His design is based on a PCB for a wireless display notifier he designed earlier this year. The design uses the ESP-12E module and features an OLED display, LEDs, tactile switches and an FT232R USB/UART interface. Our beloved TP4056 charging regulator takes care of the Lithium-ion cell and a voltage divider lets the ESP8266’s ADC read back the battery voltage. [Igor] makes his own PCBs using the toner transfer method, and he’s getting impressive results from his hacked laminator.
Together with a hand-made plastic front, everything fits perfectly into the rubber enclosure from a Jelly Watch. A few bits of Lua later, the watch happily connects to a WiFi network and displays its IP configuration. Why wouldn’t this be a watch? Well, it lacks the mandatory RTC, although that’s easy to make up for by polling an NTP time server once in a while. How would our readers classify this well-done DIY build? Let us know in the comments!
Like many of us, [Lee] wakes up every morning grumpy and tired. Once he decided to try to do something about it, he settled on making a sunrise alarm clock using NeoPixels. Over the course of thirty minutes the clock illuminates 60 NeoPixels one by one in blue mode to simulate a sunrise.
The clock has three modes: 30-minute sunrise, analog time display, and a seconds counter that uses the full RGB range of the LEDs to light up one for each passing second. It runs on an Arduino Pro Mini knockoff and an RTC module for the sake of simplicity. [Lee] chained NeoPixel strips together in five rows of eight, which allowed him to use a 3×5 font to display the time. The only other electronics are passives to protect the LEDs.
NeoPixels are great, but powering them becomes an issue pretty quickly. [Lee] did the math and figured that he would need 3.4 A to drive everything. He found a 3-outlet USB power adapter that delivers 3.4 A total while shopping at IKEA for an enclosure. [Lee] took his first Instructable from beginner to intermediate level by cracking the adapter open and using two of the USB ports wired in parallel to provide 5 V at 3.4 A. [Lee] has the code available along with detailed instructions for replicating this build. Be sure to check out the demo after the break.
[Daniel] was taking an Embedded systems class, and needed to build an MSP430G2553 microcontroller based final project. Which is why he decided to implement the real time clock using the micro-controller itself, instead of using an external RTC module. This also simplified the hardware used – the microcontroller, a crystal, three analog ammeters, and a few passives were all that he needed. Other than the Ammeters, everything else came from his parts bin. Fresh face plates were put on the ammeters, and the circuit was assembled on a piece of strip board. A piece of bent steel plate served as the housing.
The interesting part is the software. He wrote all of it in bare C, without resorting to using the Energia IDE. He walks through all of the important parts of his code on his blog post. Setting load capacitance for the timing crystal was important, so he experimented with an oscilloscope to see which value worked best. And TI’s Application Note on MSP430 32-kHz Crystal Oscillators (PDF) proved to be a useful resource. Three PWM output’s run the three ammeters which indicate hours, minutes and seconds. Push-button switches let him set the clock. See a short demo of the clock in the video below.
It’s been a few weeks since the incident where Ahmed Mohamed, a student, had one of his inventions mistaken for a bomb by his school and the police, despite the device clearly being a clock. We asked for submissions of all of your clock builds to show our support for Ahmed, and the latest one is the tiniest yet but still has all of the features of a full-sized clock (none of which is explosions).
[Markus]’s tiny clock uses a PIC24 which is a small yet powerful chip. The timekeeping is done on an RTCC peripheral, and the clock’s seven segment displays are temporarily lit when the user presses a button. Since the LEDs aren’t on all the time, and the PIC only consumes a few microamps on standby, the clock can go for years on a single charge of the small lithium-ion battery in the back. There’s also a phototransistor which dims the display in the dark, and a white LED which could be used as a small flashlight in a pinch. If these features and the build technique look familiar it’s because of [Markus’] tiny MSP430 clock which he was showing around last year.
Both of his tiny clocks are quite impressive for their size, features, and power consumption. Some of the other clocks we’ve featured recently include robot clocks, clocks for social good, and clocks that are not just clocks (but still won’t explode). We’re suckers for a good clock project here, so keep sending them in!
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.