First schematic / board, please validate?

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. :slight_smile:

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.)

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.

Cool stuff!
Makes totally sense :slight_smile:

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.

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.

Lefty

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.

/me

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

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.

Jon
Arduino Shield List: http://shieldlist.org

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:

PCB Design & Layout Tutorial - Learn how to design a professional PCB!

Jon

Oh, and don't be afraid to rip up and start again.

Well said. I just binned a PCB design I'd spent a week on, often that's the best way to get a good job.

Same with software, a few years ago due to some slackness on the backup front I lost a project I'd been working on-an-off with for a month.

After tearing my hair out for a while I realised it was a golden opportunity to do it better as there were many things I wasn't real happy with but not to the point I could face doing it again voluntarily. After a few days I was back to the level of functionality I had before the disk crash and had a better product.

The second time around you've already done most of the thinking, in both the above cases the redo took just a fraction of the time the original took, and the end result was much better.


Rob

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

I can't find a better reference than this at the moment but my understanding is that the shield should not be connected on devices:

USB cable shielding:

Shield should only be connected to Ground at the host. No device should connect Shield to Ground

--Philip;

I think that's true (although I've heard arguments both ways), only connect the shield(s) in one place.


Rob

Grounding is more religion that science. I've seen it at least three ways--connected to ground at one end, both ends, or neither. You ask ten engineers how it should be done and you will get a dozen different answers.

From the USB specification 2.0:

6.8 USB Grounding
The shield must be terminated to the connector plug for completed assemblies. The shield and chassis are bonded together. The user selected grounding scheme for USB devices, and cables must be consistent with accepted industry practices and regulatory agency standards for safety and EMI/ESD/RFI.

You might also want to consider an SMD mini-B connector - I find getting the legs aligned on the through-hole varieties a bit fiddly.

Can anyone recommend a good PCB and assembly house? Ideally send them a circuit design and parts list and receive complete board in return.