Small 8x8 matrix driver?

fungus:
What are you going to fix it to? A PCB is thicker than that...

Is an external chip needed? You can do multiplexing with the Arduino, it just takes more programming effort.

Its actually going to soldered onto a 0.8mm PCB.

Also, an external chip would be ideal, since I would like to use as little as possible of the Arduino's pins...

The chip package is mostly plastic. If you splay the legs out you can probably grind it down very thin by rubbing it on sandpaper. It won't be easy, you'll probably wreck a few while you're finding the limits...but it could work.

Where does the Arduino go? The AVR chip is bigger than the MAX7219. Can't you put it in the same place?

fungus:

[quote author=Nadav Ami link=topic=126899.msg954243#msg954243 date=1350065985]

fungus:
What are you going to fix it to? A PCB is thicker than that...

Is an external chip needed? You can do multiplexing with the Arduino, it just takes more programming effort.

Its actually going to soldered onto a 0.8mm PCB.

The chip package is mostly plastic. If you splay the legs out you can probably grind it down very thin by rubbing it on sandpaper. It won't be easy, you'll probably wreck a few while you're finding the limits...but it could work.

...or you could use the Arduino to do the multiplexing.

[/quote]
Thats actually just got me thinking, I may just use a second atmega in a qfn package as the driver, and use the first (main) arduino to send serial commands to the second...

If you're making your own PCB and can use qfn parts then that'll work.

You might even be able to use a cheap atmega (less memory, etc) which costs less than the MAX7219 (not difficult, given Maxim pricing).

http://datasheets.maximintegrated.com/en/ds/MAX6960-MAX6963.pdf

TQFN 0.8mm thickness - drives 1 or 2 8x8 matrices. This part is available to sample.

The surface plastic bodies are 1.2m ('328) to 2.5mm (MAX7219) thick.
You could always put a hole in the board and mount the parts(s) upside down in the hole; the top of the part would be seen from the bottom of the board, and the Tops of the legs would be soldered to the top of the board. (vs the bottom of the legs)

Thats right, I forgot to mention that I will be having the pcbs made. So all of the parts will be fine pitch surface mount parts.
And yeah very true, do you have any recommendations on a specific atmega? Also, im thinking ill adapt the Arduino Playground - DirectDriveLEDMatrix code, but do you have any ideas on how I would do the communication?

@JoeN: As for the MAX6955, I feel like it would be more effort then its worth to make a whole new library, though i'm still definitely considering it, thanks! Also the cost of the MAX6955, is quite a bit higher then that of an atmega...

@CrossRoads: I would do that, but the entire project is going to be about the size (though thicker) of a credit card. So I don't want to have holes milled into the pcb, since im essentially cutting into the "front panel" of the board.

Who needs a library when you can just bitbang the bits that the chip wants at it? That is what I did when I wanted to figure out how the MAX7219 worked. Read the datasheet and you will find that the bits you have to send at these chips are simpler than you would expect. They are just ones and zeros. I thought every idiot could count to one, someone told me that once I forget the dude's name.

SAMPLE THE PART. You can get two. I know this for a fact. If you don't end up using it, ...?

Hell, I'd send you one of mine, but I got them in SSOP package.

JoeN:

[quote author=Nadav Ami link=topic=126899.msg954283#msg954283 date=1350068011]
@JoeN: As for the MAX6955, I feel like it would be more effort then its worth to make a whole new library, though i'm still definitely considering it, thanks!

Who needs a library when you can just bitbang the bits that the chip wants at it? That is what I did when I wanted to figure out how the MAX7219 worked. Read the datasheet and you will find that the bits you have to send at these chips are simpler than you would expect.

SAMPLE THE PART. You can get two. I know this for a fact. If you don't end up using it, ...?
[/quote]
Ill for sure sample it, nothing to loose there. Though i'm more of a hardware guy, so it still seems like quite a bit of effort for something that costs over twice that of the atmega.

What quantity are you going to produce this in? I guess we didn't ask that and it matters if it is going to be made in quantity. You are right, that is an expensive chip, really more expensive than justified considering what you can get those old 7219s for.

You could use a '168P, need 16 lines to the matrix and 2 lines for serial comms.
Make 8 bytes to represent the 8 columns of LEDs, 1 bit each row.
For each column, drive the anode, sink the cathode of the LED in that row if it is to be on.
Unsink the cathode, hit the next part.
In between columns, check for serial data coming in, update the bytes as needed and keep on going.
MAX7219 refreshes at 800 Hz.
If you leave each LED on for 500uS * 64 LEDs = 0.032mS, or 31.25 Hz refresh rate.

Better way would be to add part like ULN2803 (or transistors) and drive a while column at a time, bumps up the refresh rate a lot.

@JoeN: I'm probably going to have them made in batches of about 50 to 100, still a bit early to know for sure.

@CrossRoads: Thanks! That seems perfectly logical. Im still pretty new when it comes to serial, but I was thinking it would be better to send a whole frame to the second atmega, and have it display it till a new frame comes in.

You could do that, only need 8 bytes, maybe a starting sync byte, ignore all messages until the synyc byte comes in.
Or a sync message every 10 frames or something similar.

Yep something like that, though im still not totally sure exactly how im going to go about it. Like I said, i'm not much of a software guy... Though I think I would need the end product to be something like this SparkFun LED Matrix - Serial Interface (Red/Green) - COM-00759 - SparkFun Electronics (only much smaller).

Depends on the speed you need.

Both will have serial ports (easy, but slow). Both will have SPI (a bit harder but fast).

I'd probably need SPI, though how slow is slow if I wanted to go the serial port route? Also the main atmega, would run at 8MHZ so it wont be super speedy anyways...

Any smd avr with sufficient number of pins will do.

It's not really about "fast" or "slow", it's whether it's fast enough for your needs.

First you have to figure out how much data you need to send...

Well I figure since its an 8x8 matrix, I would need to transmit 64bit strings of data at a time (maybe a few extra bits to signal a new frame is coming in or things like that)