Introduction: An Arduino-based QR-code Clock

I got this idea for a while but I never had the chance to try it out. Friday, a workmate gave me a LCD shield for Arduino and I thought that was the right time to build a clock that comunicate the time through QR-codes. Of course, it's extremely useless (as most of the clocks nowadays).

In the video below you can see the clock booting up and loading 3 different qr-codes (3 minutes)

As all my ideas, it is first sketched on my blog and, as soon as I got time, is realized and published here.
So, if you want to have an insight on my future project have a look at genteautoreggente.com

Step 1: The Hardware

In order to build a QR-clock you need: Actually you can substitute my LCD shield with wathever LCD shield you have. You will need to adapt the code using the libraries of your shield. 

Step 2: The Software

In order to make the clock to work we need some software on the pc and some on the arduino. All the needed code is in the 3 zip files attached to this step.
  • On the pc a python script will check every minute the time, search in the img folder the right QR-code that represent the time and send the pixel trough the serial line.
  • If you want to change the format of the qr-codes shown you can use the bash script to re-download the images (for example I use 24h time format. You could prefer the 12h one). I use google infographic service to produce the qr-codes. It's super fast and doesn't ban my IP also after a lot of requests.
  • On the Arduino, the code will wait for data on the serial line and draw the received data on the LCD shield

Step 3: Future Work

I'm planning to build a cool case for the QR-clock. I'm searching for collaborations for the design of the case and for the fabbrication (laser cutting/3d printing).

Anyone who want to help me can send me a private message. I can offer instructables badges and 'maybe' some months of pro account!


ShopBot Challenge

Participated in the
ShopBot Challenge

Arduino Challenge

Participated in the
Arduino Challenge