When we recently discussed the skills that we might wish to impart upon a youngster, one of those discussed was the ability to speak more than one language. If any demonstration were required as to why that might be the case, it comes today in [Byfeel]’s Notif’Heure, an ESP8266-powered clock and display (French-language, Google Translate link). If we only watch for English-language projects, we miss much of the picture.
The project began life in April 2018 (Google Translate link) and has since speedily progressed through many software versions to the current v3.2. In hardware terms it’s pretty simple: an ESP8266 development board drives a set of LED matrix displays. In the software though it has the primary function of an NTP-synchronised clock, there is also support for notification display and integration with the Jeedom home automation package.
We’ve featured innumerable ESP8266 clocks over the years, but surprisingly this is the first one with Jeedom integration. With so many to choose from it’s difficult to pick examples to show you, so perhaps it’s time to go to the truly ridiculous with this twelve-ESP monster.
Merci beaucoup au [Erwin] pour le tip!
The archetypal “blink an LED” is a great starter project on any platform, but once the bug takes hold that quickly turns into an exploration of exactly how many LEDs a given microcontroller can drive. And that often leads to Charlieplexing. A quick search yields many copies of The Table describing how many LEDs can be driven by a given number of pins but that’s just the most rudimentary way to describe it. Way back in 2013 [M Rule] developed a clever trick to describe the number of LED matrices which can be driven by a Charlieplexed array of a given size that makes this process much more intuitive. The post may be old, but we promise the method is still fresh.
[M Rule] was specifically looking to drive those big, cheap single color LED matrices which are often used to make scrolling signs and the like. These parts are typically a matrix of LEDs with a row of common cathodes and one of common anodes. Internally they are completely dumb and can be driven by row/column scanning, or any other way a typical matrix can be controlled. The question is, given known matrix sizes, how many can be driven with a a number of Charlieplexed LED drive pins?
The first step is to visualize the 1D array of available pins as a 2D matrix, as seen to the right. Note each numbered pin is the same on the X and Y, thus the black exclusion zone of illegal drive pin combinations slicing across the graph (you can’t drive an LED connected to one pin twice). The trick, if one were to say it resides in a single place, would be titling the axis anode and cathode, representing two “orientations” the drive pins can be put in. With this diagram [M Rule] observed you can simply drop a matrix into the array. If it fits outside the exclusion zone, it can be driven by those pins!
To the left is what this looks like with two 8×8 matrices, one connected between pins 1-8 and 9-16, the other connected between 9-16 and 1-8. This isn’t terribly interesting, but the technique works just as well with single LEDs and any size matrix, including 7-segment displays. Plus as long as an element doesn’t overlap itself it can wrap around the edges leading to some wild visuals, like 14 RGB LEDs on seven pins to the right.
The most extreme examples are pretty exotic. Check out [M Rule]’s post for the crown jewel; 18 pins to drive six 5×7 modules, six 7-segment displays, 12 single LEDs, and 18 buttons!
If this color coded diagram seems familiar, you may be remembering [openmusiclabs]’ excellent diagram describing ways to scan many of buttons. Or our coverage of another trick of matrix topology by [M Rule] from a few weeks ago.
In the practical world we live in, PCBs are often rectangles (or rectangles with rectangles, it’s just rectangles all the way down). When a designer goes to schematic capture things are put down on nice neat grid intersections; and if there isn’t a particular demand during layout the components probably go on a grid too. Routing even the nastiest fractal web of traces is mostly a matter of layers and patience. But if the layout isn’t being done in a CAD tool and needs to be hand assembled free-form this isn’t always as simple. [M Rule] had this very problem and discovered a clever solution, turning things diagonal.
They changed the fitness criteria to the optimization problem that is controlling a lot of LEDs. Instead of minimum pins to drive the goal became “easiest assembly”, which meant avoiding wires snaking back and forth across the layout, a big source of frustration in a big Charlieplexed design. The observation was that if they turned the a rectilinear LED matrix by 45° and wrapped each connection around at the edges it formed what was essentially a large multiplexed matrix. The topology is pretty mind bending, so take a minute to study the illustration and build your mental model.
It looks a little strange, but this display works the same way a normal multiplexed display does but with the added benefit that each trace flows from one side to the other without turning back on itself at any point. To light any LED set the right row/column pair as source/sink and it turns on!
What if you actually need a rectangular display? Well that’s no problem, the matrix can be bent and smooshed as desired to change its shape. At the most extreme the possible display topologies get pretty wild! We’re sure to try thinking laterally next time we need to design an unusual display, maybe there is a more efficient matrix to be found.
[David Johnson-Davies] always wanted an illuminated button matrix for projects, but cost was never very friendly. That all changed when he discovered a cheap source of illuminated pushbuttons on Aliexpress, leading to this DIY 4×4 illuminated button matrix design which communicates over I2C. The button states can be read independently of setting the light pattern, and an optional interrupt signal gets pulled low whenever there is a change detected. Not bad for one PCB plus about $10-worth in components!
The device uses every single pin on an ATtiny88, and because each button gets its own pin the keypresses can be detected with pin-change interrupts. The state reporting of buttons over I2C is unambiguous, even when multiple buttons are pressed simultaneously. A simple protocol provides all the needed functionality, and all connections are brought to the board’s edge to allow for easily tiling multiple panels.
The GitHub repository contains the code and PCB files and [David] helpfully shared the board files to OSH Park and PCBWay for easy ordering. In addition, he provides two demos (Tacoyaki and Tacoyaki+) which are games related to the classic Lights Out to show off the matrix.
20,000 LEDs sounds like an amazing amount of blink. When we start to consider the process of putting together 20,000 of anything, and then controlling them all with a small piece of electronics the size of a postage stamp, we get a little bit dizzy. Continue reading “Lots Of Blinky! ESP32 Drives 20,000 WS2812 LEDs”
We’ve all seen the 3D printed replicas of classic game consoles which house a Raspberry Pi; in fact, there’s a pretty good chance some of the people reading this post have one of their own. They’re a great way to add some classic gaming emulation to your entertainment center, especially compared to the bare PCB chic of just having a Pi hanging off your TV’s HDMI port.
[Victor Heid] loved the look of these miniature consoles, but wanted to challenge himself to design something that was also multi-functional and unique. So he decided to create an NES-inspired case for the Raspberry Pi 3 A+ that doubles as a LED matrix clock with a decidedly retro feel. Frankly, even if it was just a clock we would have been impressed with the final product; but the fact that it’s also a fully functional RetroPie build really goes above and beyond.
It should be obvious just looking at the completed product that [Victor] put a lot of effort into sanding and finishing the 3D printed case. But we don’t have to imagine the process, since he was kind enough to thoroughly detail the steps and materials he used. As you might have guessed, the short version is a lot of filler and a lot of time; but it’s worth looking at the complete write-up if you’ve ever considered trying to make your own printed parts look less…printed. His method of applying the lettering on the front of case using a laser printer, some Mod Podge, and a healthy dose of patience is also something you might want to file away for a future project.
The electronics for this project are exceptionally simple, as [Victor] used the Pimoroni Scroll pHAT HD rather than trying to roll his own LED matrix in such a limited space. So it was just a matter of connecting up the wires to the Pi’s GPIO header and getting the various bits of software talking to each other, which he also details for anyone who might be interested.
It’s been a few months since the Raspberry Pi 3 A+ was unveiled, and we’re finally starting to see projects that make use of the new board’s reduced footprint. The ability of hardware like the A+, combined with the lackluster attempts by manufactures to produce official “mini” systems, seems to have set the stage for hackers to once again outshine commercial offerings. Not that we’re complaining, of course.
Like most pieces of technology, word clocks seem to be getting better and better every year. As hackers get their hands on better microcontrollers and more capable LED controllers, these builds not only look more polished, but get improved features and functions. Luckily for us, the rise of these advanced modular components means they’re getting easier to build too. For an example of these parallel traits, look no further than VERBIS by [Andrei Erdei].
This colorful word clock is powered by an ESP8266, a 8×8 RGB LED matrix, and a WS2812 RGB LED controller module. [Andrei] used the diminutive ESP-01 which can plug right into the LED controller, and just needs a 3.3 VDC regulator board to complete the very compact electronics package.
To keep the LEDs from interfering with each other, [Andrei] has designed a 3D printed grid which fits over the matrix board. On top of that goes a piece of paper that has the letters printed on it. He mentions that he was able to get good results printing this “stencil” out on an inkjet printer by simply running the same piece of paper through a few times; picking up more black ink each time it went through. Judging by the sharp characters seen in the video after the break, the trick worked well.
With his hardware put together, [Andrei] turned his attention to the software. We really think the project shines here, as his clock not only supports NTP for automatically setting the time over the Internet, but offers a full web interface to control various functions such as the LED colors. You can even change the NTP server and network configuration right from the UI, which is a nice touch compared to just hard coding the values into the code. Even if you don’t use the same hardware, the open source control software is definitely something you should look into if you’re building your own word clock.
We recently covered another easy to build word clock that used an LED matrix and not a whole lot else, but it was quite tiny. This build is a much more reasonable size for a desk, but you’ll probably need to break out the laser cutter if you want to get much bigger.
Continue reading “RGB Word Clock Doesn’t Skimp On The Features”