DMD: Dot Matrix Display 32x16 Red

The Dot Matrix Display (DMD) is a 32x16 array of high-brightness LEDs for visually striking effects. [Product Page]
Post Reply
eric_1050
Posts: 5
Joined: Sat Aug 30, 2014 11:50 am

DMD: Dot Matrix Display 32x16 Red

Post by eric_1050 » Sat Aug 30, 2014 6:50 pm

Hello sorry I did not do a search.

Is it possible to provide the software requirements to run these (from say a eleven) so one does not have to use the standard library functions. I like to write my own software so I could fine tune it and could very well save memory space, not including features that I might not need to use. Therefore the added software would just waste memory space.

I have been waiting for the circuit diagram ever since they came out. but now I am a forum member the software approach might be a better option.

Sorry to bug you.

angusgr
Freetronics Staff
Freetronics Staff
Posts: 853
Joined: Tue Apr 09, 2013 11:19 pm
Location: Melbourne, Australia
Contact:

Re: DMD: Dot Matrix Display 32x16 Red

Post by angusgr » Mon Sep 01, 2014 12:54 am

Hi Eric,

The DMD Arduino library (and the currently-beta DMD2 library) are both open source:
http://github.com/freetronics/dmd
http://github.com/freetronics/dmd2

You're certainly more than welcome to use the source code from either of them and strip out unnecessary flexibility, or port out the Arduino functions, in order to make a "leaner" optimised version for your Eleven.

Regards,


Angus

eric_1050
Posts: 5
Joined: Sat Aug 30, 2014 11:50 am

Re: DMD: Dot Matrix Display 32x16 Red

Post by eric_1050 » Mon Sep 01, 2014 1:35 am

I click on a few things got lost
its all right I will sit it on the bench one when I want to waste time and work it when I have nothing better to do, I just thought you might know ....... pin 1 goes to ? and goes either high or low to make it smoke, pin 2 goes .................... etc or maybe I just throw it in bin and save time

angusgr
Freetronics Staff
Freetronics Staff
Posts: 853
Joined: Tue Apr 09, 2013 11:19 pm
Location: Melbourne, Australia
Contact:

Re: DMD: Dot Matrix Display 32x16 Red

Post by angusgr » Mon Sep 01, 2014 1:45 am

Hi Eric,

The schematic for the DMDCon connector board shows the pinout on the input of the DMD board iself:
http://cdn.shopify.com/s/files/1/0045/8 ... pdf?100730

As long as none of the data pins go over 5V you should be spared from any DMD-destroying blue smoke. :)

The SCLK, CLK & 'R' lines act as a shift register input. 'R' is the data line to clock data into the DMD, CLK is the clock pulse, SCLK is - despite the name - the latch (active high).

The A & B lines act as a 2-bit selector to choose which input shift register & LED row set is driven (there are 4 individual sets of multiplexed rows within the DMD.) Other LED rows are not illuminated so these values need to be cycled.

nOE is the output enable line , active low. All LEDs are off unless this is driven low. EDIT: Yes, sorry this is active high, must be driven high to enable LEDs. Thanks Brissieboy.

Hope that's of some assistance.


Angus

Brissieboy
Posts: 98
Joined: Fri Sep 20, 2013 7:25 am

Re: DMD: Dot Matrix Display 32x16 Red

Post by Brissieboy » Mon Sep 01, 2014 4:22 am

eric_1050,

If you are after details of the DMD, have a look at these threads:
viewtopic.php?f=26&t=704
viewtopic.php?f=26&t=5754

The schematics are a bit lacking in detail, but enough to understand how they work.
And there is a lot of detail on HOW they work.
I have found several different versions, but all appear to be electrically very similar (if not identical), just the physical layouts vary. Certainly their interfaces are the same.

Be aware that there is an error in some documentation (and in Angus's response above) the 'nOE' line is active HIGH and incorrectly labelled in lots of places - see:
viewtopic.php?f=26&t=5627&p=11274&hilit ... boy#p11274

angusgr
Freetronics Staff
Freetronics Staff
Posts: 853
Joined: Tue Apr 09, 2013 11:19 pm
Location: Melbourne, Australia
Contact:

Re: DMD: Dot Matrix Display 32x16 Red

Post by angusgr » Tue Sep 02, 2014 11:42 pm

Thanks for the reminder Brissieboy, updated above.

I have a few revisions I'd like to make on the DMDCon so hopefully we'll get that fixed up soon.

ki1990
Posts: 1
Joined: Tue Mar 29, 2016 6:17 am

Re: DMD: Dot Matrix Display 32x16 Red

Post by ki1990 » Tue Mar 29, 2016 7:18 am

Hi,
Am working on 32x16 DMD .Am new to this. I want to know the working of 32x16 DMD like we need to scan the row continuously or only once and then display anything on DMD?As per code it seems for some 5ms it calls interrupt having scanning of rows. Am i right?

Code: Select all

#include <SPI.h>        //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD.h>        //
#include <TimerOne.h>   //
#include "SystemFont5x7.h"
#include "Arial_black_16.h"

//Fire up the DMD library as dmd
#define DISPLAYS_ACROSS 1
#define DISPLAYS_DOWN 1
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);

/*--------------------------------------------------------------------------------------
  Interrupt handler for Timer1 (TimerOne) driven DMD refresh scanning, this gets
  called at the period set in Timer1.initialize();
--------------------------------------------------------------------------------------*/
void ScanDMD()
{ 
  dmd.scanDisplayBySPI();
}

/*--------------------------------------------------------------------------------------
  setup
  Called by the Arduino architecture before the main loop begins
--------------------------------------------------------------------------------------*/
void setup(void)
{

   //initialize TimerOne's interrupt/CPU usage used to scan and refresh the display
   Timer1.initialize( 5000 );           //period in microseconds to call ScanDMD. Anything longer than 5000 (5ms) and you can see flicker.
   Timer1.attachInterrupt( ScanDMD );   //attach the Timer1 interrupt to ScanDMD which goes to dmd.scanDisplayBySPI()

   //clear/init the DMD pixels held in RAM
   dmd.clearScreen( true );   //true is normal (all pixels off), false is negative (all pixels on)

}

/*--------------------------------------------------------------------------------------
  loop
  Arduino architecture main loop
--------------------------------------------------------------------------------------*/
void loop(void)
{
   byte b;
   
   // 10 x 14 font clock, including demo of OR and NOR modes for pixels so that the flashing colon can be overlayed
   dmd.clearScreen( true );
   dmd.selectFont(Arial_Black_16);
   dmd.drawChar(  0,  3, '2', GRAPHICS_NORMAL );
 }
 

angusgr
Freetronics Staff
Freetronics Staff
Posts: 853
Joined: Tue Apr 09, 2013 11:19 pm
Location: Melbourne, Australia
Contact:

Re: DMD: Dot Matrix Display 32x16 Red

Post by angusgr » Wed Mar 30, 2016 1:13 am

You have to scan continuously, but the example code you posted should be scanning continuously using the timer.

Post Reply