0% found this document useful (0 votes)
30 views10 pages

How-2-Pcb-Design-Basics Supplementary Material

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views10 pages

How-2-Pcb-Design-Basics Supplementary Material

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Hi guys, I forgot to mention one or two things in the video.

This isn't fully comprehensive, but it is


a good place to get started. As I think of more things I will add them. Also I encourage any
alumni that look at this document to contribute to or correct this document as they see fit. With
all of this information organized in this way, you should have no trouble getting started with your
PCB projects. After a little bit this will become second nature and you won't need this guide.
Good luck and happy PCB designing! Feel free to message me if you ever have any EE/PCB
questions.

Also, in the video I said that there are no resources online available for learning PCB design
stuff. That was pretty much how it was when I started, but in the time since then lots of good
tutorials online have popped up on PCB design stuff, so you can learn a lot online by yourself.
I'd recommend Phil's Lab (although he doesn't do Flex PCBs), the Altium Blog tutorials (the
ones by Zachariah Peterson are great!), any podcast that features Eric Bogatin or Q&A
sessions with him (look up Robert Feranec on youtube, he talks with industry experts like Eric
and gives tutorials). Eric is absolutely cracked out at PCB design and gives talks at conferences
like PCB West and has seen lots of stuff in industry over the years. Yamelak actually messaged
him on LinkedIn one time with a question and he responded the same day; since Eric is a
professor at University of Colorado Boulder he responds to questions from students and is nice.
Of course, if you're going to ask him something, make sure it's not a question that you could
easily answer by looking it up on Google or watching videos or asking HR FSAE alumni (or me)
or thinking about it for a little while.

For stuff on flex PCBs, look up Carl Bugeja on youtube. The main thing he does is make flex
PCBs and you can learn a lot from him about them.

