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.

STM32 Clones: The Good, The Bad And The Ugly

Whenever a product becomes popular, it’s only a matter of time before other companies start feeling the urge to hitch a ride on this popularity. This phenomenon is the primary reason why so many terrible toys and video games have been produced over the years. Yet it also drives the world of electronics. Hence it should come as no surprise that ST’s highly successful ARM-based series of microcontrollers (MCUs) has seen its share of imitations, clones and outright fakes.

The fakes are probably the most problematic, as those chips pretend to be genuine STM32 parts down to the markings on the IC package, while compatibility with the part they are pretending to be can differ wildly. For the imitations and clones that carry their own markings, things are a bit more fuzzy, as one could reasonably pretend that those companies just so happened to have designed MCUs that purely by coincidence happen to be fully pin- and register compatible with those highly popular competing MCU designs. That would be the sincerest form of flattery.

Let’s take a look at which fakes and imitations are around, and what it means if you end up with one. Continue reading “STM32 Clones: The Good, The Bad And The Ugly”

Small Spotify Remote Broadens Musical Horizons

When was the last time you tried listening to a new genre of music, or even explored a sub-genre of something you already like? That’s what we thought. It’s good to listen to other stuff once in a while and remind ourselves that there’s a whole lot of music out there, and our tastes are probably not all that diverse. As a reminder, [sorghum] made a spiffy little Spotify remote that can cruise through the musical taxonomy that is Every Noise at Once and control any Spotify-enabled device.

There’s a lot to like about this little remote, which is based upon a LilyGo TTGO ESP32 board with on-board display. The circuitry is basically that and a rotary encoder plus a tiny LiPo battery. Can we talk about the finish on those prints? Yes, those are both printed enclosures. Getting that buttery smooth finish took two grits of wet/dry sandpaper plus nine grits of polishing cloths.

As you can see in the brief demo after the break, there are several ways to discover new music. [sorghum] can surf through all kinds of Japanese music for example, or surf by the genre’s ending word and listen to metalcore, deathcore, and grindcore from all over the globe. For extra fun, there’s a genre-ending randomizer so you can discover just how many forms of *core there are.

Want everyone in the room to know what you’re listening to? Behold the Spotify split-flap display.

Continue reading “Small Spotify Remote Broadens Musical Horizons”

Thinking About Creating A Raspberry Pi Replacement?

If you’ve ever wanted to try your hand at creating a Raspberry Pi-like board for yourself, you should check out [Jay Carlson’s] review of 10 different Linux-capable SoCs. Back in the 1960s, a computer was multiple refrigerator-sized boxes with thousands of interconnections and building one from scratch was only a dream for most people. Then ICs came and put all the most important parts in a little relatively inexpensive IC package and homebrew computing became much more accessible. Systems on Chip (SoC) has carried that even further, making it easier than ever to create entire systems, like the Pi and its many competitors.

Only a few years ago, making an SoC was still a big project because the vendors often didn’t want to release documentation to the public. In addition, most of the parts use ball grid array (BGA) packaging. BGA parts can be hard to work with, and require a multilayer PC board. Sure, you can’t plug these into a typical solderless breadboard. But working with these relatively large BGAs isn’t that hard and multilayer boards are now comparatively cheap. [Jay] reports that he got cheap PCBs and used a hot plate to build each board, and has some sage advice on how to do it.

Continue reading “Thinking About Creating A Raspberry Pi Replacement?”

Motorized Magic Over HDMI

There is a certain warmth that seems to emanate from stereo receivers of the 70s, 80s, and 90s. Despite their large footprint and considerable heft, the soft glow of the indicator lights and solid kerthunk of switches provide a sense of coziness. When [Tom] recently swapped his receiver for a 1970s Pioneer SX-950, he found himself getting up from the couch to adjust the volume when watching TV far too often for his liking. Resolving to do something about it, he added some magic in the form of a motorized volume knob. One of the coolest tricks for stereos was to have a small motor attached to the volume knob so that it could turn the volume up or down via a remote.

The first obstacle came when [Tom] had to forgo the center tap on the potentiometer to get a motorized one. This meant the volume compensation feature would be disabled, which is but a small price to pay for convenience. After scouring the internet, he finally had the part in hand only to discover some troublesome capacitors in the way. The new pot had a rather large motor hanging off the back that the previous one didn’t have. Fortunately, there was a good bit of space between the PCB and the bottom of the chassis, so Tom was able to just flip the capacitors to the underside of the board and bend them on their sides.

The next problem to solve was how to change the volume remotely. IR was considered as well as optical cable control signals. What [Tom] did instead was to implement HDMI CEC (consumer electronics control). CEC was well documented and seemed simple to implement on an ATTINY4313 with the help of a half-H driver. The CEC protocol implemented by [Tom’s] TV seemed to be very sensitive to timing, so an external crystal was used to get more precise timing and additional handshaking was implemented to get the TV to accept the microcontroller as valid. A few fail-safes were added to make sure the motor didn’t burn out if something went wrong with the CEC protocol and a nice enclosure wrapped up the build quite nicely.

We’ve seen CEC implemented before on a PIC 18F87J50, but as a sender of CEC commands not a receiver. [Tom’s] code is available on GitHub and might prove useful if you’re looking to implement CEC on an AVR.

Thanks [Tom] for sending this one in!

TTGO ESP32 Module With Multiple Personalities

Volos Projects educator [Danko Bertović] had a TTGO ESP32 board looking for a project, so he implemented a surprisingly functional weather station for such a small screen. Presumably that was too boring for him, so he decided to write a version of the classic Atari game Breakout instead. [Danko] prefers using the Arduino IDE for ESP32 projects, and has made the Breakout software available as an Arduino sketch. We hope the weather station sketch will be released soon, too. The TTGO is a small ESP32 board with an ST7789V 1.14 in (29 mm) TFT color display, available from your favorite Shenzhen market supplier. This platform is perfect for all kinds of niche applications. We’d love to hear how you are using, or plan to use, these modules in your projects.

We wrote about one such project last summer, where a similar TTGO module was used to display 50-year broadcast delayed transcripts of the Apollo 11 mission. [Danko] is no stranger to Hackaday — he has made several Arduino-based calculator projects.  Perhaps the most remarkable being the circuit sculpture binary number calculator from last year, another project that morphed into a computer game (Pong).

Continue reading “TTGO ESP32 Module With Multiple Personalities”

Designing And Building A Custom Optical Fuel Sensor

At some time or another, we’ve all had an idea we thought was so clever that we jumped on the Internet to see if somebody else had already come up with it. Most of the time, they have. But on the off chance that you can’t find any signs of it online, you’re left with basically two possible conclusions. Either you’re about to enter uncharted territory, or your idea is so bad that everyone has collectively dismissed it already.

Which is precisely where [James Stanley] recently found himself. He had an idea for an non-contact optical sensor which would detect when his racing mower was about to run out of gas by analyzing light passed through a clear section of fuel hose. He couldn’t find any previous DIY examples of such a device, nor did there appear to be a commercial version. But did that mean it wouldn’t work, or that nobody had ever tried before?

Continue reading “Designing And Building A Custom Optical Fuel Sensor”