SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
User avatar
By bigglez
#31167
voxel wrote: I had a couple questions about the diagram: pins 18-25 show as being connected to ground (0V)... Does that mean that pins 18-25 are ground, or does it mean that they need to be grounded to some 'external' ground?
voxel,

Yes, more details here.
voxel wrote: I'm pretty sure those pins act as ground, and if thats the case, can the the 0V ground under the 220pF capacitors just be connected to the ground pins 18-25?
Yes, Its a shorthand to use labels to identify connected circuits. The issue would be if the grounds are not connected (one will have a different name) or they are connected phyically in a prescribed way (single-point, star, for example). This application is not in that class, and a breadboard will suffice.
voxel wrote: Also, the diagram does not mention what V+ should be? 5V?
Yes, again shorthand or drawing style.

Wow, three 'yeses' in a row, you must be getting the hang of the hardware art!

Comments Welcome!
By Morrog
#31355
Yay! The samples arrived today :D I don't know when I'll play with the chips. Using straight shift registers is a much cheaper option, since these things are something like $10 a chip.
User avatar
By bigglez
#31414
Morrog wrote:Yay! The samples arrived today :D I don't know when I'll play with the chips. Using straight shift registers is a much cheaper option, since these things are something like $10 a chip.

Morrog,

Digikey has them for $10.81 each in single pieces. (Maxim direct has them for $3.99 ea in 1kU).

Even at $10.81 that only 16.9 cents per LED. What's your solution cost (per LED)?

Comments Welcome!
By Tomasu
#31427
I'm looking at doing a project with a massive amount (60+) of leds as well, and as far as I can see, using the MAX chip is worth it just for the amount of actual work it should save. Yes, I'm lazy ;)
By voxel
#31480
I wish my samples would get here already :?
Oh well, in the mean time I've gotten a new soldering iron and still need to get the resistors and capacitors in the wiring diagram... What power rating should I use for the resistors?
User avatar
By bigglez
#31482
voxel wrote:I wish my samples would get here already :?
Oh well, in the mean time I've gotten a new soldering iron and still need to get the resistors and capacitors in the wiring diagram... What power rating should I use for the resistors?
voxel,

Any commonly available type. The actual worst case rating is just milliwatts (5v, 4700 ohms). Typically 1/4W or 1/8W (a little harder to find).

My MAX7219 samples arrived a few days ago (I was away on business). I'm fabbing a PCB (through BatchPCB) with all SMT parts. The display grid using 64 1206 size LEDs is approximately 40mm x 40mm (1.5 x 1.5 inches). Look really Kewl so far! (I'm manually routing it today).

Comments Welcome!
By Morrog
#31516
What's your solution cost (per LED)?
I'm using shift registers, 74HC595. Darned easy to use, probably easier than the MAX chip (well, besides all the resistors that need to be soldered ...)

In single orders, they're $0.62 each. $0.0775 per LED. 10+ quantity is $0.44 each, $0.055 per LED.
By voxel
#31903
*sigh*
Well I finally received my MAX7219 samples in the mail... Nearly 3 weeks after shipment... But Canada Post was kind enough to put a plastic bag over the (visibly water damaged) envelope with a generic apology on it... thanks guys.. A bubble-wrap envelope was used and the chips each came in small plastic containers, so I think they should be fine...

I wish I was playing around with it now, but I am at work.. so I'll have to wait until tonight when I get home to play :?
I stopped off at my local electronics shop to pick up the remaining resistors I needed for the circuit in this article to interface with the 7219... They were out of 560ohm resistors, so I got 2 packs of 330 & 220 ohm (550ohm in series) which should work fine (no?)
Also, I remembered I had a small power supply used to power computer peripherals... it has a molex connection with 5V and 12V rails that can (supposedly) each supply 1.5A.. so that should work for now.
Anyway, I would like to say I really appreciate all the help you guys have given me! And I'll keep you posted on how my experimenting goes :D
User avatar
By bigglez
#31908
voxel wrote:*sigh*
I stopped off at my local electronics shop to pick up the remaining resistors I needed for the circuit in this article to interface with the 7219... They were out of 560ohm resistors, so I got 2 packs of 330 & 220 ohm (550ohm in series) which should work fine (no?)
voxel,

The 560 ohm resistors are not critical. Could probably be removed...

They form a hash filter along with the small capacitors to prevent noise form the PC side upsetting the circuit. I put 'placeholders' on my PCB eval boardfor the MAX7219.

I expect to see my PCB from BatchPCB after the 4th July break (I'm out of town most of that week anyway), I'll post some results and PIX.

Comments Welcome!
By EmbeddedMan
#31909
Just an idea if you're looking for really cheap ways to drive large amounts of LEDs - you could use a PIC16F59, which, in quantity of 100 from Digi-Key is $.99. Since it is a 40 pin PIC, with 32 I/O pins, that's 3 cents per I/O - LED. Those IO can drive 20mA I think and so will self limit (run it at 3.3V maybe) so you can possibly even get away from the current limiter resistor.

Then you can write a little bit of PIC code to do PWM of the LEDs, or even simple data decoding/driving of patterns, etc.

Or, just write a couple lines of code to simulate a shift register. :)

*Brian
By oPossum
#31911
Wow, a 40 pin PIC for a buck! (@ qty 25)