● After you are done with PCB layout, that's when you run a Design Rule Check (DRC) in
Altium. That essentially checks to see if any part of your layout violates any of the design
rules you defined at the beginning of layout in Design->Rules (accessed in the PCB
editor).
○ Go through and fix all the problems (or update your design rules if you made a
mistake while defining them, but don't just update your design rules purely to get
Altium to stop screaming at you) accordingly by manually adjusting layout
● Following DRC, you want to get your board manufactured. To do this, you need to
generate the Gerber files. Your manufacturer should have a dedicated page on their
website showing you what they want and how to generate the gerbers for them
specifically (here are JLC's instructions)

Additional notes:
● When sending in your board to get fabbed, you need to have a board outline on your first
mechanical layer (the purple colored Mechanical tab closest to your blue "Bottom Layer"
tab). If you don't have this, the JLC site won't let you upload your PCB to the automatic
quote thing or it will show the dimension boxes as empty

General PCB Design Workflow Recap:


1. Create project, add schematic files and a PCB file
2. Make schematics (use custom footprints as much as you can)
a. You could try and use libraries from online, but beware because they might not
be good quality (I haven't tried Celestial but if you wanna try it out then go for it
and let me know how it goes)
b. Or you can start with FSAE workspace component library if you want
c. Can also make your own (might be the best option because you will end up
needing to make your own components sometime or another anyways)
3. Validate schematics
4. Go into PCB editor and define design rules (check manufacturer website for
manufacturing capabilities)
5. Go into PCB editor and define layer stackup (check manufacturer website for available
stackups)
a. See below for how to make a good stackup
b. Do you need to do impedance control?
i. i.e. are there any diff pairs or sensitive single-ended signals that require
little noise (e.x. SPI or Quad-SPI with clock freq. above 10MHz routed for
more than a few inches on the board or going board-to-board) on the
transmission lines? If so, then yes you need impedance control
ii. See below for advice on selecting comms protocols
6. Update PCB document with components
a. Engineering Change Order dialogue will pop up, just hit "Execute" you don't need
to hit "Validate" and sometimes if you hit "Validate" if will give you errors but when
you hit "Execute" after that everything is fine
7. Define board shape
a. Can make a sketch of board outline in Solidworks or Fusion 360 or Onshape and
save as DXF then import to Altium as DXF
b. Or you can make board outline in Altium on the mechanical layer with Line, Arc,
and Dimension objects (this is more tedious, do it in CAD software)
8. Establish component placement for circuit subgroups
a. Organize them in small groups by schematic, then combine them together once
they are all assembled the way they need to be and you can think about how
everything needs to fit together as a whole
9. Begin routing
a. Play around with it
b. Figure out how you are going to do your aesthetics
c. Aesthetics are important for impressing recruiters and interviewers (trust me on
this one!!)
10. Finish routing and run DRC
11. Generate Gerbers
a. Then send in Gerbers to manufacturer
12. Create ActiveBOM and upload BOM to Mouser/Digikey/other component supplier and it
will auto-fill your cart with components
13. All done! Then wait for components to arrive and then assemble them
Stackups
How to do stackup???

2-layer PCB
Good stackups:
● Can flood GND on top layer around signals and flood on bottom layer too
● Can also flood GND or PWR on top or bottom, doesn't really matter much with 2-layer
boards

Additional Notes:
● 2-layer PCBs should generally be used for very simple circuits that don't require
impedance control. If you need impedance control, it's better to use a 4-layer board that
has at least one established GND reference plane/pour on the layer directly below your
impedance controlled traces

4-layer PCB
Good stackups:

Stackup 1
1. SIG
2. GND
3. GND
4. SIG

Stackup 2
1. SIG
a. (critical signals, i.e. oscillator traces, diff pairs, single-ended impedance
controlled stuff)
2. GND
3. PWR
4. SIG
a. (random signals that are low frequency or GPIOs for driving LEDs, etc.)

Stackup 3
1. SIG
2. PWR
3. GND
4. SIG

You can flip them around like that if you like, but since the components generating/handling the
critical signals are probably going to be on the top layer I'd personally go with Stackup 1 or 2

Bad stackups:
Stackup 1
1. SIG
2. PWR
3. PWR
4. SIG

Where is GND???

Stackup 2
1. SIG
a. (needs a reference layer directly below it, stuff on this layer will couple with layer
2 signals)
2. SIG
3. GND
4. SIG

Stackup 3
1. SIG
2. SIG
3. SIG
4. SIG

You get the idea.


For stackups with a higher layer count, the same principles apply.

E.x.
6-layer PCB
Good stackups:

Stackup 1:
1. SIG
2. GND
3. PWR
4. PWR
5. GND
6. SIG

Stackup 2:
1. SIG
2. GND
3. PWR
4. GND
5. PWR
6. SIG

Stackup 3 (stripline trace/traces + coplanar waveguide):


1. GND
2. SIG
3. GND
4. GND
5. SIG
6. GND

Etc.
Typically though people seem to usually keep signals on top and bottom layer, even though
stackups like this are technically valid.

In summary:
● Sandwich SIG layers with GND planes/pours
● PWR can be below or above SIG, so long as there are no critical signals being
referenced to the PWR plane (PWR plane can be noisy and is not always stable,
remember E-fields are generated from differences in charge and B-fields are generated
from current flow and remember Lenz's law)

Also, WATCH THIS VIDEO LINKED BELOW! Watch the whole thing it's great
https://www.youtube.com/watch?v=ySuUZEjARPY

Flex PCBs
● https://www.youtube.com/watch?v=HLYWD0P5TOQ
● https://www.youtube.com/watch?v=wa2L0C0SApU
● https://www.youtube.com/watch?v=jj0JI2AjUus

Comms Protocols
Main ones (that you could be asked about in an interview)
● SPI
● I2C
● UART (now there is also USART)
● CAN
● USB
● Ethernet

Programming Protocols
● JTAG
● SWD (for ARM-based MCUs only)
● For STM32 MCUs, you can also flash firmware through USB if you set it up a certain
way

When to use what kinds of comms protocols:


● SPI
○ Use to interface between ICs on the same board
○ Don't route it off-board for more than a few inches (say 6 or so if you're clocking it
at around at least a few MHz). As you increase the clock frequency the
wavelength gets shorter and then your wires become antennas which radiate
EMI and your wires interfere with each other. If your SPI ever is routed a long
distance and it's not working for some reason, try decreasing the clock frequency
until it works
○ Faster than I2C, but requires more wires
● I2C
○ Use to interface between ICs on the same board
○ Don't even think about routing off board, same advice I gave for SPI routing
off-board applies here
○ Slower than SPI but requires less wires
○ Pull-up resistor selection has to be done properly based on inherent bus
capacitance so you don't get slow rise-times
● UART
○ I don't use this much in practice, most things are SPI/I2C these days
○ Not super high performance but gets the job done
○ Can be set up to work with a single wire
● CAN
○ Used to interface between different boards that are physically separated
○ GREAT for noisy environments, CAN is robust and can preserve signal integrity
well
○ Used in cars and robots for connecting PCBs within the car or robot to one
another
○ DO NOT try and use this to interface between two components/sections of the
same board. This is meant to be used as board-to-board communication
● USB
○ If you want to connect your computer to your PCB then add a usb port
○ Bottom text
● Ethernet
○ According to some of our alumni, automotive ethernet sucks in high vibration
environments
○ If you can think of a use for regular or automotive ethernet in some kind of
project, then you can implement it
○ https://resources.altium.com/p/gigabit-ethernet-101-basics-implementation
■ If you want to use ethernet in a project, then read this
There are also things you can do to reduce noise on these comms protocol lines if you route
them for long distances:
● Source termination
○ Can use for single-ended signals like SPI and whatnot
○ Cheap & easy to set up
● Parallel termination (in general)
○ Can use for high speed stuff like when you're routing a stick of DDR memory
○ Cheap & easy to set up
● Thevenin termination
○ Saw this one used a lot at work
● Other types of termination, but in practice you usually see the above three types used

Good info on termination:


https://www.intel.com/content/www/us/en/docs/programmable/683073/current/simple-parallel-ter
mination.html
https://www.ti.com/lit/an/snla034b/snla034b.pdf
https://resources.altium.com/p/transmission-lines-and-terminations-in-high-speed-design (Lee
Ritchey is cracked)

