[SOLVED] Updated project from DMD to DMD2, now existing cables result in no display

The Dot Matrix Display (DMD) is a 32x16 array of high-brightness LEDs for visually striking effects. [Product Page]
Post Reply
User avatar
stryker
Posts:282
Joined:Sat Jan 14, 2012 2:44 pm
[SOLVED] Updated project from DMD to DMD2, now existing cables result in no display

Post by stryker » Sun Apr 16, 2017 10:14 pm

Hi,

Is there anything significantly different in the signals created by DMD2 that would cause this?

I've updated the firmware for an existing project that uses a cable between the custom PCB (ATmega386 based, essentially a Uno) and 4x DMD panels. The PCB and cable only transmit these pins:
  • GND
  • D13 SCK
  • D11 MOSI
  • D9 OE
  • D8 SCLK
  • D7 B
  • D6 A
Which means these are not present: C, G & D, D12 MISO, and D10 SS.

The existing firmware used a modified version of the DMD library, as outlined by @brissieboy elsewhere in this forum, and we have a 10k pulldown resistor on OE just like the DMDCON v1.1 schematic, so we can set the brightness of the DMDs.

I've updated the firmware to DMD2 and it works great if we use our custom PCB via a 16 pin ribbon cable, but connect via one of our cables and the DMD remains blank. Reverting to the older firmware based on DMD and it works fine through the ribbon or our cable.

Firmware using modified DMD: works on ribbon, works on cable. Tested OK on ribbon and cable up to 1m long.
Firmware usine DMD2: works via ribbon only. Tested OK on ribbon up to 1m long.

This is really puzzling. Any thoughts on what DMD2 might be doing that's different to DMD which could cause what we're seeing here?

Thanks, Geoff

User avatar
stryker
Posts:282
Joined:Sat Jan 14, 2012 2:44 pm

Re: [SOLVED] Updated project from DMD to DMD2, now existing cables result in no display

Post by stryker » Sat Apr 22, 2017 2:01 am

Hi,

This one is entirely on me. Additional to the new firmware, there were also minor updates to our custom PCB. One important difference was relocating resistors that were on the ISP programming lines as some protection for the DMD (to stop it flickering etc) when programming.

Prior version they were between the ISP headers and everything:
v121.JPG
And now they are between the DMD and everything:
v130.JPG
Since the only device sharing the programming lines was the DMD, it seemed sensible however attenuating the signal to the DMD just removed reliability over longer cable distances. The fact we saw anything work via the longer cable or ribbon was a red herring. It doesn't often enough to be useful.

So the immediate fix is to remove and replace those two resistors with 0 Ohm ones, and if we stay with this method of programming, putting those resistors back where they were for the next version.

Cheers, Geoff

Post Reply