Go Down

Topic: Small 8x8 matrix driver? (Read 6582 times) previous topic - next topic

Nadav Ami

Hey guys,
Im working on a project thats supposed to be ultra slim (about 3mm total). I'm looking for an 8x8 LED driver (or really any way to drive 64 LEDs) but in a package thats about 1mm thin, really anything thinner then 1.6mm.
So far, I've looked at the MAX72xx series and a few others, but they are to big. I've also looked at the AS1116 LED drivers from AMS, but I have no idea how I would get it up and running with the Arduino.

Any suggestions would be of great help.

Cheers,
Nadav

fungus

#1
Oct 12, 2012, 08:16 pm Last Edit: Oct 12, 2012, 08:18 pm by fungus Reason: 1

Hey guys,
Im working on a project thats supposed to be ultra slim (about 3mm total). I'm looking for an 8x8 LED driver (or really any way to drive 64 LEDs) but in a package thats about 1mm thin, really anything thinner then 1.6mm.
So far, I've looked at the MAX72xx series and a few others, but they are to big. I've also looked at the AS1116 LED drivers from AMS, but I have no idea how I would get it up and running with the Arduino.

Any suggestions would be of great help.


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.
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Nadav Ami



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.

Nadav Ami

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

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.

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


No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Nadav Ami





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.




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...

fungus


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).
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

JoeN

#7
Oct 12, 2012, 08:47 pm Last Edit: Oct 12, 2012, 08:50 pm by JoeN Reason: 1
http://www.digikey.com/product-detail/en/MAX6960ATH%2B/MAX6960ATH%2B-ND/1512066
http://datasheets.maximintegrated.com/en/ds/MAX6960-MAX6963.pdf
http://pdfserv.maximintegrated.com/package_dwgs/21-0144.PDF

TQFN 0.8mm thickness - drives 1 or 2 8x8 matrices.  This part is available to sample.
I have only come here seeking knowledge. Things they would not teach me of in college.

CrossRoads

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)
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Nadav Ami

#9
Oct 12, 2012, 08:53 pm Last Edit: Oct 12, 2012, 08:56 pm by Nadav Ami Reason: 1
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 http://www.arduino.cc/playground/Main/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.


JoeN

#10
Oct 12, 2012, 08:55 pm Last Edit: Oct 12, 2012, 09:01 pm by JoeN Reason: 1

@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.  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.
I have only come here seeking knowledge. Things they would not teach me of in college.

Nadav Ami



@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, ...?

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.

JoeN

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.
I have only come here seeking knowledge. Things they would not teach me of in college.

CrossRoads

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.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Nadav Ami

@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.

Go Up