When I original wrote the clock’s firmware, it took about 7 seconds to generate a QR code. Of course, this was without refreshing the display. The display needs to be refreshed at least two dozen times a second, and these interruptions extended the QR generation time to around 40 seconds.
This was far too long to generate a QR code every second, but it could definitely update once a minute which is all that was absolutely necessary for a clock. I’ve never done something so computationally intensive on an AVR before, so I just assumed that 45 seconds was a reasonable amount of time. While it would have been nice to update every second, I was amazed I got it to work at all.
Regardless of the fact that my clock doesn’t meet the guidelines for border thickness, he linked to a library that was supposedly able to generate a QR code in less than a second. This got me thinking that it might be worth trying to optimize my code before resigning to a once a minute update.
With my shipment date just around the corner, I thought it’d be fun to discuss what I discovered.