Skip to main content
Topic: Eagle PCB routing help? (Read 8192 times) previous topic - next topic

Eagle PCB routing help?

Hi,
I'm trying to design a PCB for my nixie tube alarm clock controller, based on SparkFun's Arduino Pro Micro. Unfortunately I'm a newbie at PCB routing, so apart from using the Eagle autorouter (which never gets to 100%) I don't really know how to make traces, vias, etc.

Is there someone that could point me to a good resource to learn how to route PCBs?
Or maybe I could hire someone to do this routing for me?

I've attached the Eagle files.

Thanks,
Michael

Re: Eagle PCB routing help?

Reply #1
I did most of the routing, but there is a net named 3.3v that are only connected to

pin 2@touch connector
pin 10@hv (nixie) connector
pin 8@user connector
pin 2@icsp connector

and nowhere else.  This seems a bit strange considering they are marked as vcc on the schematics so I've connected it all to the real vcc (the output of the vreg).

The DS3234 was not connected to any power at all (neither vcc nor 3.3v) so I also connected it to vcc.


Re: Eagle PCB routing help?

Reply #3
Before you even get to routing, consider these suggestions:

1) The ATMEGA32U4 in a QFN has an exposed ground pad.  Your library package is wrong.
2) Why use a QFN when there are QPF package choices available?  QFNs are tricky.  They are best laid down with uniform heat, however if you intend on using an iron, you might consider putting through hole vias below the ground pad and a solder mask relief on the bottom side so you can heat the pad solder from underneath with a blade tip.  Alternatively QFPs are very forgiving to solder.
3) You've somehow screwed up your net names for your supply.  You have two separate nets - 'VCC' and '3.3V' connected to the VCC symbol on your schematic.  Thus they form two distinct unconnected segments - not what you intended I'm sure.  ie. The MCU is connected to the LDO, however all the VCC pins on all the headers are connected to one another and isolated.
4) Why do you have a 1uF cap connected to VUSB on the cable side of the fuse and diode?  It's unnecessary as you have plenty of capacitance fronting the LDO already.  Which itself is also unnecessary but doesn't hurt.
5) The data sheet for your LDO recommends 2.2uF on the output side.  Your 10uF on either side actually violates the USB spec for in-rush current limit (max 10uF total characteristic capacitance).  Eliminate C13 and C10 for one 2.2uF or 4.7uF ceramic
6) You don't have any decoupling caps for the MCU.  Move C3 next to pin 14 and add another .1uF cap next to pin 34.
7) The data sheet for your LDO also recommends a 470pF cap from BP to ground.
8) If you just need low-speed USB (1.5 Mbps), you can dump the external crystal all together.  The internal RC can run the micro full speed and can be calibrated (though will drift slightly w/ temp change).
9) If you need full speed USB, consider using an external discrete oscillator instead.  It costs a bit more, but 2 fewer components to solder.
10) I'm not sure why you explicitly noted max input @ 16V.  Beware if you pull much current at that voltage, that little reg will burn itself right off the board.
11) I2C typically needs external pull ups (~2-6k).
12) The RTC you've chosen includes a reset supervisor.  You could use it to generate the MCU reset and eliminate the external pull up.  Since it's open drain, you could also add an external reset switch.  If not, consider adding a small cap from reset to ground (<= 1uF).  It will cause the voltage at the reset pin to be near zero while the cap is charging from the pull up during start.  The RC forms a basic one shot timer that allows a noise free reset hold at startup.

Re: Eagle PCB routing help?

Reply #4
[quote author="alanh"]5) The data sheet for your LDO recommends 2.2uF on the output side.  Your 10uF on either side actually violates the USB spec for in-rush current limit (max 10uF total characteristic capacitance).  Eliminate C13 and C10 for one 2.2uF or 4.7uF ceramic
[...]
7) The data sheet for your LDO also recommends a 470pF cap from BP to ground.
[/quote]

Great advice from Alan, thank you.
Just be careful about the bypass cap. You should increase the output capacitance when using a bypass cap. Also keep in mind the ESR of the output cap - it shouldn't be too small or the reg might start oscillating. So I would rather choose a tantalum or aluminium electrolytic cap.
I try to use 78-series regulator whenever I can, as they are cheap and work with just one 100nF ceramic cap at the output.

Re: Eagle PCB routing help?

Reply #5
Wow, thanks for all your help! I'll revise these problems and review matseng's routed PCB design, and soon post the revised circuit. Thanks again!

Re: Eagle PCB routing help?

Reply #6
Wow, PCB+ per week, by matseng!

I would ditto on the QFN package- can you solder such a tiny package? I can't unless I really devote a day to getting it all perfect and tested.
Got a question? Please ask in the forum for the fastest answers.

Re: Eagle PCB routing help?

Reply #7
I already took care of some of the issues. Moved the decoupling caps closer to the cpu.  Merged the 3.3 volt power into vcc and also gave power to the rtc chip. Used the fused vusb in the circuit instead of the plain/raw vusb.

I strongly recommend keeping the crystal - at least the crystal footprint so it can be used if/when the internal rc-oscillator fails to be as stable as you hope. (unless of course auto-calibration by the 1ms usb framing is implemented in the code).  But it's easier to just slap on a crystal to be safe - especially during development/hacking.

Re: Eagle PCB routing help?

Reply #8
Here's the new version of the board. I've changed a few footprints, added a piezo buzzer, changed the ATmega32U4 from QFN to 10x10mm QFP, swapped the linear regulator for a TPS62112-based switched regulator, and added a whole bunch of silkscreening.
Unfortunately, all these changes made my routing wonky again--I've tried to do my best to follow manseng's awesome routing above, but it doesn't look as clean. Are there any glaring problems?

Here's the board in SketchUp with the Maxwell render engine (note: this render was before I added the crystal back in to my circuit):


Thanks in advance!

Re: Eagle PCB routing help?

Reply #9
Why replace 1 QFN for another?  There are a lot of buck switchers that come in a variety of leaded packages.

Also note your supply voltage will be 4.3V as is when powered from USB only.  You could raise it a bit with a schottky, but D2 really needs to stay since you have a dual supply.  You don't want current feeding back the wrong way on VUSB.

Re: Eagle PCB routing help?

Reply #10
[quote author="alanh"]Why replace 1 QFN for another?  There are a lot of buck switchers that come in a variety of leaded packages.[/quote]

I'm not exactly sure; I found what looked to be a good compact and efficient design on the IOIO board, so I copied it over to mine--but I'd love to use a non-QFN chip if there's one available. Would something like the TI TL2575 (datasheet link) be a good replacement?

 

Re: Eagle PCB routing help?

Reply #11
The TL2575 is another extreme, as it's available in DIP and TO-220/263 only. TI has lots of step-down converters that might match your requirements, e.g. the LMR14203 (http://www.ti.com/product/lmr14203) which comes in the easy to solder SOT-23-6 package. Or just use the classical MC34063, which is dirt-cheap but needs larger passives (but comes in DIP8 and SOIC8).