I’ve been meaning to get on with this project for ages, it was originally going to be based on the espruino pico but I never quiet got round to sorting it all out.
I even prototyped it as a little webpage
In the end I’ve ended up using a Raspberry Pi Zero and Node-RED to drive it all. It uses a 60 segment RGB LED strip I picked up off ebay. The LED strip is driven by the node-red-node-pi-neopixel node from the function node.
var date = new Date(); //console.log(date); var red = []; var green = []; var blue = []; var b = 125; for (var i=0; i<60; i++) { red.push(0); green.push(0); blue.push(0); } var array = [[]]; var hours = date.getHours(); var hs = ((hours + 12) % 12) * 5; for (var i=0; i<5; i++) { red[hs + i] = b; } var m = date.getMinutes(); green[m] = b; var s = date.getSeconds(); blue[s] = b; for (var i=0; i<60; i++) { array[0].push({ payload: i + "," + red[i] + "," + green[i] + "," + blue[i] }) } return array;
It just needs a nice mount sorting to hang it on the wall.
Further work may include adding a light sensor to vary the brightness depending on the ambient light levels, a nice way to configure a wifi dongle so it can join the network for ntp time updates and so a user could set the timezone.