A Handy Reference For Display Drivers And LCD Controllers

Ever tried to find the data on a mysterious LCD controller that’s kicking around in your parts bin? Well check out this list of various LCD controllers that [Achim] has put together. He summarizes the basic specifications for each controller and includes data sheet links if available (note — the website is in German, although most of the data itself is in English). All in all, he has collected 72 controllers from five different manufacturers, and 46 of them have data sheets. For each controller, he tabulates maximum resolution, color depth, type of interface, and the targeted display technology. For example, here is the entry for the Ilitech ILI9341 TFT controller commonly found in embedded projects:

Furthermore, many of the controllers also have a short video clip showing them in operation posted over on [Achim]’s YouTube channel, where he also has a bunch of quick (less than one minute) videos of all sorts of embedded goodies. We do find this table of controllers to be a little dated — for example, another popular controller used on small color OLED displays, the Solomon Systech SDS1351, is not included. But it is certainly a good resource to bookmark.

We suspect that [Achim] made this table as a result of developing µGUI, a small (only three files) C-language graphics library (see the GitHub repository) he released back in 2015. Do you have any good resources for tracking down unknown LCD controllers? If so, share in the comments below. And thanks to [Dmitry] for sending in this tip.

Continue reading “A Handy Reference For Display Drivers And LCD Controllers”

Injecting Bugs With An Electric Flyswatter

Hardware fault injection uses electrical manipulation of a digital circuit to intentionally introduce errors, which can be used to cause processors to behave in unpredictable ways. This unintentional behavior can be used to test for reliability, or it can be used for more nefarious purposes such as accessing code and data that was intended to be inaccessible. There are a few ways to accomplish this, and electromagnetic fault injection uses a localized electromagnetic pulse to flip bits inside a processor. The pulse induces a voltage in the processor’s circuits, causing bits to flip and often leading to unintentional behavior. The hardware to do this is very specialized, but [Pedro Javier] managed to hack a $4 electric flyswatter into an electromagnetic fault injection tool. (Page may be dead, try the Internet Archive version.)

[Pedro] accomplishes this by turning an electric flyswatter into a spark-gap triggered EMP generator. He removes the business end of the flyswatter and replaces it with a hand-wound inductor in series with a small spark gap. Pressing the power button on the modified flyswatter charges up the output capacitor until the developed voltage is enough to ionize the air in the spark gap, at which point the capacitor discharges through the inductor. The size of the spark gap determines the charge that is built up—a larger gap results in a larger charge, which produces a larger pulse, which induces a larger voltage in the chip.

[Pedro] demonstrates how this can be used to produce arithmetic glitches and even induce an Arduino to dump its memory. Others have used electromagnetic fault injection to corrupt SRAM, and intentionally glitching the power supply pins can also be used to access otherwise protected data.

Reverse Engineering The Weather Channel’s Magic

For American readers of a certain age, Local on the 8s likely holds a special spot in your heart. The program, once a staple of The Weather Channel, would provide viewers with a text and eventually graphical depiction of their local forecast set to some of the greatest smooth jazz ever heard outside of an elevator. In the days before smartphones, or even regular Internet access for that matter, these broadcasts were a critical part of planning your day in the 1980s through to the early 2000s.

Up until recently the technical details behind these iconic weather reports were largely unknown, but thanks to the Herculean efforts of [techknight], the fascinating engineering that went into the WeatherSTAR 4000 machines that pumped out current conditions and Shakin’ The Shack from CATV distribution centers all over the US for decades is now being documented and preserved. The process of reversing the hardware and software has actually been going on for the last couple of years, but all those juicy details are now finally going to be available on the project’s Hackaday.IO page.

It all started around Christmas of 2018, when an eBay alert [techknight] had configured for the WeatherSTAR 4000 finally fired off. His offer was accepted, and soon he had the physical manifestation of Local on the 8s in his own hands. He’d reasoned that getting the Motorola MC68010 machine working would be like poking around in a retrocomputer, but it didn’t take long for him to realize he’d gotten himself into a much larger project than he could ever have imagined.

Continue reading “Reverse Engineering The Weather Channel’s Magic”

Keep Cool With This Open Source AVR Fan Controller

We’ve all got projects kicking around that we haven’t had time to document for our own purposes, let alone expose to the blinding light of the Internet. There are only so many hours in a day, and let’s face it, building the thing is a lot more fun than taking pictures of it. It took [Matthew Millman] the better part of a decade to combine everything he’s learned over the years to finally document the definitive version of his open source intelligent fan controller, but looking at the final result, we’re glad he did.

