Smoothing Big Fonts On Graphic LCDs

Here’s a neat little trick: take the jaggies out of scaled fonts on the fly! This technique is for use on graphic displays where you might want to scale your fonts up. Normally you’d just write a 2×2 block of pixels for every area where there would have been one pixel and boom, larger font. Problem is, that also multiplies each empty area and you end up with jagged edges in the transitions that really catch your eye.

[David Johnson-Davies] entered big-brain mode and did something much cleverer than the obvious solution of using multiple font files. Turns out if you analyze the smoothing problem you’ll realize that it’s only the angled areas that are to blame, horizontal and vertical scaling are nice and smooth. [David’s] fix looks for checker patterns in what’s being drawn, adding a single pixel in the blank spots to smooth out the edge incredibly well!

The technique has been packaged up in a simple function that [David] wrote to play nicely in the Arduino ecosystem. However, the routine is straightforward and would be quick to implement no matter the language or controller. Keep this one in your back pocket!

Now if all you have on hand is an HD44780 character LCD, that one’s arguably even more fun to hack around on just because you’re so limited on going beyond the hard-coded font set. We’ve seen amazing things like using the custom character slots to play Tetris.

Parking Assistant Helps Back Up The Car Without Going Too Far

Sure, [Ty Palowski] could have just hung a tennis ball from the ceiling, but that would mean getting on a ladder, testing the studfinder on himself before locating a ceiling joist, and so on. Bo-ring. Now that he finally has a garage, he’s not going to fill it with junk, no! He’s going to park a big ol’ Jeep in it. Backwards.

The previous owner was kind enough to leave a workbench in the rear of the garage, which [Ty] has already made his own. To make sure that he never hits the workbench while backing into the garage, [Ty] made an adorable stoplight to help gauge the distance to it. Green mean’s he’s good, yellow means he should be braking, and red of course means stop in the name of power tools.

Inside the light is an Arduino Nano, which reads from the ultrasonic sensor mounted underneath the enclosure and lights up the appropriate LED depending on the car’s distance. All [Ty] has to do is set the distance that makes the red light come on, which he can do with the rotary encoder on the side and confirm on the OLED. The distance for yellow and green are automatically set from red — the yellow range begins 24″ past red, and green is another 48″ past yellow. Floor it past the break to watch the build video.

The humble North American traffic signal is widely recognized, so it’s a good approach for all kinds of applications. Teach your children well: start them young with a visual indicator of when it’s okay to get out of bed in the morning.

Continue reading “Parking Assistant Helps Back Up The Car Without Going Too Far”

Transparent OLED Hitting The Market With Xiaomi’s Mi TV LUX Transparent Edition

One of the major advantages of OLED over LCD panels is that the former can be made using far fewer layers as the pixels themselves are emitting the light instead of manipulating the light from a backlight. This led some to ask the question of whether it’s possible to make an OLED panel that is transparent or at least translucent. As Xiaomi’s new Mi TV LUX OLED Transparent Edition shows, the answer there is a resounding ‘yes’. Better yet, for a low-low price of about $7,200 you can own one of these 55″ marvels.

Transparent OLED technology is not new, of course. Back in 2018 LG was showing off a prototype TV that used one of the early transparent OLED panels. In the video that is embedded after the break, [Linus] from Linus Tech Tips goes hands-on with that LG prototype while at LG in South Korea, while including a number of crucial details from an interview from one of the engineers behind that panel.

As it turns out, merely removing the opaque backing from an OLED panel isn’t enough to make it transparent. In order for an OLED panel to become transparent, the circuitry in the pixel layer and TFT layer need to be aligned as best as possible to allow for many, many tiny holes to be punched through the display.

Looking at [Linus]’s experiences with the LG prototype, it does appear that this kind of technology would be highly suitable for signage purposes, while also allowing for something like an invisible television or display in a room that could be placed in front of a painting or other decoration. Once displaying an image, the screen is bright enough that you can comfortably make out the image. Just don’t put any bright lights behind the TV.

Anyone else anxious waiting for sub-10″ versions of these panels?

