(Topic ID: 174162)

DMD snoop with Arduino

By Fuzzie

7 years ago



Topic Stats

  • 5 posts
  • 3 Pinsiders participating
  • Latest reply 7 years ago by atwong
  • No one calls this topic a favorite

You

Linked Games

No games have been linked to this topic.

    #1 7 years ago

    Hey all!

    I am looking to build an Arduino "DMD Snooper". I am thinking an Arduino microcontroller connected onto the data cable between the pinball mobo and the DMD itself, where it can pick up the traffic going from the pin to the DMD and analyze it.

    The main goal of this exercise is that I want to use the Arduino to be able to tell me if a specific pixel, or group of pixels, have signal to be turned on from the pin or not.

    For example, some straight-forward pseudo-code:

    IF DMD_POS(X, Y)=TRUE THEN
    'DO STUFF, FOR EXAMPLE TURN ON THE ARDUINO UNO BUILT-IN LED.
    END IF

    I am quite confident in the arts of Arduino, but I cannot for my life understand how the DMD gets its data from the pin, or the layout of the signal (and pinouts). I have searched a lot on the internet and not found any specifics.

    I have come across inventions that touches on what I am looking to do in some kind of devices that display DMD output on a PC Screen. This is doing exactly what I am looking for: Snooping the DMD signal, but it does'nt tell me how. I am not interested in doing such an advanced unit like a "screen-replicator" either, just want to check pixels.

    I am a bit surprised a project like this hasn't already happened. If it has and I have missed it please do feel free to point me in the right direction.

    My first business of order is to understand the DMD. If any of you have any specifics, please let me know.

    Cheers!

    #2 7 years ago

    If I were taking on this project, first thing I'd do is grab an oscilloscope and watch the voltages go across the DMD cable. It's likely doing some multiplexing because the total dot combination > total wires obviously.

    http://www.best-microcontroller-projects.com/led-dot-matrix-display.html

    Basically its probable that each bulb is only on for 1/n of the total cycles so you can address the total display, and the persistence of vision effect takes over. So if you have 60 htz/cycles per second its possible that one row or column is written/lit per htz at a time.

    Also helpful http://embedded-lab.com/blog/lab-12-basics-of-led-dot-matrix-display/

    Quoted from Fuzzie:

    Hey all!
    I am looking to build an Arduino "DMD Snooper". I am thinking an Arduino microcontroller connected onto the data cable between the pinball mobo and the DMD itself, where it can pick up the traffic going from the pin to the DMD and analyze it.
    The main goal of this exercise is that I want to use the Arduino to be able to tell me if a specific pixel, or group of pixels, have signal to be turned on from the pin or not.
    For example, some straight-forward pseudo-code:
    IF DMD_POS(X, Y)=TRUE THEN
    'DO STUFF, FOR EXAMPLE TURN ON THE ARDUINO UNO BUILT-IN LED.
    END IF
    I am quite confident in the arts of Arduino, but I cannot for my life understand how the DMD gets its data from the pin, or the layout of the signal (and pinouts). I have searched a lot on the internet and not found any specifics.
    I have come across inventions that touches on what I am looking to do in some kind of devices that display DMD output on a PC Screen. This is doing exactly what I am looking for: Snooping the DMD signal, but it does'nt tell me how. I am not interested in doing such an advanced unit like a "screen-replicator" either, just want to check pixels.
    I am a bit surprised a project like this hasn't already happened. If it has and I have missed it please do feel free to point me in the right direction.
    My first business of order is to understand the DMD. If any of you have any specifics, please let me know.
    Cheers!

    #3 7 years ago

    Also forgot to mention that you have to take into account the 4 different brightness levels of each dot, that's what gives the dots 'shade'.

    #4 7 years ago

    Ah yes, the shades of the dots I forgot about. Good point! I guess that property isnt interesting tho, atleast not at this point for a first version. I'll just stick to find out if the pin thinks a particular dot should be on or not, no matter the intensity.

    Until more information present itself, Ill start by measuring the wires somehow.

    Cheers!

    #5 7 years ago

    Writing the code on arduino isn't difficult and getting it to wifi or twitter isn't difficult either. My problem is that I don't know how to get a feed of the data. Hopefully you can figure it out and get a bunch of us going on github.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/dmd-snoop-with-arduino and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.