At the heart of this board is an ATmega328P, but don’t call it an Arduino. [Matthew] makes it very clear that if you want to hack around with the code for this project, you’re going to need to not only have a programmer for said chip, but know your way around AVR-GCC. He’s provided pre-built binaries for those content to run with the default settings, but you’ve still got to get it flashed onto the chip yourself. The project is designed to use the common DS18B20 temperature sensor, and as an added bonus, the firmware can even check if yours is a bootleg (spoilers: there’s an excellent chance it is).

Arguably the most interesting feature of this fan controller is its command line interface. Just plug into the serial port on the board, open your terminal emulator, and you’ll have access to a concise set of functions for querying the sensors as well as setting temperature thresholds and RPM ranges for the fans. There’s even a built-in “help” function should you forget a command or the appropriate syntax.

Originally [Matthew] developed this project as a way to control multiple fans inside of a PC case, but naturally, things have changed quite a bit since those early days. While today there’s no shortage of fancy controllers that can handle throttling an array of fans based on the internal temperature of your rig, there’s still something to be said for rolling your own solution. More importantly, there’s certainly other potential uses for a fully open source programmable fan controller.

Complicated And Useless Cancel Each Other Out

We all know what it means to procrastinate, but what about actively spending time building a useless machine? You have undoubtedly seen the ornamental boxes with a tempting little toggle switch on the top. When you inevitably flip the switch, an actuator pops out from one half of the enclosure with the sole purpose of undoing its own power switch. [Paz Hameiri] took it a step further by adding some [Rube Goldberg] flavor, and with the help of a microcontroller, his levers take their sweet time powering themselves down. (Video after the break.)

We didn’t find any code or diagrams for the project, but if you know the useless machine’s internals, it shouldn’t be any trouble to recreate one for your desk. The most significant design factor is that the switches. Their contacts must be wired in parallel so that the controller has power as long as one is active. How would you spice up the useless machine?

Even though these are called useless machines, they serve the purpose of decoration, conversation-starting, or a way to show off your woodworking and programming skills.

Continue reading “Complicated And Useless Cancel Each Other Out”

SVG To Gerber, Without The Pain

We’ve all marveled at the high quality PCB artwork used within the #BadgeLife and other communities to produce eye-catching designs, but those of you who have dipped your toes in the PCB artwork water will know that it’s hardly an easy process. [Jaseg] may have an answer though with gerbolyze, his software for processing SVG files into Gerber layers or KiCAD footprints.

His impetus for building it came from disappointing experience with other scripts that simply tried to rasterise any SVG they were given, or didn’t fully support the complete SVG spec. It’s designed for minimal preprocessing, allowing for as streamlined a process as possible. It includes a bitmap vectoriser to handle everything that can be thrown at it, and the GitHub repository has full instructions including examples of the output for different settings.

This is the latest in a long progression of enhancements to the PCB art process, but it’s not by any means the first time we’ve ventured down this path. In particular [Brian Benchoff] did a lot of work on the production of multi-colour PCBs.

Sounding The Humble LED

Here at Hackaday we’re no strangers to the colorful glow of LEDs. But what if there was more to appreciate beneath the surface? Back in 2011 [Windell] over at Evil Mad Scientist dug into a certain variety of LED and discovered they had a song to sing.

Over the last couple decades, you’ve likely encountered the flickering “candle flame” variety of LED. Often found embedded in small plastic candle simulacra they are shaped like typical through hole “gumdrop” style LEDs, but pack some extra magic which causes them to flicker erratically. Coupled with a warm white color temperature the effect isn’t entirely dissimilar to the flickering of a candle flame.

To the Hackaday reader (and [Windell]) the cause of the flickering may be fairly clear, there is an IC embedded in the lens of the LED. See photo at top for an example of how this might look, helpfully magnified by the lens of the LED itself. Looking through the lens the captive die is visible, as well as the bond wires connecting it to the legs and light emitting diode itself. [Windell]’s observation is that together this assembly makes for a somewhat strange electrical component; from the perspective of the circuit it appears to randomly vary the current flowing through the LED.

He includes two interesting demos. One is that by attaching the flickering LED to a BJT he can turn it into a current amplifier and successfully drive a much more powerful 1W LED with the same effect. The other is that  with the power of the amplifier the same flickering LED can drive a buzzer as well. The effect is surprisingly pleasant, though we’d hesitate to call it musical.

For a more recent example of a similar phenomenon with a very different sound, check out out [Emily Velasco]’s playback of a similarly constructed RGB color changing LED, embedded below. We’ve seen optical tools used to decode LED flickers into data streams, but not for audio playback! We have also covered some LED flicker reverse engineering that spills more of the mystery sealed up in these specialized diodes.

Continue reading “Sounding The Humble LED”