LED matrix display - MD_Parola, MD_MAX72xx and MD_MAXPanel

You will not be disappointed Geoff. I only have eight going at the moment but four more would be good. I am currently looking at the code examples to work out how to only use combinations of some of the functions. Great library.

Marco wanted to say thanks again. I've made up 20 of these and the result is lovely, and still plenty bright enough even powered from an Arduino. My intent is to make this into a self-contained display with an ATMega embedded in it. I have a small bug to work out yet - the 16th module from the left (regardless how I shuffle the modules) has several horizontal lines displayed. I'll do some more investigation on that.

Cheers ! Geoff

Thanks. I also got lines sometimes and what fixed mine was powering down the display (remove the connector) and then back on again, followed by an Arduino reset. To me it seems there is some timing issue on the reset at the start, as it appears to happen more frequently when many modules are used.

hmm mine is more of a constant. There is always 4 lines on the 16th module regardless which module I swap in there and tonight I've swapped them around a few times to confirm. I have seen the effects you mention though, on other parts of the display especially if I hit reset when an animation is in progress. Hopefully I'll get some time to look into it more closely this week.

I have received a few private emails about this project and it is good to see that others are able to use the information to do their own thing. Of interest may be the following from one of the emails as it relates to some hardware behaviour noted in earlier posts:

I didn’t change any of your parts or circuitry, but I did add an adapter board with 3 x 10K resistors on it. They go between DI, CLK and CS to ground. When the Arduino starts up or I reset it, the matrix doesn’t flash up briefly before displaying.

One thing I have noticed is that some modules show junk at start up (and it never goes away). If I rearrange the modules (reposition the module that shows junk) they all still work. Just a case of finding a position it works at. I suspect it’s the 7219’s that might be getting through the QA check a little too fast...

If anyone finds the solution to the 'junk' being displayed, please let us all know...

marco_c:
If anyone finds the solution to the ‘junk’ being displayed, please let us all know…

Hi, Mine is solidly always the module 16th from the left, and always the same pattern. Has anyone in your PM conversations tried 20?

It’s not a major issue as I’m thinking 20 is probably a bit too long to make a mount for and I’m likely to break it into two horizontal rows of 10. But it’s a puzzle!
Geoff

Same person that gave the feedback above was running 20 of them. Correction: 20 were made but the display is only 10 modules.

I ordered some Parola PCB’s from SeeedStudio, got the parts and LED 8x8’s and built up 20 boards. Built them up like Lego’s and they worked first time.

I must say yours is a weird one, being in the same position irrespective of which module it is. If you PM me I can put you in touch with the other 20 board pioneer :)

I’m one of the guys with 20 modules that has been doing a lot of testing trying to see what works to get the artifacts off the Parola displays. And I’m posting to say that I was pretty much convinced if the display suffers from that, I was stuck with it. However after a lot of hours of “tweaking”, I have a work around that I use.

To start with, after doing everything from building tri-state buffers (to inhibit the signals from a cold boot), triggers to clean up the wave forms, pull-down resistors, and generally mucking around in the MDMAX library, and using my scope to make sure all was well, I found that if I disconnected the Vcc after the Arduino booted up (I’m using a MEGA 2560), then reconnected Vcc and do a soft reset on the Arduino, the crud was gone. Every time. If you try this you’ll probably find that once running even when you disconnect Vcc, the displays will stay on. Something isn’t right there and I believe that’s a “clone” chip problem.

I also found that I needed to add 10+ modules before any artifacts ever showed any way. The artifacts were also random. The best way to force them to appear, power down the Arduino and power it back up within a few seconds. If I let it sit for a few minutes and powered it, I got “luckier” and had less artifacts. Sometimes this lead me to believe I’d found the magic cure. Nope.

So in programmer speak I came up with YAWA based on how I noticed the displays did work. Yet another work around.

