[Electronic Wizard] explains that understanding how to apply the 74HC595 can increase the quality of your projects and also help keep the demands on the number of pins from your microcontroller to manageable levels. If you’re interested in the gory details you can find a PDF datasheet for the 74HC595 such as this one from Texas Instruments.
[Electronic Wizard] explains further that a shift register is like a small one byte memory where its data is directly available on its eight output pins, no input address required. When you pulse the clock pin (CLK) each bit in the eight bit memory shifts right one bit, making room for a new bit on the left. The bits that fall off the right hand side can daisy chain into another 74HC595 going out on pin 9 and coming in on pin 14.
At one point in time mechanical seven segment displays were ubiquitous, over time many places have replaced them with other types of displays. [Sebastian] has a soft spot for these old mechanically actuated displays and has built an open-source 7-segment display with some very nice features.
We’ve seen a good number of DIY 7-segment displays on this site before, the way [Sebastian] went about it resulted in a beautiful well thought out result. The case is 3D printed, and although there are two colors used it doesn’t require a multicolor 3d printer to make your own. The real magic in this build revolves around the custom PCB he designed. Instead of using a separate electromagnets to move each flap, the PCB has coil traces used to toggle the flaps. The smart placement of a few small screws allows the small magnets in each flap to hold the flap in that position even when the coils are off, greatly cutting down the power needed for this display. He also used a modular design where one block has the ESP32 and RTC, but for the additional blocks those components can remain unpopulated.
The work he put into this project didn’t stop at the hardware, the software also has a great number of thoughtful features. The ESP32 running the display hosts a website which allows you to configure some of the many features: the real-time clock, MQTT support, timer, custom API functions, firmware updates. The end result is a highly customizable, display that sounds awesome every time it updates. Be sure to check out the video below as well as his site to see this awesome display in action. Also check out some of the other 7-segment displays we’ve featured before.
We all know and love the humble seven-segment display, right? And if you want to make characters as well as numbers, you can do an okay job with sixteen segments off the shelf. But if you want something more art-deco, you’ll probably want to roll your own. Or at least, [Ben] did, and you can find his designs up on GitHub.
Taking inspiration from [Posy]’s epic investigation of segmented displays, [Ben] sat down with a sketchpad and created his own 20-segment font that displays numbers and letters with some strange, but frankly lovely, segment shapes. There is no center line, so letters like “T” and numbers like “1” are a little skewed, but we think it’s charming.
Displays are crucial to modern life; they are literally everywhere. But modern flat-panel LCDs and cheap 7-segment LED displays are, well, a bit boring. When we hackers want to display the progress of time, we want something more interesting, hence the plethora of projects using Nixie tubes and various incantations of edge-lit segmented units. Here is [upir] with their take on the simple edge-lit acrylic 7-segment design, with a great video explanation of all the steps involved.
Engraving the acrylic sheets by hand using 3D printed stencils
The idea behind this concept is not new. Older displays of this type used tiny tungsten filament bulbs and complex light paths to direct light to the front of the display. The modern version, however, uses edge-lit panels with a grid of small LEDs beneath each segment, which are concealed within a casing. This design relies on the principle of total internal reflection, created by the contrast in refractive indices of acrylic and air. Light entering the panel from below at an angle greater than 42 degrees from normal is entirely reflected inside the panel. Fortunately, tiny LEDs have a wide dispersion angle, so if they are positioned close enough to the edge, they can guide sufficient light into the panel. Once this setup is in place, the surface can be etched or engraved using a CNC machine or a laser cutter. A rough surface texture is vital for this process, as it disrupts some of the light paths, scattering and directing some of it sideways to the viewer. Finally, to create your display, design enough parallel-stacked sheets for each segment of the display—seven in this case, but you could add more, such as an eighth for a decimal point.
How you arrange your lighting is up to you, but [upir] uses an off-the-shelf ESP32-S3 addressable LED array. This design has a few shortcomings, but it is a great start—if a little overkill for a single digit! Using some straightforward Arduino code, one display row is set to white to guide light into a single-segment sheet. To form a complete digital, you illuminate the appropriate combination of sheets. To engrave the sheets, [upir] wanted to use a laser cutter but was put off by the cost. A CNC 3018 was considered, but the choice was bewildering, so they just went with a hand-engraving pick, using a couple of 3D printed stencils as a guide. A sheet holder and light masking arrangement were created in Fusion 360, which was extended into a box to enclose the LED array, which could then be 3D printed.
[Jens] wanted a subscriber counter for his YouTube channel. He could have gone with a simple OLED, LCD, or LED display, but he wanted something more tactile and interesting. So he built a mechanical 7-segment display instead!
Currently, [Jens]’s channel is in the four-digit subscriber range, so he planned to build a four-digit display. He started by searching for existing projects in this space, and came across the designs of [shiura] on Thingiverse. [shiura] had a 3D printed cam-driven 7-segment digit that runs on a single servo motor. Once armed with four of the digits, he hooked them up to a Pi Pico W to drive them all with four servo outputs. The Pico W is responsible for querying the channel subscriber count online, and updating the display in turn.
It’s a neat build, and [Jens] learned some things along the way—like how Super Lube seemed to ruin filament for him. Ultimately, the build came good, and it looks great. We’ve seen some other mechanical 7-segment builds before, too!
Smart phones have taken the place of a lot of different devices especially as they get more and more powerful. GPS, music and video player, email, and of course a phone are all functions tied up in these general-purpose devices. Another casualty of the smart phone revolution is the humble bedside alarm clock as its radio, alarm, and timekeeping functionalities are also provided by modern devices. [zst123] has a sentimental attachment to the one he used in the 00s, though, and set about restoring it to its former glory.
Most of the issue with the clock involved drift with the timekeeping circuitry. Since it wasn’t accurately keeping the time anymore, losing around 10 minutes a day, the goal to save it was to use NTP to get the current time and a microcontroller to make the correction automatically. Rather than replace everything in the clock except the display, [zst123] is using the existing circuit board and adding an ESP8266 to grab the time from the Internet. A custom driver board reads the current time displayed on the clock directly from the display itself and then the ESP8266 can adjust it by using the existing buttons through a relay wired in parallel.
Using the existing circuitry was certainly a challenge especially since the display was multiplexed, but the LM8562 that came with these clock radios is a common and well-documented chip for driving displays like this, giving [zst123] a leg up over something unlabeled or proprietary. Using NTP is certainly a reliable and straightforward way of getting the current time too but there are a few other options for projects like these like using GPS or even a radio signal.
A kitchen timer is one of those projects that’s well defined enough to have a clear goal, but allows plenty of room for experimentation with functionality and aesthetics. [Hggh]’s exploration of the idea is a clean, Brutalist kitchen timer.
The case for [Hggh]’s kitchen timer is 3D printed with openings for a TM1637 four digit, seven segment display and for a KY-040 rotary encoder with knob attached. The internals are driven by an ATmega328P powered from a 18650 cell with a DW01-P battery protection chip and a TP4056 chip for charging. On the back of the case is a power switch and USB-C connector for power. It looks like the 3D printed case was sanded down to give it a smooth matte surface finish.
All the project files, including the STLs, OpenSCAD code, and KiCAD design, are available on GitHub. This Brutalist kitchen timer project is a nice addition to some of the kitchen timers we’ve featured in the past, including a minimalist LED matrix timer and a Nixie timer with keypad.