The Art of PCB Design

There are many useful tutorials on this wiki (Category:Altium), covering everything from Altium Installation, to footprint design, to DFM. But it's possible to follow those tutorials exactly and still end up with very sketchy PCBs. The purpose of this guide is to help you become a better electrical engineer and PCB designer. Hopefully it will help you design PCBs that are aesthetically pleasing, functional and reliable.

Step 0: Product Design

The most often skipped step in designing a PCB is the design itself. Most EE's don't take product design classes, but it's an important skill to develop. Putting together a comprehensive design will push you to answer the following questions:

  • What are the functional requirements of my PCB?
  • What are the major components you will need on your board to achieve that functionality?
  • In what ways will these components be interconnected? (SPI, UART, I2C, CAN)
  • How will power be managed on your PCB? How much power do you need, and where will it come from? How long do your batteries need to last, and what kind will you use?
  • What physical and thermal requirements do you need to satisfy? Will there by high acceleration or low temperature? How will you test these factors?
  • What shape/size does your PCB need to be? How will it be mounted?
  • What things need to connect to your PCB? What kind of wires will you use? What kind of connectors? Will you be able to quickly integrate and de-integrate your PCB from the system?
  • What failure modes could your board exhibit, and which could hurt mission success or pose a safety risk? How can you mitigate these risks in your board?
  • In what ways could misuse/abuse of your board destroy it, and how can you add protections from the stupid behavior of your future self?
  • How can I prototype different parts of my circuit on a breadboard with breakout boards to verify it works as intended?
  • What code will run on this board, and how can software development done in parallel to PCB layout?

Because SSI is a large team with many projects and members, You should also consider the Extensibility of your design:

  • How can your design leverage existing PCB schematics to speed up the design process?
  • How can you use the flight heritage of existing circuits to reduce the chance of your system not working?
  • Has any past project developed modularity that you can build upon?
  • Can you add modularity to your design that future projects can build upon?
  • Can your design be made more flexible or configurable for future missions?

The answers to some of these questions might be "no", but you should try to think about them. Here are a few case studies of past SSI boards that were designed on paper

Valbal EE 9

ValBal EE 9.1 Changelist

ValBal EE 9.1+ plans

ValBal Payload Interface Specification

SpaceSalmon Stack

Fishy Business

Board to Board Connections

Hardware Overview

Thunderguppy

ThunderGuppy Battery Issue

ThunderGuppy Initial Design

ThunderGuppy Spec

Buddy V3

|Buddy v3 Design

Step 1: Schematics

Step 2: Footprints

Step 3: Layout Parts

Step 4: Layout Traces

Step 5: Layout Memes

Step 6: DFM

Step 7: Prototype