I was lucky my friend and fellow "Arduinist" Colin Dooley gave me away a 15-led addressable RGB stripe a while ago. Unfortunately, the Cylon effect (aka Lasrson scanner for those old enough) was already taken as one example from FastLED library, so I had to do something else.
I have chosen the title "Beyond Blink" for my talk, so it would be nice to get something that, while blinking, performed a more useful work. So what I decided was to use the 15-led stripe as some sort of presentations clock, that will help the speaker to know the time elapsed, a new led lit each minute, while of them is blinking each second.
But as many talks are longer than 15 minutes, I repeated the same pattern with changing colours for each next quarter. Red being the last color, since third quarter on. Talks should probably be no longer than 45 minutes anyway.
Later I thought that this contraption may also be of interest for the audience, so they too have some feedback on how time is passing during the talk, so I ended up placing it facing to the public during my talk.
I have made no effort on getting a very accurate time measurement, so I won't be surprised if is the thing is a bit off after half an hour, but if there is shift I assume it would be pretty small. Time starts ticking as soon as you plug it in. I used a USB port on the same laptop used for my presentation and I rushed to finish my talk during the allocated time frame. Looking at it instead of checking your watch during the talk looks likely better too.
I told the audience it would be my Christmas gift for them to post the code, so no matter you celebrate it or not you can grab it from here too.
Hardware-wise you just need three wires to connect the stripe to the Arduino, +5V, GND and data pin. I am using D9 pin as a data pin, but you may change it to any other pin you want. Please note you need FastLED library installed on you Arduino IDE or you get a compile error. For a portable unit you can use an Arduino Pro Mini and a battery or a Nano or Pro Micro and a USB power bank.