Go Down

Topic: ShiftMatrix, Dreaming Big Video Display (Read 10 times) previous topic - next topic


Well as usual its a long time since I posted last (real life gets in the way).

Recently at my local electronics shop (Jaycar) I was pleased to find they had a range of "Arduino like" devices and add on shields/hardware. They all seemed to be from the same company, FreeTronics. I haven't heard of them before but one of the products caught my eye, it was call DMD (Dot Matrix Display). http://www.freetronics.com/products/dot-matrix-display-32x16-red

This is a self contained unit with 512 LEDs (32x16) Mono colour (Red in this case but apparrently more colours are coming). So I bought it and I am trying to find time to have a look under the hood of the demo code. It seems the product is only new but it seems well constructed and the LEDs are very bright. The demo library is very easy to use but unfortunately it does not support PWM (Damn!) but from the notes in the library it seems that its is possible to get PWM implemented. It just hasn't been done yet. So with that in mind I am going to have a play with the library. If I can get PWM to work then this is a good unit that is readily available and I am happy with the price. And it will DRASTICALLY reduce build time. Which for me at the moment is a huge plus as I don't have much time.

I am still aiming for 64 x 64 which means I would need 8 of these boards...that is on the order of $300 but I am able to spread out that purchase and buy them 1 or 2 at a time. Where as if I were to try and "Make" these myself it would be a little cheaper but would require A LOT more time and I would have to buy all the components up front. So from that point of view that is a trade off I am willing to make.

So has anyone looked at this device or tried to do PWM on boards like this? I am going to go trawl through the forum now and see if there is anything similar that maybe I can adapt. Otherwise my current plan is to try and modify Elco's ShitMatrixPWM library to talk to this device. Not sure how much effort is required but as this device use SPI for the main information and 4 line switches to select the rows I think it should be possible to get it to work. I will let you know how I fair.


May 22, 2012, 05:36 am Last Edit: May 22, 2012, 05:38 am by milamber Reason: 1
Again, Months have passed. But for me they have been productive months.

I am very happy with the output of the Freetronics DMD device mentioned in the above post. I have been able to modify (Butcher :P) the ShiftMatrixPWM library to work on these boards. I have even managed to get it working with 2 boards, 1024 red LED's, fully addressable and running at 50Hz with 32 brightness levels.

The way this hardware works though is very different to what ShiftMatrixPWM expects. I have had to make some major changes under the hood to format the information correctly to work with these displays. So much so I don't think you could still call this ShiftMatrixPWM anymore as it wouldn't work with a normal row/column "hand made" matrix. So I will call what I have made DmdPWM (all original credit goes to Elcojacobs for making a great library to base this off).

With this DmdPWM library now created and tested, I can finally start to order the components to make the display. So the display will consist of:
     - 1 x USB to serial adapter (bought from ebay cheap)
     - 4 x Arduino Duemilanove boards
     - 8 x Dmd's
     - 1 x 5v 40amp Power Supply

Currently I am testing with 1 Duemilanove and 2 Dmd's and using an ATX power supply (Looking to get a bench supply :)).
Here is a video being down scaled and serially sent to the Arduino with 2 Dmd's attached. This is just a fire effect on a loop.

I am still trying to round out the library code and clean it up but if anyone is interested in it, let me know. I haven't had anyone else test it yet. If you have one or a similar display (32x16, 1/4 scan and a zigzag register setup (not sure what to call it)) contact me.


I am curious as to how your project went in the end. Currently I'm trying to have a video feed on a 16x16 matrix...I think there's a long way ahead as I'm trying to get the shiftMatrixPWM working on my 4x4  :smiley-roll: .


Hi nataliew,

Time has not been my friend lately. Sadly I have not gotten any further on this project. But I did manage to clean up my DMDPwm library and I have posted it on the Freetronics forum board. (If anyone here is interested in it let me know)

You asked in another thread about the setup of the row data/latch and the column data/latch. The best I can off on that would be to tell you to have a look at my fritzing image on the previous page. It shows the connections I was using for my 16x16 colour matrix. But simply there are two chains of shift registers. One for column control and one for row control. Once you have them setup It should all work.


Once again long time between posts.....but we have progress.
I have obtained a USB to Serial adapter and have now tested connecting the TX of that to the RX of 2 Arduino's. This is what I have been banking on the whole time and it worked perfectly. Each Arduino waits for an assigned start byte and then acts on the bytes following the start byte. It then counts the bytes until it has a full module worth and displays them. The next start byte is received by the next Arduino and the sequence is repeated. This is how I plan to scale up to having 4 Arduino's working together, each controlling 2 DMD's. Thereby giving me a 64x64 resolution LED video screen.

I have ordered more panels (10 infact) and I am waiting for them to be delivered. Once I have them I will be attempting to scale up to full size.

In the mean time have a look at the 2 videos below. I used my camera phone and it is not great at capturing the LED's as they are quite bright. So I apologize for the image quality.


Hopefully in the coming weeks I will be able to show you the 64x64 in action.....I hope you like the colour GREEN!!!

Go Up