[Jeremy Cook] writes to us about a project of his – a bouquet of LED cube flowers. The flowers are PCB cubes made out of small castellated PCBs, each of those having an individually addressable LED in its center. Castellations hold the cubes together mechanically, and thanks to a cleverly chosen pinout, only two different kinds of PCB need to be ordered for building such a flower!
As a vase for these flowers, he decided to use a glass bottle – which would need a cutout to fit a ESP8266-powered NodeMCU board, a controller of choice for the project. After a few different approaches for cutting glass all resulted in the bottles cracking, he gave up on the “clean cut” idea and reused one of the broken bottles, gluing it back together well enough for the aesthetic to work.
[Jeremy] tells us that he’s had help from a hack we covered back in 2017 – using a diode for level shifting, as the ESP8266’s 3.3 V level signals aren’t a good match for WS2812 inputs. From there, the WLED firmware for the ESP8266 ties everything together beautifully. It’s clear that [Jeremy] had a field day designing this, toying with all the ideas and approaches!
Often, financial motivation results in people writing great educational material for hackers. Such is absolutely the case with this extensive documentation blog post on addressable LEDs by [DeRun]. This article could very be named “Addressable LEDs 101”, and it’s a must-scroll-through for anyone, whether you’re a seasoned hacker, or an artist with hardly any technical background and a desire to put LEDs in your creations.
This blog post is easy to read, painting a complete picture of what you can expect from different addressable LED types, and with apt illustrations to boot. Ever wonder which one of the addressable strips you should get from your retailer of choice, and what are the limitations of any specific type? Or, perhaps, you’d like to know – why is it that a strip with a certain LED controller is suspiciously cheap or expensive? You’re more than welcome to, at least, scroll through and fill into any of your addressable LED knowledge gaps, whether it’s voltage drops, color accuracy differences, data transfer protocol basics or dead LED failsafes.
Addressable LEDs have a special place in our hearts, it’s as if the sun started shining brighter after we’ve discovered them… or, perhaps, it’s all the LEDs we are now able to use. WS2812 is a staple of the addressable LED world, which is why we see them even be targets of both clone manufacturers and patent trolls. However, just like the blog post we highlight today mentions, there’s plenty of other options. Either way do keep coming cover a new addressable LED-related hack, like rewriting their drivers to optimize them, or adding 3.3V compatibility with just a diode.
The design is simple, using WS2812 LEDs to backlight numbers to indicate whether they are weekdays, weekends, anniversaries, holidays, or any other dates of importance. The numerical layout is a nifty perpetual design allowing the display to easily accommodate the structure of any month, even those neat and tidy ones that start on Monday.
The design relies on an ESP-01 to communicate with Google Calendar and display the relevant data. It’s all wrapped up in a 3D printed case, with the printed paper template backlit from behind some smoked acrylic giving a surprisingly professional-looking finish.
If you’re tired of picking up your phone for every last thing, this design could be just what you’re after for keeping track of your appointments. Alternatively, you could always go the hard copy route. Video after the break.
NeoPixels, a type of LED strip with individually addressable pixels, are a firm favorite among creators of intricate light effects. They are popular for their versatility and the ease with which you can daisy-chain them. Although the protocol to drive these little LEDs can be rather tricky to implement due to tight signal timing constraints.
However, [Adrian Studer] proved that driving WS2812-based LED strips like the NeoPixel series doesn’t necessarily require hand-optimized assembly code. In fact, it doesn’t require any code at all. He built the NeoPixel Punk Console, a device that creates a light show without even using a microcontroller. Just a handful of 555 timers and some 74HC series logic work together to produce pulses with approximately correct timings.
Operating the device is as easy as tweaking a few potentiometers, just like its namesake the Atari Punk Console. It’s quite a random process though, and it might be impossible to re-create a pattern that you liked. Also, the LEDs mostly light up in primary colors at full power, though [Adrian] plans to make an improved version that drives the red, green, and blue subpixels separately. But the fact that all of this is implemented by just a bunch of 555 timers makes it a rather impressive hack by any standard.
We can still remember when the WS2812 LED first came into our consciousness, way back in the mists of time. The timing diagrams in the datasheet-of-questionable-veracity made it sound quite tricky, with tight timing tolerances and essentially a high-speed two-bit PWM data protocol at 500 kHz. It was a challenge to bit-bang with an ATtiny85 back then, but there’s no way something as old and crusty as an Apple II would be up to snuff, right?
Specifically, [Anders] abuses the 74LS165 parallel-in, serial-out shift register for his dirty work. Instead of bit-banging the WS2812’s “long high is a 1, short high is a 0” signal directly, the first few bits of the shift register are hard-wired to VCC and the last few to GND.
The bits in the middle determine if the pulse shifted out is long or short, and they’re set by the 6502, through a 6522 VIA chip, just like the Apple II would have. Clocking the data out of the shift register handles the timing-critical stuff. Very clever!
Fast Fourier Transforms. Spectrum Analyzers. Waterfall displays. Not long ago, such terms were reserved for high end test gear. But oh, how things have changed! It’s no surprise to many Hackaday readers that modern microcontrollers have transformed the scene as they become more powerful and as a result are endowed with more and more powerful software libraries. [mircemk] has used such a library along with other open source software combined with mostly off the shelf hardware to create what he calls the DIY FFT Spectrum Analyzer. Rather than being a piece of test gear, this artful project aims to please the eye.
The overall build is relatively simple. Audio is acquired via a line-in jack or a microphone, and then piped into an ESP32. The ESP32 runs the audio through the FFT routine, sampling, slicing, and dicing the audio into 16 individual bands. The visual output is displayed on a 16 x 16 WS2812 Led Matrix. [mircemk] wrote several routines for displaying the incoming audio, with a waterfall, a graph, and other visualizations that are quit aesthetically pleasing. Some of them are downright mesmerizing! You can see the results in the video below the break.
Of course the build doesn’t stop with slapping some hardware and a few passive components together. To really be finished, it needs to be encased in something worth displaying. [mircemk] does not disappoint, as a beautiful 3D-printed enclosure wraps it all up nicely.
Most clocks these days have ditched the round face and instead prefer to tell time through the medium of 7-segment displays. [mihai.cuciuc] is bringing the round face to digital clocks with his time-keeping piece, MakeTime.
MakeTime serves two purposes, the first and most obvious one is as a clock. Rather than displaying the time with digits, MakeTime harkens back to round dial clocks by illuminating RGB LEDs along its perimeter to show the position of the minute and hour “hands”. By using 24 LEDs, MakeTime achieves a timing granularity of 2.5 minutes.
The second purpose is as a development platform. [mihai.cuciuc] designed the clock with hacking in mind, opting to build it with components that many are already familiar with, such as a DS3231 RTC and WS2812 LEDs. To make the entire thing Arduino compatible, the microcontroller is an AtMega 328P, that can be connected to through the micro-USB port and CH340 USB-UART IC. If MakeTime outlives its time as a clock, all of the unused GPIO of the 328P are broken out to a single pin header, allowing it to be repurposed in other projects for years to come.