(not another) LED Matrix project

Yup, watched your matriduino threads, but as you say, it's a lot more complicated. And when you're done, you still just have 8x8 lights. Gotta see how we can economize to support those big red/blue light towers in your website photo.

Not sure we can... ^^

Gentlemen,

I like where this is going!

Having worked with the MAX72xx and RG matrices for about a year now I'd really like to see a low cost RGB "backplane" with PWM.

I'm sure you will get a lot of suggestions, so I might as well express two thoughts. :wink:

  • I like the idea of being to expand horizontally - add more matrices - but I also like the idea of being able to expand vertically - i.e. "sandwich". Bringing the I2C, SPI, and COMM out of the bottom of the board as discrete connectors has served me well. It's made it easy to add RTC, EEPROM, RS232, IR, etc.
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1214682544/0

  • When you finalize the design, perhaps it might be a good candidate for Seedstudio's propaganda service. They could also supply a compatible matrix.

All the best with this project.

John

Nota bene : I used resistor networks in a QSOP package, but those don't really come cheap.
R220 = 2.35$ : http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=VSSR16-220-JI-ND
R330 = 1.89$ : http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=VSSR16-330-JI-ND
It might be interesting to use 0603 resistors instead, to cut the price down.

Well, I got around to looking at the datasheets for these little QOIC resistors, and also sampled some of those 0603 types. I already have a PCB on the way, so I will use the QOIC for that one, but the 0603 types are way way way cheaper (can't buy less than ten, and it's still cheaper). For whatever reason, 330ohms was 2/3 the price of 220ohm in the QOIC also.

keep us posted as you receive the PCB ^^

Yet another update. I'm still waiting for my rev01 board (based on melka's original) to be delivered, but I finished routing my rev03 board ideas already.

The rev03 has:

  • ten pin connection
  • only five pins required (GND, VCC, SCL, SCK, SERIN)
  • another five pins optional (SEROUT, GND, DIMR, DIMG, DIMB)
  • solder jumpers to connect DIMR, DIMG, DIMB to GND if not desired
  • one 0603 pad for capacitor

It may be required to have more capacitors to deal with major current switching, but I'll wait until I have the rev01 board in-hand to evaluate the situation on an oscilloscope. It may be a non-issue for one matrix.

This is part of what BatchPCB.com shows you when your design passes all the tests for isolation and trace sizes:

I'm also starting to think about how I can drive two 8x8 RGB matrices using three TLS5940 packages. Each package has 16 PWM outputs, so you either use 1.5 of the packages on one matrix, or three packages on two matrices.

WOW this is so awesome. I hadn't checked back at this thread for a while and am amazed at all the great work. I had thought to make a PCB but my Eagle skills are non-existent so I'm very grateful that folks have taken the time to do this. Looks excellent.

I had a small update on my end; I completed an enclosure for the device. I've uploaded some pics here:

http://picasaweb.google.com/francisshanahan/20090108LedMatrix#

The enclosure is cherry, lexan and 4 flat head stainless steel bolts to dress it up.

Again, for whatever reason I can't figure out how to get some decent pics of it.

Some Video:

Also had a video up on YouTube of my daughter playing with it.

What's great about this is the kids. They love it and it's a great learning tool. My youngest uses it to learn colors (red + blue = purple) and my daughter uses it to learn letters.

Overall this is was a great little project. Again, really excited to see where you guys take it.

Keep us posted.

-fs

http://francisshanahan.com
http://foolstr.com

Rickrolling RGB style ^^

video
video
video
video
video

Argh, well, it was good practice (my first SMD soldering job). I did okay with the soldering, and did get some lights to light up, but there are some circuit issues in my rev01 board that won't be easy to fix up in code or with a razorblade. (Some traces I would need to cut and re-route are underneath the SMD parts.)

The good news is that I think my next rev will be ready to run with the existing sketches found on madworm's original blog ("My 2µF"): http://blog.spitzenpfeil.org/wordpress/2008/09/21/8x8-rgb-matrix-first-prototype-on-perfboard/

Just have to wait for it to arrive. >sigh<

I have just got this LED matrix today, that's what I would like to learn later.
But I have not it's spec so that I even don't know the definition of all the pins...
Would u like to show me some information about the LED matrix ~
thx~ :wink:

As with any part, google for the word datasheet and whatever part number you find stamped on it.

halley : what are the exact problems you're facing ? just curious

melka, your schematic differs from madworm's in two ways, which is fine-- my rev01 which is based on your original schematic might even work with some software changes to madworm's example sketches.

The easier difference is the order of the 595 chips. Yours routes Green, Anodes, Red, Blue, which may have been useful in your PCB arrangement, but seems somewhat arbitrary in code. madworm's routes Anodes, Blue, Green, Red. This ordering is important as you shift all the bits into place.

melka, you take in SCL and route it to all 595 SCL; madworm takes in RCK and routes it to all 595 RCK. The unused pins are attached to VCC or GND in either case. So the SPI conversation needs to deal with this difference. I couldn't get it to work last night, but I expect it's possible. It might cause some blurring or flicker if done one way or the other, if I understand the datasheets correctly.

A third issue I have is the current OSX 0013 ISR problem. I changed the sketches to simply loop tightly and call the isr() routine directly, to avoid the ISR register bug on that version of the compiler. The ISR is the right choice, but I'll work around it until the compiler package is updated with the true fix.

I'm not complaining at all-- it was interesting excuse to study the two proposed schematics and the actual workings better.

Any progress on this project ?

I had my matrix doodad manufactured at seeedstudio and am still waiting for the PCBs to arrive. It's not a shield, but something like the sparkfun matrix controller/driver with the option to stack further shields onto it. The stacking headers expose PORTC and PORTD and provide power. I'm planning to build a battery backpack with a boost converter to make it run from 2 cells. The pin spacing should be perfboard compatible.


If it should turn out that we can share some code for driving the matrix, we might add it to the playground to share it with the community. Seeedstudio should provide easy access to boards as soon as I've confirmed it actually works :slight_smile:

Nice one, madworm ^^
Everyone is gonna have his little personal matrix, that will be nice, maybe we should have a contest ^^

My next revision of my RGB board (no embedded atmega) should arrive any day now, I'll let you know whether it works or not. It's not meant to be a shield, really, but it just so happens to fit the Duemilanove pin-outs for SPI and power. It should be able to use madworm's code directly.

It also uses those insanely tiny resistor arrays.

The one on the xacto blade is a four-resistor array, that's 8 pins to solder. The ones in the tape package are eight-resistor arrays with 16 pins. Should be fun... I don't have any solder paste.

Nice. I hope you won't have to wait for long.

I have a feeling that a few more eyes on that framebuffer routine will be a good thing. I haven't put any effort in speed optimization yet. Maybe it can be pushed to do more than 32 steps of brightness per color and leave a bit more cpu time for serial/I²C I/O. Maybe moving away from arduino's I/O functions could squeeze out a few µs. If that's documented well it should be understandable for people after a bit of reading.

Good luck with the resistor arrays.

May the flux be with you :wink:

I am just wondering, isn't there any maximum current/power limitation on the resistors? Theoretically, they should be able to take 160mA (20mA x 8 LEDs) at some point?