DoMSnif - Dot Matrix LCD Sniffer Bluetooth Adapter

Output dot matrix LCD data from a device to your phone or laptop.

Similar projects worth following
If you have a device with a dot matrix LCD such as the KS0107/8 based LCDs and you want to capture the output or monitor it, then the Dot Matrix LCD Sniffer/Decoder Bluetooth Adapter (DoMSnif) is just the thing you need. It will passively monitor the parallel display data from any supported LCD screen and send it via Bluetooth or USB to a device of your choice where it can be decoded or processed.

  • Bluetooth? More Like Bluehurty.

    Blecky07/08/2019 at 09:41 0 comments

    After some testing, the nRF52832 on the Feather module being used is not going to work well for this project alone.

    The data is fed into the LCD approximately every 14us:

    However the critical radio sections of the nRF52832 can take much much longer than this:

    These Bluetooth critical sections have the highest priority on the nRF52832 (otherwise they wouldn't work), so several LCD data events can occur before the LCD data ready interrupt is actually triggered (aliasing/skipping data).

    So now to find another method of gathering the LCD data...

  • Adapt(er) or Die Ding

    Blecky06/30/2019 at 06:51 0 comments

    Whipping together a quick prototype adapter board for the NRF52 Feather was pretty simple. The main thing to note was level conversion between the 5V LCD signal lines and the 3.3V pins of the feather which in this case was achieved through some resistor dividers. The 5V line is connected to the VBUS (5V) input of the Feather to power the board from the LCD cable.

    A smaller, more streamlined board will be created later. But now there's software to write!

  • Show Me Your Bits

    Blecky06/24/2019 at 13:59 0 comments

    There's very few visualisation tools out there to translate the binary KS0108 LCD data to an actual visual output and none offered the ability to import or display a dataset from any source. So I guess we have to make one.

    Fortunately the KS0108 has a pretty simple layout:

    A KS0108 based 128x64 pixel LCD module consists of two controllers, each with 8 pages and each page consisting of 64 column bytes. So we can structure the code very similarly:

    Combine this with a little GUI magic and we get a nice little tool to import data from a CSV file and output it to a window in realtime:

    Now, we have the base code for decoding the KS0107/8 module, we can now start porting it to an NRF52 board.

  • Bridging the Interface Hole

    Blecky06/24/2019 at 13:45 0 comments

    If you can hear audio, then it can be recorded by another analog source, rendering DRM ineffective.

    The same can be said about any device. If you can see the data you want, then you can record it. Well fortunately we don't have to go quite Neanderthal on such devices with a camera setup. Instead, we can sniff the display data directly.

    Adding an additional 20 pin header to the ribbon cable of the LCD connection (or creating a pass through board), gives us direct access to the digital data being sent to the LCD display. While there was no markings on the LCD board to determine its interface, by looking at the signalling it was found to be a KS0107/8 based device used in most hardware devices.

    So what do you do with this data?

  • You Can't Interface With That!

    Blecky06/24/2019 at 13:18 0 comments

    Working with the BRTRO-420 reflow oven, it looked like it might be possible to interface with the controller using an inbuilt serial connection to possibly get temperature read outs.

    Reverse engineering the serial connection got the following:

    Unfortunately trying to interface with this yielded no results. Looking further into the CY96F613 microcontroller datasheets then lead to the fact that this connection is purely used for serial firmware updates. So that was a dead end, apart from recreating the firmware which would effectively brick the machine until it was finished and working.

    So where to next? Well the temperature data was sitting right in your face on the front of the machine, it's just a little tricky to get to...

View all 5 project logs

Enjoy this project?



Arsenijs wrote 07/22/2019 at 00:07 point

Thought of using i.e. a small high-speed MCU or FPGA for actually storing the MCU data, which could then be fed to the Feather through SPI?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates