Ok, so sandwiching a clock on clock wasn’t the greatest idea there – what would be the next marginally smarter idea? Adding wake up alarm! In the vast sea of alarm implementations there isn’t much to be celebrated in terms of unique and clever design. So going for the context around it: How about hose dark moments in the middle of night when one suddenly wakes up wondering if the alarm goes off at the next moment.
It is 2016 and we are about to have flying cars soon, it would about the time to start turning old non-smart objects to smart ones. How would one make a wall clock smarter, say by an epsilon?
For long I have played with the idea on turning the most mundane objects into something completely different – so when I saw ¢ 50 Ikea RUSCH wall clock, made from semi-transparent plastic I knew it would be an opportunity to add some oddball functionality there. Ikea tuning it is, lets start putting the steroids in.
It is holiday season, and I see a pattern with several of my friends. They have started tuning their xmas tree lights. Thus, challenge accepted. Now, I am not going for excessive amount of lights; 240 RGB-pixels are plenty for me,instead I’ll go for the tech in it.
It is tempting to think dream led pixels strips as one-dimensional displays, but when the pixel count of the display is limited, and individual dots are far apart, and surrounding brightness can be anything between zero lux and full on daylight, number of factors come to play in design – even if the design is just a bit-more-advanced x-mas tree decoration. Here are some of my experiences when playing around with these.
I have been using TM1809 and APA 102c programmable “dream” LED strips and while they are easy to use in principle, there has been number of issues to troubleshoot. Below some findings:
- 12Volt is bad. Programmable 12V led strips seem to drive individual pixels with current-limiting resistors, thus never getting good efficiency: 12 volt source voltage dropped to 3..4 volt for LED results roughly 60%..75% power dissipation into resistor. See, there goes that five start energy star rating.
- 5 Volt led strips have issues too. On greater lengths (I have a four meter with 240 LED pixels) these seem to suffer from voltage drop when pushed to highest brightness levels. The drop is easy to detect with multimeter, my APA strip voltage got down to three volts on the far end, resulting nasty flickering for last meter or so. One can overcome this by installing extra cables to support 5V and ground from both ends of the strip.
- Since I am cheap and I like to source the cheapest option from China, the quality is what it is; the picture above tells story shows mass-produced connector with, eh, less than stellar success in soldering work. (Yes, it still works, but how long? Reliably? Also, we run about 10 Amps over those connectors for brighter moments – any additional resistance adds to rather uncontrolled heat dissipation there)
- APA102c != APA102c. Identical LED pixel type does not guarantee color channel order: I have a four meter and a one meter string, both with APA 102c pixels. Magically the red and the blue channels have been swapped between those strips. This presents some challenges if one were to design a controller that can drive number of different led strips. (No, this is not a wiring issue, it is in the chip itself.)
- Five volt led strips hog quite nice amount of current – I drive 240 pixel strip with 50W/10A power supply – and it is barely enough for it. Now, take another look at those connectors in the pic above.
- When thinking about brightness levels, eight bits per colour is ok, but since we are talking about led strips and not displays, their intended use environment may present additional challenges:
- at the darkest levels human eye can easily detect the difference between lowest levels 0,1,2,3 – brightness change is visible as a jump
- at these darkest levels, LED strip color reproduction becomes, quantized – again, human eye can see this as a color change. Note that in dark human eye will detect colors from these strips as they still are bright enough if they are the only light source.
- currently common libraries (aka FastLED) that support these strips on Arduino or Raspberry PI do not support global brightness setting (on APA 102c it would add 5 bits to brightness control)
- For smooth animation, the same applies as for screens: 24 Hz will do, 30 Hz is better, 70Hz is even better. Above that I cannot see any difference.
- RGB led strips do not provide high CRI light. Yes, one can set the color freely, but it will not result in great quality light for color rendering. Not today at least. Maybe when RGBW strips become more common.