Go Down

Topic: Starting out: KiCad or Eagle? (Read 4788 times) previous topic - next topic

Cylindric

I realise this might be a contentious question, but as I'm just starting down the path of physicalising my software experiments, I think I'll need to get the hang of a decent circuit design tool.

I've used KiCad a bit, enough to get from a simple diagram to a PCB layout anyway, but hear a lot more about Eagle.

What are people's comments on one or the other (or both)?  Is one a clear winner over the other?  Is one more "standard"?

I don't think I'm going to hit the board-limit for the free Eagle, but I am compelled by the FOSS nature of KiCad to stick with that.

Opinions?

RuggedCircuits

You are more likely to see schematics and board layouts in Eagle format in the Arduino community. If it is important to you to be able to pick up an existing design and use parts of it, or make modifications to it, then Eagle is the way to go.

Otherwise, I'd say to just stick with what you know (KiCad) and follow it along for as long as it will do the job for you. It's definitely cheaper (you can't beat free), and you can always pick up Eagle at some time in the future. The first CAD program you learn is hard, the 2nd (and 3rd, and 4th....) become progressively easier to learn.

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected

Cylindric

Fair enough :)  I also often use a netbook, which has peculiarly unique constraints compared to my desktops, so I guess I'll try both on that too and see which struggle the most with a litte 1024*600 screen and limited performance :)

Cylindric

Okay, let's stick with KiCad for now :)

I thought that as it's best not to get bad habits due to ignorance which then later need to be beaten out, what are the "top 5" rules for layout and routing?  I'm not building actual PCB's yet, but I think I can see myself getting some boards made up from designs.

I also think that if a schematic can't be converted to a physical layout, then there's probably something wrong with it, so it seems a good exercise to get into anyway.

I've attached a sample layout for comparison and reference :)

Can anyone recommend any good resources for basic introductions to PCB layout and routing?

Thanks,

M

CrossRoads

Not bad for a 1st attempt. Some observations/general ideas:

You can run traces between pins that are 0.1" apart. 1 trace for sure, and sometimes 2.
For example, connector pin7 to chip pin10. That will let you get rid of a lot a vias.
Another example - move your +5V trace left of the trace from pin 6, and keep it all on the red layer. This also lets the trace from pin2 on the top connecter all stay on the top layer.
This can also let you expand the ground plane coverage; the yellow trace around the outside of the board is redundant with the ground plane.
Sparkfun recommends no right angles; supposedly the 90 degree corners suffer from more coppper being removed during etching than a 45 degree corner. There are also funny discussions on the internet where right angles let high speed signals fly off easier and generate more emissions. I'll stick with excessive undercut as a reason to avoid them, especially with home made boards.
Unless you have somer reason for the board size, this board could be a lot narrower. Your traces are all 0.1" apart, that can be tightened up.
No mounting  holes?
Why all the extra unused pins on P1?
Power traces should be made thicker. In eagle one can specify the signal type (signal, power, etc). Traces then vary from 0.01 wide up to 0.024 wide.
I would use wider traces also for Motor VCC and the signals that go out P2 to the motors.

Since you seem to have a dual layer board, you can put a ground layer on the red layer also, and connect the two with vias for additional heat dissipation from top to bottom.
If you look at an eagle file the Uno, you can see this under the 5V regulator (altho that pad is seperated from Gnd because the regulator tab is 5V).
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Cylindric

This can also let you expand the ground plane coverage; the yellow trace around the outside of the board is redundant with the ground plane.
The yellow one isn't actually a trace, it tells KiCad where to limit the zone fill for the ground plane.  It's on the "PCB Edges" layer.

There are also serious scientific discussions on the internet where right angles let high speed signals fly off easier and generate more emissions.
Well, any conciencious circuit designer takes the feelings of fast electrons into account, so I'll be sure to bear this in mind too!

Unless you have somer reason for the board size, this board could be a lot narrower.
Nope, it was just the first shape that fitted around my randomly placed items before I started tracing :)

Your traces are all 0.1" apart, that can be tightened up.
I'll have to tinker with KiCad's grid I think, that's the default spacing.

No mounting  holes? Why all the extra unused pins on P1?
Never thought of holes :D  Good point.  The pins are just because the connector is a placeholder - I think in reality it would consist of several smaller blocks.  Not sure what else will be on my bot yet.  Might even end up a a shield layout.

CrossRoads

"The yellow one isn't actually a trace, it tells KiCad where to limit the zone fill for the ground plane. "

