Go Down

Topic: First schematic / board, please validate? (Read 3944 times) previous topic - next topic


I've followed a tutorial on SparkFun http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=108 and I've made a Single Sided USB to Serial Breakout Board

Please let me know if there's something obviously wrong with it. It is partially hand routed.

Thank you for your time and feedback!


Sep 17, 2010, 03:28 am Last Edit: Sep 17, 2010, 03:29 am by cmiyc Reason: 1
Have you downloaded and run the Sparkfun DRC and ERC rulesets?  Over time you will build up your own, but until then theirs will catch a lot of tolerance mistakes.


1.  As a general rule, you do not want to use 90degree bends.  You should try to use 45degree.  Eagle has a button in the toolbar that sets the "bend type".  90degree can cause chemicals in the board process to get trapped and cause problems long term. Plus, they just don't look as nice.  ;)

2.  Are you going to use a PCB fab process to create the board, or are you going to etch it yourself?  A PCB house will probably handle it fine, but a home-brew etch might not offer the tolerance to make it all work.  (traces are pretty small and close together for that.)

3.  Nice job on getting it all on one side!!
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com


Thank you for feedback!

Will download those rulesets!

1. I did not know that, but now that I do I'll definitly keep it in mind

2. I do not think I will do any actually. This was just as a test, but I will create a board that I want to ship off to a fab (any suggestion?).

3. Thank you! It actually took some thinking.  :)


Something I use to do with small boards like this is create self-imposed constraints.  Then practice routing the board again.  (and again.)

A couple of ideas:

1.  Cut the board's area in half.  (You'll be surprised how much smaller you can make it)
2.  Give the board a weird shape and/or place the connectors in strange places.
3.  Place random holes in the board.
4.  Finish routing the board, then go back and add a button or LED.  (Learn to switch back and forth on a schematic/pcb.)
5.  (You already did this) go back and route all signals on a single layer.

#2 and #3 are good exercises when you use pre-made enclosures.  You can pick up a bag of tricks in a very small amount of time this way.

Also, you might look through all of the board for sale on batchpcb.com.  You can see cases where people did a good job (and cases where they did not.)
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com


I did catch one more thing to comment on.

The data signals on USB are a differential pair.  Differential pairs are very sensitive to changes in routing on the individual signals.  The idea is that the two signals should be coupled together.  

So when laying down traces for a signal like D+/D- on differential pairs, you should keep the signals close together and following the same path.  If you make a bend in one, you should make the same bend in the other.  And most importantly, they should have the same electrical (and physical) length.

In my picture, see how I moved them close to each other right out of the USB port's pins and kept their spacing as constant as possible going into the chip?  You should try to do the same for signals like these.

Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com


Cool stuff!
Makes totally sense :)

The ugly routing of that upperleft usb connection is because it was the last wire before I could say out (a little) loud(er than what would be considered mentally sane) so I rushed it.

Thank you again for taking the time!
I'm a software guy trying to get some more experience with the hardware side of arduino (getting tired of writing libraries for hardware that I do not own or know how to wire properly). This will enable me to test things myself and create proof of concepts / prototypes in a better and more practical way.
I hate breadboards.


Sep 17, 2010, 05:53 am Last Edit: Sep 17, 2010, 06:02 am by AlphaBeta Reason: 1
Some changes made, new version:


when laying down traces for a signal like D+/D- [for USB] on differential pairs, you should keep the signals close together and following the same path.

