Binary Burst Clock firmware update


I pulled out the Binary Burst Clock and did some more work on the firmware. The big change is that I’m using a different library for the i2c communications. The one I started with had some issues and I didn’t want to work them out myself. Instead I grabbed Peter Fleury’s i2c library. He has two in the package, one is for chips with full TWI hardware (which is not the case with the ATtiny84 I’m using). The other is a software implementation written in assembly. It’s meant to be included in C projects and is super easy to work with.

I also implemented a test to see if the RTC oscillator is running. If not, a ‘first run’ function will start the oscillator and enable the backup battery. The buttons now work for setting the time, and I’ve migrated from a delay-based time keeping tick to one that uses TIMER1 (also used for debouncing the buttons).

At this point I would say the clock is fully functional. I still want to look into some things like how best to calibrate the oscillator for the RTC. Also of interest to me is a deeper menu system that would allow for things like intensity settings and alternate time displays.

The most up to date code is on the master branch of the repository.

Binary Burst Clock demonstration

Clock reads 12:54

I finally got around to taking some pictures and shooting some video of my assembled clock project. Above you can see it displaying time. Minutes are tracked by the blue LEDs in binary code. Each spire has three digits, when the inner and outer digits are lit it shows a binary five and the next spire starts counting. Hours are displayed as a red LED corresponding to the positions on an analog clock. Here it is 12:54.

After the break you can see the video of the clock in action, as well as a description of what went into the build. You’ll also find some close-up pictures and a bit more info.

Continue reading