Helpful Software
https://saturnpcb.com/saturn-pcb-toolkit/
(I use this one a lot during PCB design)

Interview Prep
https://montychoy.com/blog/the_ultimate_list_of_hardware_engineering_internship_interview_qu
estions
(awesome site, use as a reference. This helped me when I did Apple interviews)

https://www.electronics-tutorials.ws/
(general electronics knowledge reference, not good for developing intuition but good for
memorizing different circuit types)

Books & Resources


Field and Wave Electromagnetics (I use second edition) by David K. Cheng
● READ THIS!!!!! If you want to get a good grade in EE116, READ THIS
● Helps a lot for PCB design to know E&M physics inside out

https://www.youtube.com/playlist?list=PLyQSN7X0ro2314mKyUiOILaOC2hk6Pc3j
● Great lectures, sums up concepts concisely in an engaging way
● Still applies to today, E&M basics isn't really a field that has changed over time aside
from people adding stuff to it as opposed to changing it
Verilog & HDL Stuff
https://hdlbits.01xz.net/wiki/Main_Page
● This site is the LeetCode for Verilog
● Use SystemVerilog in your projects instead of Verilog. SystemVerilog is updated version
of Verilog with some slight changes in syntax, but not too different so you can practice on
this site and basically know how to do SystemVerilog
Building a Portfolio
NOTE: I can't necessarily guarantee that doing any specific one of these things will get you an
internship, but know that if you are doing projects that fall into the Intermediate/Advanced levels
then your application will probably get noticed by some big companies and get at least a few
interviews. Regardless of whether you get an internship at a big company, it is likely that you will
have the skills to land one at a non-FAANG (MAANG) company (as of now, 4/25/2024. Can't
say how things will go in the future, but figured I'd provide a benchmark so you have an idea of
what to focus on or do.). Of course, at the end of the day you get out of this what you put into it.
If you spend lots of time working hard on your PCBs and make them highly functional and with
good aesthetics, then you will probably get a job somewhere.

Focus on also spending time debugging your designs. Don't just design something and then
design another thing without testing the first thing and going through the entire PCB process.
Also spend time learning how to write firmware. Use the Zephyr/Renode setup that Alex uses (a
Tesla firmware engineer told Alex that that is how they write firmware at Tesla) and you will be
good to go.

Make PCB projects


● Put them on a website (can be Google Sites, Github personal page, or can ask Alex to
make you a cool custom website)
● Make sure your PCBs look sick and complicated before putting them on your website

Different levels of PCB projects (non-exhaustive list):


Basic:
Intern intro project (small, basic circuit with no MCU or simple MCU)

Intermediate:
● Something that has one or more MCUs on board
○ USB, CAN
● Complex circuits without MCUs like BSPD, SDCCB, etc.
● Basic RF PCBs (simple waveguide for something, etc.)
○ MCU that supports bluetooth/wifi
○ https://www.microwaves101.com/encyclopedias/antenna-design
○ https://www.ansys.com/blog/common-antenna-designs

Advanced:
● PCB with an FPGA or Processor (Intel, AMD, etc.)
○ AMD Zynq 7000 (might be a good one to use for a project, lots of documentation)
■ https://docs.amd.com/v/u/en-US/ug933-Zynq-7000-PCB
■ https://docs.amd.com/r/en-US/ug585-zynq-7000-SoC-TRM/SD-Card-Boot
○ Maybe make something that you can integrate into a robot or machine learning
application
○ If you use an FPGA, you should implement your state machines in SystemVerilog
○ If you use a Processor, try to set it up with Embedded Linux (i.e. Chibi OS or
something similar)
● Hardware accelerator
○ This is a good one, Phil's Lab has a tutorial for this on youtube
○ If you're making one of these for a project, make your own version using a
different FPGA. If you just copy Phil's design, then you won't learn anything. Also,
it's going to show when an interviewer asks you about it.
● Custom RAM stick
○ If you want to learn how to design a RAM stick, then just open up your PC case
and take out a RAM stick and then observe how they did layout on it. Or you can
go to Microcenter and buy different types/brands of RAM and compare how they
did layout for each one
○ https://www.youtube.com/watch?v=S4Q62l1VFiU (considerations when making
gold fingers)
○ I don't think this is a super creative project though because you're essentially just
making your own copy of a RAM stick which is kind of useless if you can just buy
RAM at the store and you just copied layout
○ Still good to study RAM sticks to learn from them though if you want
● Advanced RF PCBs
○ I am not well versed in RF design, so you will have to figure this one out yourself
○ https://www.youtube.com/watch?v=1LltV18F93A

NOTE: The above list is just project ideas you could think about. I'm not saying you'll instantly
get an internship if you make these exact projects. Those are just things to get you thinking
about what could be possible. Do your own research and figure out what you want to do.

You might also like