While I suppose this is theoretically correct (except I'd substitute "consistently spaced" rather than specifically "close together"), I think it's pretty silly for this particular application.  We're not talking GHz signals to SDRAM here; this is a couple of millimeters of trace that is the logical/physical continuation of up to five meters of cable running an intentionally "robust" protocol...
(none of the other "full speed" usb designs I've seen take such measures, and there is no mention of any needed care in the FTDI spec sheet., either...)


If your breakout board is ever planned to be used with an Arduino it would be a shame if you didn't bring out the DTR signal that the IDE uses to auto-reset the AVR chip prior to uploading. Much more convenient then having to time a manual reset.



And how about adding the TX LED and RX LED too, just like an Arduino Uno has.


IIRC that FTDI chip has an easy provision for driving LEDs for RX and TX and perhaps USB activity.  Check the datasheet.

LEDs are your friends for making sure something is happening - much easier than an o'scope.



Nov 04, 2010, 07:07 pm Last Edit: Nov 05, 2010, 12:58 am by timmyw Reason: 1
Unless I'm missing a ground plane somewhere, I don't see any connections on the FTDI chip to ground. There is nothing on pins 7, 18, 21, 25, and 26 like the schematic shows. Might be a good chance to practice polygon fills.

You really should mark the parts on the silkscreen so you know what is what. Also you don't show the polarity of C4.

On pins 1 and 15 of U1 you have acute angles. It isn't just 90° angles that are bad but acute angles tend to trap chemicals as well. That is why you should enter the pad from the end and not the side. Plus I think it is more aesthetically pleasing.

The shield of the USB connector is connected to anything. I wouldn't mind seeing that connected to chassis.

Not trying to discourage you, it is a learning process and I hopefully provided some constructive criticism.

Nitpicky stuff: on the schematic on 3v3 out you show a dot denoting a junction but there is no junction only a bend.

The reference design from FTDI shows 4.7uF for C4, while the tutorial shows 10uF. Not sure why the change, but figured I would point it out as well.


On version 2 of the PCB it looks like the track from the GND pin on the connector to the cap crosses through the VCC pad next to it.


Rob Gray aka the GRAYnomad www.robgray.com

Jonathan Oxer

You could simplify your routing a little by spinning a couple of the parts. A general principle is to step "back" from the layout and don't look at the details, but look at the overall shape of tracks and how parts relate to each other. It's easy to get bogged down in the detail of looking at how to get a track from point A to point B, without stopping to consider whether points A and B are in the right place to begin with.

Applying that to your second design, have a look at what's going on around C4. It has two tracks passing beside it to reach opposite ends, which is using up horizontal real estate. Spin that part 180 degrees and you'll only have one track beside it, saving some space. Then just to the left of that there are two parts linked together and to the USB socket with a "Y" shaped track: that's unnecessary, just spin the bottom part 180 degrees and you'll see that the routing suddenly becomes shorter and neater. You also won't need to have that Y shaped track, because there will be a single very short track between those two parts and then a single track running horizontally directly to the socket.

I've found the "show" tool in Eagle to be really handy when it gets to this stage. Once I've completed the routing and everything seems OK, I often spend several hours just mentally zooming in and out on different parts of the board to spot possible optimisations like rotating that bottom left part. By clicking around with the "show" tool you'll see where tracks are going, and sometimes be surprised to discover that a particular signal path wanders around the board when elsewhere different parts of the signal are physically close together, and can trivially be linked at that point to eliminate other large sections of track.

This sort of thing comes with lots of practice, and I'm still a beginner myself and just starting to get the hang of it. It's surprising how quickly it becomes instinctive if you put in the time though, and your approach of putting up your design and asking for feedback is an excellent idea. I think I'll do that myself with the next thing I work on because I'm sure there are plenty of mistakes I'm making that would be picked up quickly by people with more experience.

Oh, and don't be afraid to rip up and start again. Last weekend I spent about 12 hours routing a shield and when I got to the end I wasn't at all happy with the physical placement of the parts or the fact that I'd had to use a couple of vias. I had connectors in places that didn't seem right, and although the design would have worked fine there was something about it that felt wrong. So last night after committing the board in its current state just in case (I manage all my Eagle projects using Git) I resigned myself to ripping up every single track and starting again. I then moved parts around: mirrored-imaged the bottom half of the board, shuffled some stuff on the top, moved connectors. Then I started routing again, and this time I routed the entire board in under 2 hours and didn't have to use a single via. Everything fell into place as if it was meant to be.

It's a nice feeling when that happens.
Arduino Shield List: http://shieldlist.org

Jonathan Oxer

Another thought: something that should be read by anyone getting started with PCB design is the excellent tutorial by the inimitable Dave Jones. It's available as a PDF here:


Go Up