First PCB design questions

Hi,

I’m in the design and testing phases of a project involving an Arduino controlling several components as well as an array of LEDs. To drive these LEDs, I am using several daisy-chained tlc5940s, and am going to need to add these to a few PCBs to be mounted on risers on the inside of a box.

I created and attached a link to a schematic for what I’m looking for in Eagle 5.11, switched to board view to create the board, and used the auto-router for the routing (which after reading through some posts here as well as some tutorials, I think I will have to do manually to get better results). I then tried using the Sparkfun Eagle library (sfe-gerb274x.cam) in the CAM processor to create the gerber files, but was greeted with several error messages including “Unknown label: CAM Processor Job.” After more googling, I found the file “sfe-special.cam,” and it appears to work if I manually rename the output files. I also did set the routing grid to 8mil, as I found somewhere off the BatchPCB site.

The purpose of the board is to take 5 data input pins (SCLK, SIN, BLANK, XLAT, and GSCLK), forward them to the corresponding pins on the TLC5940, then send the appropriate output signals and power to DATA_OUT (for chaining: SCLK, SOUT, BLANK, XLAT, and GSCLK). There are also 16 LED_OUT pins to be connected to the RGB LED cathodes, as well as six 5v supplies for the common anodes.

I searched the forums and found [this thread regarding someone else’s TLC board, but I would rather have the ability to attach one TLC to one board and then get multiple board printed to fit my needs and also allow for future expansion/contraction of the design.

Would someone please check over my schematic/board and give me some pointers as to how to improve this design and tell me what I’ve done wrong or need to change to be able to send this to BatchPCB? Also, is a ground plane necessary? I will appreciate the help.

Thanks!

archive of schematic and board +images: http://mansion.dyndns-server.com/tlc_breakout.zip](My first PCB: A TLC5940 Interface Board (PWM LED Control) - SparkFun Electronics Forum)

Or, if downloading the zip seems shady, here’s some preview images:

http://mansion.dyndns-server.com/schematic.jpg

http://mansion.dyndns-server.com/board.jpg

thanks

A few tips:

  • Add a ground pin on your data connectors

  • Add a 100n bypass cap for the TLC5940

  • Add some bulk capacitance to the board

  • Using ground and vcc symbols instead of lines can help reduce clutter in a schematic

PCB:

  • Vcc and Ground traces need to be much thicker. I would also grow the LED traces.

  • Consider using a ground pour

  • Add pin 1 indicators to all connectors - usually a square pad and a dot or arrow in the silkscreen

  • Add a “+” label to the power connectors

  • Move the current-set resistor right next to the driver

  • Traces should exit pads at 90 degrees to avoid acute angles (acid traps)

  • Traces should have two 45-degree bends rather than one 90-degree one

  • You have some silkscreen labels on top of pads or vias.

/mike

n1ist:
A few tips:

  • Add a ground pin on your data connectors
Wouldn't this allow ground loops to occur? What I mean is, wouldn't this open up the possibility of large ground currents being carried on this narrow data wire?

For instance, I have a controller that interfaces with 4 slave boards over I2C. They are all connected to the same power supply (power + ground). Therefore the I²C cable from master to each slave should be 2 wires (SCL, SDA) instead of 3 wires including a ground, because the extra signal ground wire could carry large ground currents.

What is your reasoning for including the ground pin on data connectors? If it is necessary or desirable, do you need a series resistor to prevent significant ground current from passing through the signal wire?

n1ist:
A few tips:

  • Add a ground pin on your data connectors

  • Add a 100n bypass cap for the TLC5940

  • Add some bulk capacitance to the board

  • Using ground and vcc symbols instead of lines can help reduce clutter in a schematic

  1. I have a ground pin in the “Power” block (+Vcc, GND). I will label those better. Did you mean a ground pin other than that one?

  2. Where would the bypass capacitor go? Do you mean so the TLC can be bypassed, or that it can bypass anything after itself in series?

  3. How would that be accomplished? With the ground plane (pour) I mentioned earlier?

  4. Will do.

Thanks, Mike!

  1. Where would the bypass capacitor go? Do you mean so the TLC can be bypassed,

or that it can bypass anything after itself in series?

Put the by-pass cap across the Vcc and gnd pins of the IC that is as close to both pins as possible. If you put a ground plane (or pour) then the by-pass cap can be very close to the Vcc pin to the ground plane.

A by-pass cap is needed on all ICs and its purpose to to supply very short demands for current as the internal transistors switch.

On your PCB I would use wider traces every where. The design is not that dense so there is plenty of space.

It never hurts to include a pin for ground on connectors. What is going to be connected to the ‘control in’ connector? A processor? Then there needs to be a ground reference from the processor IO pins. You can always not use the pin if its not needed but its a mess if it is needed and you need to run a separate wire.

I prefer having ground pins on data connectors. If using ribbon cable, I try to run every other pin as ground. This gives some shielding between signals.

The bulk capacitance is an electrolytic cap between Vcc and Gnd. It’s best to have it near the regulators or where power comes onto the board, but placement isn’t too critical.

/mike

n1ist:
I prefer having ground pins on data connectors. If using ribbon cable, I try to run every other pin as ground. This gives some shielding between signals.

Using ground conductors as shields between high-speed signal conductors is a good idea, **but I reiterate my previous concern about ground loops** and undesirable ground currents when the two devices on the data bus share a common ground already. Is my concern unfounded? If so, what is to keep large currents from being conducted over the data cable's ground conductor? Do you need to protect against ground loops in this situation? How is this done in, for instance, PATA cables that have multiple ground conductors but also have separate power connections, having a common ground for both ATA controller and ATA drive.

It’s been a little while since I’ve been able to work on this project, but I’ve done some work based upon some of the advice from n1ist and waltr.

Schematic:

http://mansion.dyndns-server.com/Schematic.png

Board:

http://mansion.dyndns-server.com/pcb.png

A couple things I noticed right after finishing these:

  • I need to have traces exiting pads at 90 degrees to avoid acute angles (re: n1ist)

  • Is the current set resistor close enough to the driver? Should I put it directly above the driver at a horizontal orientation?

  • Need to add pin 1 indicators (re: n1ist)

  • How can I add bulk capacitance to the board? (Is that taken care of with what I have?)

Anything else I need to do/know?

Thanks again for the help.

/c

I’ll guess that the “Data IN” and “Data Out” are connectors to another device.

You will need a ground connection between these two devices so add another pad and connector pin.

waltr:
I’ll guess that the “Data IN” and “Data Out” are connectors to another device.

You will need a ground connection between these two devices so add another pad and connector pin.

Thanks, I will add another connector. Data In for the first pcb will be the Arduino output lines. Data out will allow for daisy-chaining these pcbs (0 or 1 pcb can be connected via Data out).

Hello mates

I design to my first pcb to. I want to test manufactor pcb to some cheap pcb manufactorer (example: iteadstudio). I learning to use Eagle and i am very thankfull if you have some url’s to video or normal tutorials about Eagle. Tangent tutorials i look. Device is arduino uno shield what basically runs curtain up and down.

This is my first eagle circuit and shema, i am very thankfull all tips what related eagle, pcb design, components or something what i need to know when i send pcb to manufactorer.

LassiVVV-

Please don’t hijack existing posts; start a new one if it is a new topic.

A few comments on the design:

Schematic:

  • Use additional ground and power symbols rather than drawing wires between all ground points; it will make the schematic less cluttered and easier to follow.

  • Wires should not be drawn across symbols (like the digital 8-13 and sw2 connectors)

  • Avoid having 4-way junctions in a schematic (use 2 3-way junctions instead)

  • I would add some capacitors to deal with switching and motor transients

PCB:

  • Power traces are too long and thin

  • Route the ground trace for the motor separately from the ground trace for the rest of the circuit, connecting them at one point. As it is now, motor noise will be modulating your analog signal from the pot

  • Likewise, run a separate trace from the 5v pin on the connector to the pot

  • Avoid 90 degree bends on traces

  • Avoid having traces connect to pads or other traces at acute angles; these can form acid traps

  • Will T1 need a heatsink? If so, you may need to move R1 and be careful with top side traces that could short out to the sink

/mike