25 mA per port pin, but 100 mA per port. So 12 mA if all outputs are allowed to be on at once - more than enough. Usually not much to gain by going beyond 10 mA continuous on the average LED.
By voxel
#32147
Well I've built the circuit needed to start messing around with the MAX7219 from a PC, I just need to pick up a male-female DB25 cable in the next day or two...
I was reading the datasheet for the MAX7219 and noticed mention about choosing Rset to limit current to segments (on page 10)... However, the article (mentioned above) doesn't mention anything about adding additional resistors besides the ones here..
So should I be worried about this Rset? I was under the impression I can just drive the LEDs directly from the MAX7219.. ?

Also, I'm a little confused as to how I should be connecting the LEDs to the MAX7219.. I plan on starting with a single row of 8 LEDs. So I figure that connecting the 8 LEDs to the 8 segments of the first digit would be best, then scale up... But how exactly should I connect them? I'm going to take a somewhat educated guess and say that the DIG0 (pin2) should somehow be connected to all 8 LEDs, where each SEGx pin would be connected individually?

edit: I just noticed on the 1st page of the datasheet, there is a 9.53k resistor between V+ and I_set (pin18).. Do I need to add that resistor for my application?
User avatar
By bigglez
#32299
voxel wrote: So should I be worried about this Rset? I was under the impression I can just drive the LEDs directly from the MAX7219.. ?
voxel,

You will need to include Rset. It provides a reference current to the chip, which in turn sets the max current for the LEDs. The minimum value is 9.53k, you may round up to a standard value (10k), or add a pot and resistor together for future experiments. The Rset pin can be modulated by an external signal if desired. Rset established the highest LED current, and PWM of the outputs can be used for dimming the LEDs.
voxel wrote:Also, I'm a little confused as to how I should be connecting the LEDs to the MAX7219.. I plan on starting with a single row of 8 LEDs. So I figure that connecting the 8 LEDs to the 8 segments of the first digit would be best, then scale up... But how exactly should I connect them? I'm going to take a somewhat educated guess and say that the DIG0 (pin2) should somehow be connected to all 8 LEDs, where each SEGx pin would be connected individually?
The LEDs form an XY matrix. You can use either common anode or common cathode buses for your LED matrix.

For the first set of eight LEDs, connect all the anodes together and to SEGA (pin 14). Each cathode goes to DIG0 through DIG7.

The second set of eight LED anodes are connected to SEGB, and the cathodes to DIG0 through DIG7.

The eight and final set of LED anodes are connected to SEGDP, and the cathodes to DIG0 through DIG7.

A full matrix has 64 LEDs, Each one has seven others on the anode bus (SEG)and seven others on the cathode bus (DIG).
voxel wrote:edit: I just noticed on the 1st page of the datasheet, there is a 9.53k resistor between V+ and I_set (pin18).. Do I need to add that resistor for my application?
Yes, as noted above.

FWIW, my BatchPCB for this project should be here, any day now. Stay tuned!

Comments Welcome!
By voxel
#32443
Well I have my circuit set up on my breadboard, and have checked and re-checked it and cannot find any errors. My LEDs still won't light up! :?
I have them connected as common cathode. The only thing I can think of is the actual parallel connection might not be working properly.
I have a small DB25 breadboard adapter that makes connecting the parallel port super easy, but I'm wondering if I have the right pins connected, because in the wiring diagram it seems like the pins are numbered as if you're looking 'outward' from the internal circuit 'through' the parallel port... if this is not the case, then the pin numbers would have to be mirrored...
Anyway, I am going to bring my circuit into my electronics lab at school and check some stuff using the oscilloscopes there... *sigh* this is frustrating

Has anyone else experimented with the software from MAXIM for the MAX7219? Has anyone successfully used the 'Utility' portion to read/write raw data to different addresses?
User avatar
By bigglez
#32457
voxel wrote:Well I have my circuit set up on my breadboard, and have checked and re-checked it and cannot find any errors. My LEDs still won't light up! :?
voxel,

Congrats on getting this far! Unfortunately, there's not much we can do over email/BBS. Its a good exercise to hone your troubleshooting skills. Let us know what you discover.
voxel wrote:but I'm wondering if I have the right pins connected, because in the wiring diagram it seems like the pins are numbered as if you're looking 'outward' from the internal circuit 'through' the parallel port... if this is not the case, then the pin numbers would have to be mirrored...
These ports and connectors are very common and standard. First check for a wiring error, then 'buzz' the active pins (there's only four signals and one ground in this project) with a DMM on low ohms. Also look for shorts. ignore any labels on the carrier board - you only care that the right pins on the PC side go to the right connections on your proto board.
voxel wrote:Has anyone else experimented with the software from MAXIM for the MAX7219? Has anyone successfully used the 'Utility' portion to read/write raw data to different addresses?
Not yet. Notice that VB doesn't support the parallel port, and you'll need to download and install a third-party DLL. (You probably know this...)

BatchPCB dropped the ball on my PCB order (for the MAX7921 PCB that I designed in June), so I have to wait two more weeks for a make-good. This has to be the worst customer service arrangement (commit to the order, pay by credit card, be billed the same day - then wait in silence for two weeks hoping nothing went wrong). If the BatchPCB web site had more than two status states (Panelized and Shipped) the problem could have been spotted and correct earlier...

Comments Welcome!