The trace from Dip14 to P2-4 gives the impression that yellow is being treated as a trace.
Move Dip14/p2-4 to the bottom layer, lose the 2 vias and let the ground plane fill in, as those pins are used for heat conduction cooling of the part. Same with Dip-11/P2-3.

"serious scientific discussions", wait a minute, don't go misinterpreting me there XD
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Cylindric

No guarantees, but I'm pretty certain it's not.  It shows as "PCB Outline" on hover-tips and layers and stuff.  I've removed it anyway for clarity :)

The green trace all around the outside is GND, but that's really just because PCBnew needs the pads connected to put them in the correct zones, in reality they're just part of the filled ground-plane area.

I suppose the a lot of the routing thing is a bit about personal opinions too, for example once I start putting things on the top layer, I go nuts and put loads on there :)  Or I decide that top-layer stuff should be as little and short as possible, and it all changes again.

I imagine that for a while to come I will be using single-side boards, so all the top-layer stuff is going to be jumpers, so the "keep them short and straight" theory will prevail.

Here's a new version of the fully two-layer approach though :)
Not sure how important the size of the heatsink area is, but I made H1's Pin 15 go the longer way around to maximise the under-chip area.
If I'm using a ground-plane on both sides, what is the deal with vias?  I assume I don't want to perforate my board with loads of 'em.

Also, I assume it's okay to go straight to a pin on the top layer?  Daft question perhaps, but I've only ever used single-sided home-etched boards before, and that was 15+ years ago!

There's a fair bit more room now too, so I could in theory move all the connectors in a good bit.  Won't bother for this example, as it's a bit of a contrived layout anyway, until I sort out the connectors and final circuitry I'll be needing.  My robot needs some cute arms to wave about, or ears to wiggle, or something* ;)

Thanks for the help!

(*although at the moment it's a wheeled robot on a HDD chassis, so 'cute' might take a bit of imagination)

CrossRoads

That's better - could still be improved to. Run  P1-6 & P1-9 counter clockwise around P1-1 & P1-2.
Run P1-2 under P1-1. Run P1-4 between P1-1 & P1-3.

Then you just have 5v and the motor drive traces on the bottom.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Cylindric

Well I made the switch to Eagle - not too painful, mostly trouble with finding components in the libraries :)

The whole PCB layout thing is a right game in itself, isn't it?  I could spend all day on it.  Every time I look at this thing I spot another component rearrangement that will simplify the layout :)

Here's an update, now in Eagle, with an extra chip (LED bar driver going out to some LED's)

Observations: Currently a lot of links coming down from the top-left D8-D13 connector to the bottom, and from the bottom-left D0-D7 connector to the top - I should probably swap those around.

The DIL16 footprint and the pin-header footprints seem to have a silkscreen layer outpline (on TSTOP) that goes right over the pads, which upsets the DRC checker.  I edited the DIL one to put gaps. Seems odd that this is necessary for a core part, so am I doing something wrong?

CrossRoads

I see a lot of those errors too. I ignore the stopmask errors, the board vendors don't end up putting the markings on top of pads.
Some thoughts:
Generally better to have all your ICs in the same oriention, same with connecters.
I see you have a couple of "1" on top of pins, need to move those if you want them to appear. Put your "Rx" markings right between the pins.
Add a polygon called "GND" and delete the trace circling the board, let eagle connect the grounds to it.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Cylindric

Aah, yeah those IC's are bothering me too.  Hurts too much to move!  I think moving them around is a case of ripping up all the tracks.  Working in IT support it's hard to justify having PCB layouts on the screen :D

I took the GND plane off for the screenie and while I work on the board - is there an easy way of toggling display of those things?  I currently remove and re-add the polygon for GND.

CrossRoads

Yes, I can't do that at work either, no adding in external programs.
You don't have much stuff there - just rip it all up, move the parts, let it autoroute and see how it turns out.
Generally if poorly, then placement wasn't too good to start with.
I've ripped up 80x100cm boards all the time while working the placement, just keep clicking traces. Only takes a few seconds, there are less traces there then the connections made just to a 40 pin uC, let alone the rest of the board.
I haven't used eagle in a couple of weeks, seemed turning the polygon off was pretty simple tho, just clicking on the edge of the board with ripup maybe?
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

a.d

I've ripped up 80x100cm boards all the time while working the placement, just keep clicking traces. Only takes a few seconds, there are less traces there then the connections made just to a 40 pin uC, let alone the rest of the board.


I found out the other day that you can group-command the rip-up tool like you can with move, copy etc.

I felt stupid when I found out, but boy it makes things quicker.

CrossRoads

How's that work? I admit there's plenty of features I haven't figured out.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up