If a hacker guardian angel exists, then we’re positive she or he was positively AWOL for six lengthy years from [Aaron Eiche]’s life as he labored on perfecting and making his Christmas Countdown clock. [Aaron] began this binary clock undertaking in 2016, and solely managed to make it work as anticipated in 2022 after a string of failures.
In case you’d like to take a look at his accomplished undertaking first, then reduce the chase and head over to his Github repository for his last, working model. The {hardware} is fairly simple, and never totally different from many comparable initiatives that we’ve seen earlier than. A microcontroller drives a set of LED’s to point out the time remaining till Christmas Day in binary format. The LEDs present the variety of days, hours, minutes and seconds till Christmas and it makes use of two buttons for changes and modes. An RTC part wasn’t included within the first model, however it appeared and disappeared alongside the six yr journey, earlier than discovering a spot within the last model.
The worth of this undertaking doesn’t lie within the last model, however quite within the classes different hackers, specifically these nonetheless within the shallow finish of the pool, can be taught from [Aaron]’s errors. Fortunately, the clock decoration just isn’t very costly to construct, so [Aaron] may persevere in bettering it regardless of his annual facepalm moments.
Lesson 1 : ALWAYS confirm circuit performance and verify Schematic / PCB structure earlier than fabrication
The Christmas decoration just isn’t really a “binary” clock, however quite a binary-coded-decimal clock utilizing six bits as an alternative of the extra normal 4 or eight bits for BCD encoding. [Aaron] would want 4 banks of six LEDs every to show variety of days, hours, minutes and seconds. Including a pair of buttons for management introduced his GPIO rely to 26. To make issues less complicated, he determined to make use of simply two banks of six LEDs every, with a further pair of LEDs to point if the show was displaying days and hours or minutes and seconds. This introduced down his GPIO rely to a extra cheap quantity. With this characteristic checklist, [Aaron] laid out the primary model of his PCB, consisting of an ATmega328, the LEDs, a coin battery for backup energy, and a pair of capacitive contact buttons. And that is the place his issues began. The connections between microcontroller and programming header have been unsuitable. And the capacitive buttons by no means labored as a result of capacitive pickup alerts have been by no means constant. Past this, his reminiscence is a bit fuzzy to inform us if the remainder of the circuit really labored or not.
Lesson 2 : ALWAYS verify producer’s information sheets and confirm schematic symbols and footprints
For model 2, he ditched capacitive buttons for bodily ones, used an I2C primarily based LED driver to scale back GPIO rely, and added a RTC chip with battery backup. This model would’ve labored if he hadn’t tousled the connections to the 4 pin crystal related to the microcontroller.
Annoyed together with his earlier makes an attempt, [Aaron] determined to design a proof-of-concept prototype board primarily based on model 2, simply to check the entire performance. However on this try too, he failed miserably with a number of new points cropping up. He managed to repair a minor monitor routing concern for the ATmega328 with a bodge wire.
For the reason that LED driver and the RTC chip each used the I2C bus, the variety of GPIO pins required was lowered to a big extent. To check if he may use a smaller controller as an alternative of the ATmega328, he added an choice for mounting an ATtiny45 microcontroller. However all of this effort was just about laid to waste because of the unsuitable footprint used for the LED driver which prevented him from getting any helpful check outcomes. On hindsight, he may need had a better probability of success if he had solely fastened the wrong crystal footprint from the earlier model.
Lesson 3 : ALWAYS maintain notes of your progress
An upgraded model 3 was alleged to have fastened the earlier errors, however sadly, added some new ones in the course of the strategy of modification. [Aaron] didn’t preserve any notes or data, and within the few years since then, he has forgotten what labored and what didn’t.
Lesson 4 : See Lesson 2
Model 4 was an enormous improve. The discrete LEDs and I2C LED driver have been changed with WS2812 RGB LEDs, and the ATmega was changed with an ESP8266 module. Additionally, the RTC part was eliminated, in anticipation that the ESP8266 may get time over NTP. A buzzer was thrown in to play tinny christmas tunes. However [Aaron] failed as soon as extra when he used WS2812 footprints within the design, however soldered SK6812 LEDs which he had mendacity round. Whereas the 2 units are comparable, the mapping between their pin numbers and pin features is rotated by 180 levels, which primarily resulted in an influence provide quick and a brilliant scorching PCB. An intermediate model 4.5 was tried, however like model 3, he doesn’t have any written notes or recollection of what went unsuitable.
Lesson 5 : See the entire above
For the following iteration, [Aaron] changed the ESP8266 with an ESP32 module however missed including the auto-reset circuit making it troublesome to program the machine. Programming was additional hampered resulting from two of the programming pins being shorted throughout meeting. He additionally added the RTC part as soon as once more, simply in case it was not not doable for the ESP32 to acquire time over NTP. As a result of world pandemic and the resultant chip scarcity, he had bother sourcing a voltage regulator in the identical footprint that was on the PCB. And in model 5, he as soon as once more made the rookie mistake of utilizing the unsuitable footprint for the RTC chip. So as to add to his woes, he used some ‘cool’ tiny push buttons, however they turned out to be so tiny as to be virtually unimaginable to make use of.
Lesson 6 : Persevere, and you’ll succeed
Having repeated all of his errors at the very least twice over his 5 earlier makes an attempt, [Aaron] lastly wizened up sufficient to take care whereas designing and assembling his final model. And was rewarded with a completely functioning Christmas Countdown Binary Clock.
Binary clocks appear to be a favorite amongst hackers, possibly as a result of muggles can’t learn them, and we commonly find yourself that includes some superb initiatives right here on Hackaday. However it might be attention-grabbing to know if any of our readers had a undertaking that went by extra iterations or took longer than [Aaron]’s monumental undertaking. Tell us within the feedback.