What I did was built a power adaptor board where I can cold boot the Arduino, and in the setup() I can enable a pin to turn on the Parola power (after which I delay 1 second to let the chips fall where they may). Hence, when I power up the Arduino, if there are any artifacts on the displays, a warm reset will clear them every time.

The power adaptor uses a 2N3904 to drive a P-Channel MOSFET. It’s not designed for high speed switching on and off but it works on my 20 modules every time. Sort of a digital “magic wipe”…:slight_smile:

In my project I’m only using 10 of the modules (it’s a birthday present for my brother). There’s a DS3231 RTC, a Bluetooth HC-04 (connected to Serial1). The project is controlled by any Bluetooth terminal so I can toggle between clock and scrolling message, any changes are stored in EEPROM for a reboot. On the inside from left to right you can see my power board, MEGA with proto-shield; RTC and Bluetooth, and buck converter to take 9-12VDC and knock it down to 7V to feed the Arduino’s power jack.

Mel

PowerBoard.png

Roly_Front.png

Roly_Inside.png

Nice one Mel,

I really do like the wood-grain case. I'll give your idea of cycling the power manually on my 20-array tonight. If that works I have some logic-level MOSFETs somewhere so will make up a standalone board with the ATMega and MOSFET to drive that.

Thanks for sharing your experiences, Geoff

strykeroz: Nice one Mel,

I really do like the wood-grain case. I'll give your idea of cycling the power manually on my 20-array tonight. If that works I have some logic-level MOSFETs somewhere so will make up a standalone board with the ATMega and MOSFET to drive that.

Thanks for sharing your experiences, Geoff

I just put together a second 10 module unit tonight and it works with the power adaptor board as well. Curious to see how yours works out Geoff and if that mod does help with the artifacts. To save you time wiring the board thing up, you can simply disconnect Vcc at the Parola, give it second or two, plug it back in, then do a soft reset on the Arduino. That should work as well.

Mel

My results were a little different. Pulling the +5V on the 20 module array didn’t stop it - it just continued to run dimmer than before with the same aberrations. So I kept the wires connected from the Uno to the 20th module and just disconnected it from all the others, causing them to black out (including module 16 with the problem). I then reconnected the array and they stayed dark; pressed reset on the Arduino and the 20 module array was working perfectly without any corruptions showing.

It ran for about 20minutes just now without anything unwanted displaying. I think we have a winner. Thanks again Mel! I’ll make sure when this sign goes standalone to include that power cycle on startup.

Incidentally, why use the transistor with the IRF9540 since it would appear logic level will be enough to switch that MOSFET on its own?

Thanks
Geoff

Some breaking news.

Tayda Electronics (http://www.taydaelectronics.com) are starting a kit section in additon to their component store and will be carrying instructions for Parola on their kits website http://www.taydakits.com/instructions/parola-for-arduino. They are now also stocking the LED matrix displays and right angle edge sockets, so you can buy all the parts from one source. I am hoping that they will eventually sell these as a kit, including the Parola PCB, which will make it more accessible to everyone.

Congratulations Marco. You deserve some recognition for this project, it is a great piece of engineering 8)

strykeroz: My results were a little different. Pulling the +5V on the 20 module array didn't stop it - it just continued to run dimmer than before with the same aberrations. So I kept the wires connected from the Uno to the 20th module and just disconnected it from all the others, causing them to black out (including module 16 with the problem). I then reconnected the array and they stayed dark; pressed reset on the Arduino and the 20 module array was working perfectly without any corruptions showing.

It ran for about 20minutes just now without anything unwanted displaying. I think we have a winner. Thanks again Mel! I'll make sure when this sign goes standalone to include that power cycle on startup.

Incidentally, why use the transistor with the IRF9540 since it would appear logic level will be enough to switch that MOSFET on its own?

Thanks Geoff

The MOSFET is biased to keep it off when the Arduino cold starts so no power gets to the Parola boards. Normally the Arduino is in high impedance state during start up, so with a pull down resistor on the 3904 it keeps it off, and the positive bias on the MOSFET keeps it off.

