Freetronics DMD – Games

I had a little while free and so ported a bunch of games I wrote for the Peggy2 to work with a pair of DMD’s
In doing so the games now run at 32×32 and are controlled by a Wii nunchuck.
The games are snake, pong, breakout and race.
The Arduino code is available at DMD_games.zip
The two screens are daisy-chained but as the cable connecting them is quite short the top one is upside-down.
To get this working the modified DMD library is setup to handle rows of displays where odd-numbered rows are upside down.
See this diagram for how it is laid out (for 2×2 case)

Playing is fairly straight-forward.  Only thing to remember is that the ‘z-button’ on the nunchuck is used to select and the ‘c-button’ is used to exit back to the menu

Have a look at the video below to see them in action.
[youtube_sc url=”5WW9ZmvjSA4″]

11 thoughts on “Freetronics DMD – Games”

  1. Hey,
    Thanks for sharing! Did you have to power each one from a separate power source? or are they all powered from the Arduino?

    • There is a seperate powersupply for the displays – I’m using an old 5V power supply from an MP3 player I used to own.

      [WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

  2. yes – what Andrew says is correct. The current library is fine for multiple DMD’s wired the way that the link provided by Andrew describes. I’ve got this working with 4 DMD’s quite happily with the standard library.

  3. Hi there,
    Landed up to this site only when i am stuck at a problem.
    I have a p10 led module and want to interface it with a microcontroller. I spent 2 days in understanding the complete hardware and ICs.
    P10 is made up of 16 rows and 32 columns. Now upto 74hc595 and column selection is well understood by me. But I am in a state of confusion when it comes to row selection. I see that the output of 74ls138 is given to 4953. The same outputs are given to another 4953 responsible for selecting another row. If this decoder output is activated then 2 rows get selected. And if I wish to turn on only 1 led, I can see 2 leds turning on at the same time.. I don’t know if I could explain you my problem correctly. My 1st objective is to turn on only 1 led just for the sake of testing.
    THANX IN ANTICIPATION BUDDY!

    • Hi shamir, i just saw this post i dont know if you have gotten your answer. from what you said, it is expected for p10 to behave like that i mean seein two LEDs at once. that’s because p10 is designed to address 4 rows at a time out of 16. which is done using two address bits A and B for selection. so first you have to ensure the correct data has filled the next 4 rows you are about to address. by clocking in your correct data usin the shift clock and storage clock and the data Line combination. for more information and a clear explanation pls just ask from this post. this is just to know if your are still interested know i believe i should get a notification of your response from my mail.

  4. AB=00 addresses row 1,5,9,13
    AB=01 addresses row 2,6,10,14
    AB=10 addresses row 3,7,11,15
    AB=11 addresses row 4,8,12,16 please note that 0 turns the LED on 1 turns the LED off

  5. I’m trying to daisy chain my two DMDs with my arduino.

    Can someone please take a photo of how they have done it?

    Still confused about the power supply and how it is connected.

  6. I’m trying to daisy chain my two DMDs with my arduino.

    Can someone please take a photo of how they have done it?

    Still confused about the power supply and how it is connected.

    Currently have one DMD working.

Comments are closed.