I just finished designing my first project for fabrication, and I was wondering if anyone would mind looking over my project to see any possible errors.
Major issues I am worried about:
Traces too small
Traces connecting to the wrong thing, risking shorts
stuff too close together
Anything that catches you eye that could result in a failure to have the board work.
There are two boards in this project. One is a control board that uses an ATMega328 to read data from a bluetooth reciever and then trigger pulsing signals on the MCP23017 port expanders.
The other board recieves signals from the port expander and transfers them to LEDs.
To make things simpler, I am linking to GerbLook.
Note that the one labeld Control Board no expansion header is outdated, and does not need to be checked.
I know this is a KiCad forum and all but I think you would get a lot more help if you just post screen grab picture of the schematics and PCB layouts. Its quite an effort to download and setup your project files for a full review.
Regarding your major worries
Trace width is dependent on factors like your PCB fabricators capabilities, the current carrying capacity of said traces and any required impedance characteristics you may need.
This is going to need a full system review and probably out of the scope of the most generous contributor on this forum. Have you performed ERC in the schematic and DRC in pabnew?
Basically welcome to the world of electronics design. Anything is such an open ended question. Typically anything can and will go wrong.
The only things I would be tempted to do with that layout, if I were sending it off to be made, would be
to fatten up the signal traces where possible. Fatter traces are less prone to lifting off with excessive soldering iron application, or rework of the board subsequently. It also wastes less etchant, from the fab’s perspective.
put a design revision number on the layout too. If you do another version of the board, it’s less confusing for everyone when it comes to sending off the gerbers.
there’s plenty of room. You could put part numbers within or adjacent to the particular footprints on the silk layer.
I routinely use 40 mil traces as a default signal width in simple, low speed stuff, but some people used to the minimum thickness lines think it looks a bit like EDA brutalism. Obviously this makes routing between pins and more compact layouts harder. In your case, fattening up some of the parallel traces might require them to be spaced apart more too.
Others no doubt would have different opinions on default widths.
Wider traces might are also more suited to home etching, especially if drilling.
You might want to put the relevant licence on the board too, if it is an open hardware project.
If I recall correctly, the board fab used by my employer likes to see (minimum) 8 mil traces with 8 mil spacing, although 6 mils is still considered a “standard” job. Since all of the boards I have done with KiCAD are manually assembled, I use 20 mil traces wherever possible and try for 30 mil spacing, although it’s not uncommon to settle for 20 mil spacing or sometimes even less. (Especially when passing traces between component pads.) Many of my footprints have over-sized pads to make room for a soldering iron tip.
[quote=“erichVK5, post:8, topic:6412”]
2) put a design revision number on the layout too. If you do another version of the board, it’s less confusing for everyone when it comes to sending off the gerbers. [/quote]
This is VERY sensitive to the “house rules” of your employer or client. Unless I’m told otherwise I put the bare board’s part number and rev level in copper on the back side, and the assembly’s part number on the front-side silkscreen - with a rectangle or oval of silkscreen ink where the assembly rev level can be noted with permanent marker.
Putting part numbers or values on a board can be helpful for manual assembly or subsequent repair activities but it’s also problematic, since this information may change during a product’s production lifetime. (E.g., when purchasing gets the BC860 transistors from a different source, a 1200 ohm emitter resistor may give better performance than the original 1500 ohm resistor.)
What would be the risk of not making the traces that big?
A .1mil trace can easily handle 500 mA (according to http://www.circuitcalculator.com/wordpress/2006/01/31/pcb-trace-width-calculator/), which is well over my max draw in most cases.
I am going to manually assemble this, but going back and changing the trace width of every single trace (especially on the control board), is basically just completely redoing this project, and I am on a bit of a deadline.
My first thought was “I don’t think so…” Statements like this will get you in trouble, because they are (nearly) always predicated on a set unstated assumptions. Length of trace? Copper thickness? Internal or external layer? Ambient temp? Allowed temp rise on the trace?
Using a 1" length trace in 1 oz copper on an outer layer with a 10C rise allowed at 25C ambient, that calculator you mentioned said it would need a 4.55 mil trace width. To get to a 1 mil trace you would need the temp rise to be more like 120C – not a good idea, IMO. Perhaps you meant 0.1mm trace width (~3.9 mil)? That would be at least in the ballpark of reasonable.
I am having trouble discerning if the copper pour on the underside is all ground plane or not, or if there are islands of isolated copper hanging off of long ground or signal/power runs. For low speed stuff it may not matter wrt EMC/RFI etc.
I gather people sometimes make a footprint containing a pin for use as a stitching via to join ground planes. In gEDA PCB/pcb-rnd you can drop a stitching via to join pours where-ever you like.
I do not follow 100%.
The copper pour on GerbLook’s bottom copper layer is VCC, and on top copper it is GND.
I am not sure about what counts as low speed and high speed. That is another question I had. This project will have I2C and UART communication, the code controlling the MCP23017 I2C port expanders has them changing the state of the LEDs as rapidly as every milisecond (or slower if the ATMEGA328 is not able to handle that), the serial port between the bluetooth chip and the ATMEGA is at 9600 baud, while the FTDI pin connection is at 115200 baud (though I could slow this down to 9600). Could any of these be fast enough to cause possible adverse interference?
On a totally unrelated note, I have never seen a copper trace do a perfect 90 degree turn. Is there a reason for that, or is it just simple because 45 degree turns look better?