First prototype PCB. Any tips or pointers? (arduino giga hat)

Hi everyone,

I’ve been working with KiCad for a few weeks now, slowly learning and trying things. I feel I’ve gotten to a point where it looks pretty good. It’s not finished yet but maybe there are some things I need to stop doing and improve before continuing. I’ve run the DRC a few times and managed to find solutions to most of the problems listed. The ones remaining refer to things I’m not quite sure where to find or fix.

The main one is “no edges found on edge.cuts-layer” After I changed the footprint the board. I see the layer but I don’t know how to add edges or definitions of them.

I’m trying to create a hat for an Arduino Giga. I went straight for the drawing part and discovered I actually needed tot start with the schematic. I have no previous experience creating schematics and it’s basicly just a shield with connectors and de-coupling capacitors on it, nothing fancy.

I wonder if I placed the capacitors correctly and if the connection routing is ok-ish.

If anyone is willing to take a look I’d be grateful!

Darn I’m just now noticing I can’t attach the project as a new user :frowning:

EDIT: project attached at the bottom

Here is the Schematic

Read:

At edge cuts you should have continuous shape (made of line sections) surrounding the whole PCB. Along this lines the factory will cut your PCB.
If at your screenshot the gray line is it then it looks that blue line being out of it is wrongly placed there.
Of course the best would be if you post zipped project.

Very good that you did schematic. There are some people that stubbornly want to design PCB without a schematic loosing that way 90% or more of help offered by KiCad.

Added later.
And about schematic:
To many wires. For example at any place you connect any pin to GND you can use GND power symbol and it is enough. All GND symbols are invisibly connected (wires not needed).
You can see some others KiCad schematics here:

Thanks Piotr!

I resolved the edge error by drawing a simple outline around the pcb in the edge layer. I had assumed the grey line was indeed this line but apparently it wasn’t defined as such.

I’ll re-write my schematic with the tips you’ve rovided :slight_smile:

Some tool at left (and something at right) allows you to see selected (at right) layer with all others grayed.
It is 22 here and I should go home so I have already switched off PC where I have KiCad. If I could read your screenshot I would say more precisely what ‘something at right’ is.
It is better to switch to English when you do screen-shot.

That makes a lot of sense! Done

Updated the schematic. Now the PCB has loads of new broken connections ofcourse.
Any way to have a helper function re-check them all?

???
At first schematic you had +5V at I2C connectors pin 4. Now you have GND at pin 4.
I don’t know what is fixed by Arduino and what you are free to change. But didn’t supposed you will change connections.

If you were only updated (to look better with no schematic change) then you should have no need to change anything at PCB.

A few tips @arneko :slightly_smiling_face:

And pins 3 are +5V for 12C

Pin 4 of J2 is no longer connected.
Pins for R1 & R2 are not connected to wires correctly.
It is good practice to show all earths pointing down eg. TFT pin 1.
It is not good practice to run wires through symbols eg. J2 & J4.
The drawing would be easier to read if graphic lines were used instead of wires for unused pins eg. Pins 3 to 33 on J7.

1 Like

Just a simple reminder here. Please be sure the distances between your pins are correct. Some people use 1 mm pin headers instead of 1 inch(2.54mm) and vice versa. You can see the distance in the footprint name or just measure with the measure tool.

@arneko

You only need to read seven more posts anywhere on this site to be promoted to “Basic” from “New User”.

When I moved the capacitors I accidentally changed this. Also the cause for the errors on the PCB. Is now corrected.

True, I’ll make some more space.

Noted, thanks!

I’m not sure if I understand this correctly. You mean highlight all the unused pins with a thicker graphic line to highlight them?

This I did watch for! From ordering some parts previously I noticed the pitch. When I wasn’t able to align things the way I wanted I adjusted the grid size from 2.54 to 1.27 but made sure all the headers are 2.54.

edit: now I also see the selector on the left, aside from the grid setting in top top bar. Corrected it, thanks!

One real tip really
#1
On youtube look for John’s Basement Kicad tutorial. It is quite elaborate. To save you some time you should put the the video speed at 1.25x or 1.5x. You’ll understand why. Good videos

I also have an opinion about something. In about 3~4 years I put 97 orders @ jlcpcb. If you continu with making electronics on a regular basis. I would go for SMD components and skip THT entirely (with exception of connectors like your current PCB). A 1206 resistor or a SOIC is really easy to solder and will cost less time. And later on you can let the pcb vendors solder it for you :wink: I started out with THT and now I have a bucket load of things I don’t use.

Kind regards :coffee:

Bas

No need to make space. Finish your wires at the end of the pin instead of in the middle of the symbol.

You are using unconnected wires attached to unused pins. Not highlight, replace the unconnected wires with graphic lines. Same thickness, different color, and ERC will not complain.

Updated the schematic and pcb again:


To be honest I just picked THT because I was looking for a footprint (a completely new concept at this point) and selected the first I recognized. I’ll have a look at 1206 and SOIC to learn what they are. Great tip!

This was already like this in the Arduino template I opened. I’ve removed all the lines. Graphic lines won’t snap to the text anchors so I’ll leave them out for now.

But as I am now a basic user I can attach the project :tada:
APC PCB.zip (3.4 MB)

Small note: I created the project in KiCad 7 and put it in the cloud. Now I’m at work where I installed KiCad 8 and imported it. I noticed the edited footprints did not come with the project. When I am back home can I transfer the custom footprints to the project folder?

Ah I have now learned that a double click termintes the line where ever I want it to. Replacing all the lines now :slight_smile:

edit: the ERC complains about all of them :frowning: I’ve put back in the wire connections but because the graphic lines are still there you don’t see them.

When connecting microcontroller to bus I place wires from each pin to bus then deciding what is connected where I just manipulate with labels. Unused pins are left with unconnected wires and I don’t remember ERC complaining on it. Ops… got an idea that I may be permanently switched off some warnings.

Down to 0603 you can relatively easy hand solder having soldering iron with sharp tip.

If it were my schematic the I2C connectors would look something like that:
I2C
And only one line (bus) is going to the rest of schematic making it easier to read. I use buses as only graphic elements (without labels on them). Labels on wires do the job of connecting them with each other.
The same idea probably in few other places of schematic.

Now that I’ve had some time to watch the first 5 I’ve gained some basic understanding and would do a lot of things differently (and a lot more efficient at that). The 1.5 speed was a valuable comment :joy:

I see. It’s a handy way to simplify a schematic! However at this point I feel it’s not overly complicated yet and as I’m still starting out so it’s usefull to have the full view of everything I’m doing. Somehow seeing all the wires makes more sense in my head.

While continuing to work towards the end result I’ve added all small bit of board that’s only going to hold 3 sensors (plug in) and a socket for a cable connector.
I want to attach this bit to the main board so it’s produced as one part but will be easy for me to seperate the 2 parts once I receive them. I think I’ve seen somewhere you can add a perforated line to seperate them. Can I just do this by connecting the parts and drawing a dotted line on the edge or courtyrad layer?

Current state screenshot:

The project in it’s current state is now attached to post #1