Continue reading “Transparent OLED Hitting The Market With Xiaomi’s Mi TV LUX Transparent Edition”

3D On The ZX Spectrum 48K

There are times when a project becomes such a big part of a maker’s life that they find themselves revisiting it even years later. [Thanassis] combined this phenomena with his love for the ZX Spectrum when he ported one of his old 3D rendering projects to the ZX Spectrum 48K. The video below shows the result, and they speak for themselves.

The roots of this project go back around three years, when [Thanassis] posted a similar project for the ATMega328 which employed fixed point math tricks for achieving the graphics. The code needed to be even tighter to run on the Spectrum, eventually getting boiled down to just a handful of calculations. This got the proof of concept working with the z88dk compiler, but it wasn’t quite fast enough.

In the end, hand assembly optimizations nearly doubled the performance to a blistering 10 frames per second. There’s also a version that kicks it all the way up to 40 FPS, but only if you give it a few minutes to do the calculations ahead of time. With a few teaks and the right display, this project could produce some very cool retro visuals.

Continue reading “3D On The ZX Spectrum 48K”

Multi-Volume Knob Gives All Your Programs A Turn

We’ve all been there. You’re manning the battle station, deep in the sim-racing or some other n00b-pwning zone and suddenly some loudmouth blows out your eardrums over Discord. It’s insulting to have to stop what you’re doing to find the right Windows volume slider. So why do that? Build [T3knomanzer]’s simple yet elegant multi-volume knob and stay zen in the zone.

It’s easy, just turn the knob to cycle through your programs until Discord comes up on the little screen, and then push down to change it into a volume knob. If you need to change another volume, just click it again. Since there’s no Alt+Tabbing out to the desktop, no checkered flags should ever slip through your fingers.

Inside the well-designed case you’ll find the usual suspects — Arduino Nano, rotary encoder, an OLED display, and an LED ring, each with their own place carved out.

This completely open-source knob looks great, and we love that it’s been made incredibly easy to replicate by standing up a site with foolproof, well-depicted, step-by-step instructions. Watch them take it for a spin after the break.

Want more than volume at your fingertips? Here’s a DIY USB knob that does shortcuts, too.

Continue reading “Multi-Volume Knob Gives All Your Programs A Turn”

Get The Party Started With A Mesh WiFi Light Show

Wildly blinking LEDs may not be the ideal lighting for the average office environment, but they’ll surely spice up any party. And since a party without music is just a meeting, having both synced up is a great way to set the mood. Sure, you could simply roll out your standard LED strip instead, but that gets a bit boring, and also a bit tricky if you want to light up several places the same way. [Gerrit] might have built the perfect solution though, with his (mu)sic (R)eactive (Li)ghts, or muRLi, which are a set of individual lights that synchronize a programmable pattern over WiFi.

The system consists of muRLi itself as the base station that defines and sends the light pattern through WebSockets, and several muRLi Nodes that house a set of WS2812B LEDs to receive and display it. Both are built around a Wemos D1 Mini configured to set up a WiFi mesh network, and depending what’s in reach, the nodes connect either to the base station or other nodes, giving the system definitely enough reach for any location size. The music is picked up by a MAX4466-amplified microphone inside the base station — adding some more flexibility to positioning the system — and analyzed for volume and audio spectrum, which is also shown on an OLED.

The best part however is how the light patterns are programmed. Instead of hard-coding it into the firmware, [Gerrit] went for a modular approach with little ROM cartridges to plug into the muRLi base station. The cartridge itself contains just an I2C EEPROM, storing JavaScript code that is interpreted by the firmware using mJS. The scripts have access to the analyzed audio data and amount of LEDs within the network, and can dynamically generate the patterns as needed that way. Everything is neatly housed in 3D-printed enclosures, with all the design and source files available on the project’s GitHub page — but see for yourself in the video after the break.

If you don’t care about the wireless part but enjoy light synced up with music, have a look at a plain MIDI solution for that. As for [Gerrit], we’re definitely looking forward to seeing his next endeavor one day, since we also enjoyed his last one.

Continue reading “Get The Party Started With A Mesh WiFi Light Show”