Fail Of The Week: Epic 312 Weeks Of Fixing A Broken Project | Buff Tech

If a hacker guardian angel exists, then we’re positive she or he was undoubtedly 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 minimize the chase and head over to his Github repository for his remaining, working model. The {hardware} is fairly easy, and never totally different from many related initiatives that we’ve seen earlier than. A microcontroller drives a set of LED’s to indicate 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, but it surely appeared and disappeared alongside the six yr journey, earlier than discovering a spot within the remaining model.

The worth of this undertaking doesn’t lie within the remaining model, however reasonably within the classes different hackers, specifically these nonetheless within the shallow finish of the pool, can study from [Aaron]’s errors. Fortunately, the clock decoration isn’t very costly to construct, so [Aaron] might persevere in enhancing it regardless of his annual facepalm moments.

Lesson 1 : ALWAYS confirm circuit performance and test Schematic / PCB format earlier than fabrication

The Christmas decoration isn’t actually a “binary” clock, however reasonably a binary-coded-decimal clock utilizing six bits as an alternative of the extra typical 4 or eight bits for BCD encoding. [Aaron] would wish 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 exhibiting days and hours or minutes and seconds. This introduced down his GPIO rely to a extra affordable quantity. With this function listing, [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 test producer’s knowledge 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 along with his earlier makes an attempt, [Aaron] determined to design a proof-of-concept prototype board primarily based on model 2, simply to check all the 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 difficulty 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 diminished to a big extent. To check if he might use a smaller controller as an alternative of the ATmega328, he added an possibility 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 take a look at outcomes. On hindsight, he may need had a better likelihood of success if he had solely mounted the inaccurate crystal footprint from the earlier model.

Lesson 3 : ALWAYS preserve notes of your progress

An upgraded model 3 was alleged to have mounted the earlier errors, however sadly, added some new ones throughout the means of modification. [Aaron] didn’t keep any notes or information, and within the few years since then, he has forgotten what labored and what didn’t.

Lesson 4 : See Lesson 2

Model 4 was a giant 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 might 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 gadgets are related, the mapping between their pin numbers and pin capabilities is rotated by 180 levels, which primarily resulted in an influence provide quick and a brilliant sizzling 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 all the above

For the subsequent iteration, [Aaron] changed the ESP8266 with an ESP32 module however missed including the auto-reset circuit making it tough to program the machine. Programming was additional hampered attributable to 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 attainable for the ESP32 to acquire time over NTP. As a result of world pandemic and the resultant chip scarcity, he had hassle 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 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 totally functioning Christmas Countdown Binary Clock.

Binary clocks appear to be a favorite amongst hackers, perhaps as a result of muggles can’t learn them, and we frequently find yourself that includes some superb initiatives right here on Hackaday. However it could be fascinating 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.

Fail Of The Week: Epic 312 Weeks Of Fixing A Broken Project