Having said that, on a MEGA the circuit works exactly the way I expected it to. The power goes out, the MEGA resets, the power comes back on.

On some of the UNO's I have, not so much. I found my power LED indicator on the board flashes in sync with the D13 LED on the UNO. Which still seems to clear the artifacts from the displays with a warm reset, but obviously the UNO and MEGA reset is different.

I use an UNO for testing but normally almost everything here runs off MEGA 2560's.

I also found that you can pull the Vcc, then each of the three signal lines in any order and it's only when the last one is pulled that the display goes dark. I'm guessing that with these obvious clone chips, the logic levels from the Arduino are enough to keep the chip doing a bleed internally so all they do is dim. I also built 10 modules with 7221's in place of the 7219's and it makes no difference. Personally I think these are all the same chip and all they do is change the silk screening...

Mel

marco_c: Some breaking news. Tayda Electronics (http://www.taydaelectronics.com) are starting a kit section in additon to their component store and will be carrying instructions for Parola on their kits website http://www.taydakits.com/instructions/parola-for-arduino.

Nice work Marco! That certainly does make it more convenient to get some more modules made. The kits I've bought there in the past used stripboard so it will be a welcome move if they start selling formed boards for these too.

Congrats - Geoff

I finished putting together some more modules so I have a total of 24 running in the attached photo’s. When you get this many modules, some of the entry and exit effects are pretty slow. The left side modules are using 7219’s the right half using 7221’s. Or perhaps I should say, the silk screen on the chips indicates either a 7219 or 7221. What’s underneath the silk screen is any ones guess…

It’s using my power board that I referenced in an earlier post and with that board I find that if I power down the Arduino, wait a few minutes, power it back up, I rarely get artifacts on those displays. If I cycle the power, I almost always get some on one or more displays but a warm reset always clears it.

In the photo you can see the UNO and power board on the right edge of the picture. When I power cycle the UNO or even upload a sketch to it, my power board cycles on/off twice and then stays off until the sketch starts. Even a warm reset will do this “double cycle”. None of my MEGA’s do this, so it’s something unique to the UNO. Not that it matters a fig any way since the object is to clear all the junk from the displays.

Current draw, which is dependant on what’s being displayed, for the second photo (Powered by) where almost every module has something on it, I registered 180ma and that includes the power the UNO uses. I’m using 68K resistors on the Parola PCB’s mainly because I don’t have any 62K.

I kind of wish I hadn’t finished off the previous two projects because I’m curious to see what a 44 module string would look like (other than really long; the 24 modules take 30.5")…:slight_smile:

Mel

24_Modules.png

Powered_By.png

That is a very cool display. Very nice work and your wiring is so neat. My projects look like a spider orgy lol. :blush:

This is a great project. I'm building this with my 10 year old son. He is great at soldering. In the Tayda site instructions there is a mention of a controle module being developed. (The one used in the video I guess?) Any news about that?

Thanks for the great woek and for sharing.

I am guessing here that you are referring to the Parola modules and not Mel's clock project :-)

Not sure what you mean by the control module, and I can't see a reference to it on the Tayda site. The instructions are basically the same as the BoM PDF file on Google code site (link below).

The controller in the video is an Arduino Uno running one of the example sketches that come with the Parola library download. The switches and pots are just connected to a I/O shield, I just have pre-built switches, etc, on small PCBs with standard Ground Volt and Signal (GVS) headers that make hooking up things easier and faster. The details of the pins connected are in the sketches.

If you meant something else, please let me know. If you are interested in the modular approach to my system, I am happy to share as it is not my original idea.

This is what I'm talking about.

"It is also recommended to use a prototyping shield of some sort to connect the led matrices and interface with some sort of controller. (Instructions for this coming soon.) "

Taken from Page 2

Thanks