The Bluetooth LCD Sniffer You Didn’t Know You Needed

At one time or another, we’ve all suffered through working with a piece of equipment that didn’t feature a way to export its data to another device. Whether it was just too old to offer such niceties, or the manufacturer locked the capability behind some upgrade, the pain of staring at digits ticking over on a glowing LCD display and wishing there was a practical way to scrape what our eyes were seeing is well known to hackers.

That was precisely the inspiration for DoMSnif, the dot matrix LCD sniffer that [Blecky] has been working on. Originally the project started as a way to record the temperature of his BRTRO-420 reflow oven, but realizing that such a device could have widespread appeal to other hardware hackers, he’s rightfully decided to enter it into the 2019 Hackaday Prize. If perfected, it could be an excellent way to bolt data capture capabilities to your older devices.

The first phase of this project was figuring out how to capture and parse the signals going into the device’s KS0108 LCD. Getting the data was certainly easy enough, he just had to hook a logic analyzer up between the display and the main board of the device. Of course, figuring out what it all means is a different story.

After running the oven for a bit with the analyzer recording, [Blecky] had more than enough data to get started on decoding it. Luckily, the layout of this fairly common 128×64 pixel display is well documented and easy enough to understand. With a little work, he was able to create a tool that would import the captured data and display it on a virtual LCD.

Unfortunately, the Bluetooth part is where things get tricky. Ultimately, [Blecky] wants to ditch the logic analyzer and use a Adafruit Feather nRF52 Bluefruit to capture the signals going to the LCD and pipe them to a waiting device over Bluetooth. But his testing has found that the nRF52’s radio is simply too slow. The display is receiving data every 14us, but it takes the radio at least 50us to send a packet.

[Blecky] is looking at ways around this problem, and we’re confident he’ll crack it. The solution could be in buffering and compressing the data before sending it out, though you’d lose the ability to monitor the display in real-time. Even if he has to abandon the Bluetooth aspect entirely and make the device wired, we still think there would be a market for an easy to use hardware and software solution for scraping LCD data.

Johnny Mnemonic, Broken Columns, And Pinball Repair


[Quinn Dunki] has come to realize the pinball machines of her youth aren’t the lame games she remembered. They’re actually quite marvelous in terms of electronics, mechanics, engineering and the all important hackability. Wanting to pick up a 90s dot matrix display pinball machine and being a [William Gibson] fan, [Quinn] picked up an old Johnny Mnemonic machine. She’s already looked into replacing the incandescent bulbs with LEDs, and has just wrapped up troubleshooting a broken plasma dot matrix display.

dotsThe neon dot matrix displays in pinball machines of this era are finicky devices with a lot of stuff that can go wrong. On powering the display up, [Quinn] noticed a few columns on the left side of the display weren’t working. These machines have great diagnostic menus, so running a test that displays a single column at a time revealed two broken columns. However, when a solid fill test was run, all the columns work, save for a few dots in the upper left corner. This is an odd problem to troubleshoot, but after more tests [Quinn] realized dots in column five and six only work iff both adjacent dots in the same row are lit.

The power supply seemed okay, leaving the problem to either a logic problem, or something wrong in the glass. With a meter, [Quinn] deduced there was a short between the two broken columns, and tracing every thing out revealed a problem in the hermetically sealed display filled with noble gasses. A replacement display was ordered.

While [Quinn] was replacing the display, she decided it would be a good time to rehab the almost-but-not-quite out of spec driver board for the display. The power resistors had scorched the PCB, but didn’t damage any traces. Replacing the parts with modern components with a higher power rating brought the board back to spec with components that should last longer than the 20-year-old parts previously inhabiting the driver board.

It was a lot of effort, but now [Quinn] has a brand new display for her pinball machine and is ready to move on to the next phase of her restoration.

Public Transportation Display


[Adrian] and [Obelix] wanted to have an easy way to know when to expect the public transportation, so they hacked an LED dot matrix display to show arrival times for stops near their dorm.

They found the display on Ebay with a defective controller which they replaced with an ATmega328p. They connected the display to the internet by adding a small TP-Link MR3020 router and connecting it to the ATmega328p via a serial line. Their local transportation office’s web page is polled to gather wait times for the stops of interest. All rendering of the final image to display to the dot matrix display is done on their PC, which then gets pushed through to the MR3020, which in turn pushes it out to the ATmega328p for final display.

[Adrian] and [Obelix] warn about setting proper watchdog timers on the display driver to make sure bugs in the controller don’t fry the dot matrix elements. Their ATmega328p dot matrix driver code can be found on [Adrian]’s GitHub page.

Check out a video of the display in action after the jump.

Continue reading “Public Transportation Display”

Reverse Engineering A Plasma Dot Matrix Display

A while back, [DragonMinded] picked up a bunch of old arcade and pinball parts from a guy on Craigslist. These parts sat around for a while until a really neat plasma dot matrix display was found in the corner of a box in his garage. Doing the only reasonable thing, [DragonMinded] figured out how to interface this ancient display with a microcontroller.

After extensive Internet research on his display, [DragonMinded] could only find a one page datasheet for his APD-128G064A-1 display. Luckily, this datasheet had voltage requirements, and since the display only had six input pins he could probe the circuit to see what goes where.

After generating a crude schematic, [DragonMinded] prototyped a driver circuit with an Arduino. When the function of each pin was discovered, the Arduino libraries were discarded and replaced with raw register access.

It was a fair amount of work, but [DragonMinded] eventually got to the point where he could draw anything he wanted on the screen. Next on the to-do list is turning it into a terminal or Twitter machine, as with all good display hacks.