Schematic/Board design check (MAX7221 based board)

How does it mount to the Prop? Screws? Tape? Bubblegum? Does it run along only 1 blade or is it across 2 of them?
Do you have a header for connecting and disconnecting the device?

And just out of curiousity, not as a critique, does everything mount to the prop, or do you have some form of rotating connector?

  • it mounts to the 'prop', as in it, presses up to a 'window' and is secured from behind (I believe there are some screws and some pieces/plate' to hold it up)

  • not sure what you mean by 'does it run along one blade or two'? its a single 'string' (matrix wired) to be used as a 'counter' (although Im sure other animations could be done.. ie: larson effect...or whatever you wanted)

*there is no header... there are 'pads' to direct solder wires to

  • yes I believe everything will mount IN the prop. this 'bargraph/counter' will be mounter in one section/area..... there will also be another 'brain/arduino' in the main unit/area of the prop there will be some sort of wire connector used but it really irrelevant at this point.. as it will be determined by what fits the actual prop/mating areas best.

thanks!

anbody got some feedback on the schematic? any errors? :slight_smile: the pcb passes the design rules check so I'll leave it up for a few more days before giving it a 'try' and ordering.

thanks!

Are you talking about a propeller or a stage prop? :~

as in 'stage prop'....

xl97:
as in 'stage prop'....

As I thought, but others have taken 'prop' to mean propeller, hence the confusion.

Yep I was assuming an airplane propeller. My apologizes. The shape and the word prop made me think of a Persistence of Vision type device.
Its somewhat hard to tell if you've done anything terrible on the board, as you can only really see one side. Possibly posting the eagle file/files would help, though I don't personally own eagle but others might be able to check.

I still would recommend you include some form of connector, as while soldering directly to the board WORKS, it isn't the most robust design, and if this is a stage prop, I assume it will be moved around to some extent between scene changes, and movement and vibration can cause a lot more damage than you would expect, eventually leading to one of the wires breaking off. Though you can get away with either hot glue or epoxy as a strain relief, though I would then move the connections further away from the edge, or add more edge, just so you have something rigid to attach to that is not soldered wire.

The Schematic looks relatively well thought out. I'm not an expert on the MAX7221 though.

Looks okay to me. .brd could have been bigger for review. What size vias are you using?
Do you have ground planes as well?
Connector - you could use a right angle SMD connector so you pins to slip a connectorized cable onto.
For example

CrossRoads:
Looks okay to me. .brd could have been bigger for review. What size vias are you using?
Do you have ground planes as well?
Connector - you could use a right angle SMD connector so you pins to slip a connectorized cable onto.
For example
http://www.digikey.com/product-detail/en/S5B-PH-SM4-TB(LF)(SN)/455-1752-1-ND/926849

thanks Everyone/CrossRoads-

  • I think my vias are as small as I can use use/get them.. (.012? off top of my head) (I have used them before with iTead)

  • RE: ground planes? hmm.. not sure? I use the polygon tool to make a 'rectangle' over the top of bottom layers.. if thats what you means? if not..how do I go about doing so? (reminds me to check if I named the polys now too)..

  • I'll check out smd connector link..

thanks..

12 mil vias, that's what I use also, 10 mil signal traces.
Polygon, yes be sure to name them Gnd.

Will take a look when I get home.

question:

I got to thinking about the current needed for this project..

I know the MAX chip multiplexes (which I understand means, it blinks very fast as to give the allusion of all leds being constantly 'lit'... but I remember (maybe from the datasheet) about that I'll need to be able to supply enough current for at least 1 segment fully lit? or some other similar rule to use?

I think the SMD vRegulator I am using only lets through maybe 150-200mA tops its rated for?

(I am also working on another project for this with another MAX chip.. but using a 3-digit, 7-segment display/unit instead of a string of SMD LEDS.. so this answer will help me there as well)

thanks!

I think it powers one digit at a time.
If there are less than 8 digits, you may have to lower the current because the ontime increases and could burn out the LEDs, I think that's what I read previoulsy.

hmm.. Im not grasping??
(still un-clear if the regulator needs to be changed out to a bigger one before getting pcb's made or not?)

there will be only 3 digits (in the 7-segment project) and 30 SMD leds in this project above..

I think the Iset resistor limits the current per segment......yes? I think I have it set for around 23k for 20mA or so?

per SEGMENT? (as in group of 8 led? or segment as in the 7-segments that make up the numeral?)

thanks!

morning bump.. :slight_smile:

Read this, then reconsider your Iset value:

Scan-Limit Register
The scan-limit register sets how many digits are displayed,
from 1 to 8. They are displayed in a multiplexed
manner with a typical display scan rate of 800Hz with 8
digits displayed. If fewer digits are displayed, the scan
rate is 8fOSC/N, where N is the number of digits
scanned. Since the number of scanned digits affects
the display brightness, the scan-limit register should
not be used to blank portions of the display (such as
leading zero suppression). Table 8 lists the scan-limit
register format.
If the scan-limit register is set for three digits or less,
individual digit drivers will dissipate excessive amounts
of power.> Consequently, the value of the RSET resistor
must be adjusted according to the number of digits displayed,
to limit individual digit driver power dissipation.
Table 9 lists the number of digits displayed and the
corresponding maximum recommended segment current
when the digit drivers are used.

even more confused. =( :~

there is no Rset and Iset? (I guess Im not clear on what exactly Iset is?,.... Since I only have Rset on the pcb at the moment.)

Rset is the only ting I see in this base diagram, that I went from:
http://playground.arduino.cc/Main/MAX72XXHardware

@ Table 8:

I see I want 3 digits: Display digits 0 1 2*

So I need to set this in the code:
#define SCANLIMIT_ADDRESS 0xX3 //

correct?

@Table 9:

I see MAX Seg Current is: 30mA (for 3 digits like I'll have)

@ Table 11:

The Rset table.. I see this:

I only wanna give 20mA to any segment, vF of blue leds are 3.2vF so I picked between the 3.0vF setting and the 3.5vF setting.. around 23k or so..

I see the info.. just not sure how to put it together since Im making a mistake somewhere/how?

Rset determines what Iset is.

SCANLIMIT_ADDRESS is the address of the register, 0x0B,
you have to write to it and put in the number 0x02 for 3 digits.

23K might be okay 0. Blue's tend to seem brighter than other colors, so you may end up increasing Rset to dim them down some more.

Whoops..

sorry copied/pasted the line/value under it..

correct:

0xX2

as in: #define SCANLIMIT_ADDRESS 0xX2 //for 3 digits (for the 7-segment display thread)

and: #define SCANLIMIT_ADDRESS 0xX7 //for all 8 digits (for this thread to match board & schematic here, SMD leds in a line/strip)

23k was always my initial value.....

so Im still left wondering what you meant when you say I might reconsider that value? and where I went wrong or wasnt understanding? (just trying to learn/have TRUE understanding for next time) :slight_smile:

Rset (resistor) determines the Iset (current) given to the 'segment'...
meaning if using a 23k resistor for Rset.. and giving (about) 20mA max per segment...yes?
multiplexed.. so each led/segment (when blinked/on) will get 20mA....right?

this PCB/circuit.. will have 30 x 1206 SMD leds in a LINE.... and ALL 30 can be lit up at the same time...

this is NOT the same project as the 3-digit, 7-segment display post (that is similar using a MAX7221 chip as well)

(I know, and Im sorry its confusing)

So for THISproject I woulnt NO set scan limit to be for 3 digits...

however.. since the 1206 SMD leds will also only be getting 20mA (max) ... I would assume the Rset resistor is similar?

This part is wrong:
as in: #define SCANLIMIT_ADDRESS 0xX2 //for 3 digits (for the 7-segment display thread)

and: #define SCANLIMIT_ADDRESS 0xX7 //for all 8 digits (for this thread to match board & schematic here, SMD leds in a line/strip)

You want
#define SCANLIMIT_ADDRESS 0x0B
and add
#define SCANLIMIT_VALUE 0x02 // 3 digits, 0x07 for 8 digits

and used thusly as an example:

digitalWrite(max7221CS, LOW);
SPI.transfer(SCANLIMIT_ADDRESS);
SPI.transfer(SCANLIMIT_VALUE);
digitalWrite(max7221CS, HIGH);

3 digits = 24 segments
4 digits = 32 segments

All I'm saying is 20 mA and Blue LEDs may be a lot brighter than you anticipated - so you may have to increase the Rset value to tone them down.
ALL 30 can not be lit up at the same time, that would violate the 800 Hz multiplexing the mac7221 performs and that you cannot change. At most, only 8 segments can be on because only 1 Digit line will be active at a time.

DOH!..

I see I was using the #define for ADDRESS not VALUE (thanks.. I kept over looking that part and was focusing on the VALUE)

  • understood about the Rset.. (might be too bright)

  • RE: all 30 leds on...

to be clear. (so we talking about the same thing/same page).. they will APPEAR to be all on... (because of the multiplezing..no?)

keeping to the 30 x SMD leds project...

it will only truly have 1 group of 8 leds "ON" at any given time.. but because of the multiplexing..and blinking VERY VERY fast (faster than the eye can see) it will look as if all 30 are on..

this is what I meant...

with this clarification.. does your statement/advice still hold true?

I mean how do people make LONG bar graph counters? or take a MAX7221 chip..use all 64 leds in can handle in a matrix.. and counter down form say 64-0? dimming 1 led on each cycle/loop...(or whatever)

In my old, initial tests with the MAX chip.. I had all 60 leds lit up in a strip (wired up as matrix).. and lit them up each consecutively..then dimming by 1 consecutively...

(again I know they are all TRULY lit at the same time.. but because it multiplexing so fast.. it appears they are all lit up when viewed in person)

You have 8 data registers you write to in the max7221, each bit in a register is 1 segment in a digit.
So with 30 segments, you would use 4 registers.
Register1 = segments 0-7
Register2 = segments 8-15
Register3 = segments 16-23
Register4 = segments 24-29, with 30-31 not connected.

With everytime period that you perform an update, you send new data to these registers.
It could be 1 segment on that you walk across:
B00000010, B0000000, B00000000, B00000000
then
B00000001, B0000000, B00000000, B00000000
then
B00000000, B1000000, B00000000, B00000000

or it might be an growing bar:
B11110000, B0000000, B00000000, B00000000
B11111000, B0000000, B00000000, B00000000
B11111100, B0000000, B00000000, B00000000

How you code those 4 registers, and how often you update them, say to smoothly follow a turning potentiometer that's the interesting part of coding.

Yes.. I understand/remember that from a while back and my first attempts with the MAX7221 chip(s)..

I 'believe' I am in the same understanding (for the most part) as you...

but your posts (tone) is making me feeling like I'm not? or Im leading you to believe Im not perhaps?

for THIS project/thread..

it will start out all 'ON' (all 30) <- on in tongue in cheek though.. as to what is 'seen'..

so I will have:

B11111111, B11111111, B11111111, B111111100

to turn on all 30.

(this will be multiplexed [quickly turned on/off] to make one looking at it..that all 30 (the whole strip) is lit up...correct?)

then...

whenever a user action is triggered..

I'll

B01111111, B11111111, B11111111, B111111100
B00111111, B11111111, B11111111, B111111100
B00011111, B11111111, B11111111, B111111100
B00001111, B11111111, B11111111, B111111100

and so on.. until all '0's'

ok..

at this point.. I 'think' the schematic is sound? (I havent heard otherwise)..besides its fairly easy schematic to build/follow..

the board file.. well maybe not as pretty as some of the more experienced members here.... but seems ok to me.. and passes all design rule tests for iTead..

the Rset can be tweaked/set/changed even once the pcb's are here... (or future population of said pcbs)..

so thats on a PCB error.. or anything to stop ordering these.....

as far as animation/looks.. thats all done in come.. and not pcb/hardware related..

Im hoping this is a 'wrap' then.. :slight_smile:

(now I need to finally the 3-digit, 7-segment display issues.. (Eagle part and ensure I have the right physical display on order..etc)

thanks!