The most effective way to learn PCB design is to actually design and build one. So that’s what we’ll do. In this multipart tutorial, we’re going to design and build a PCB that is a partial version of Clima that includes BME280 to track temperature, humidity, and barometric pressure, and get its power from a solar power input. In the end, you’ll come away with a general grasp of PCB design from start to finish.


Along the way, we’re going to cover the following:

  • Schematic Design, AKA Capture - Creating a drawing of the circuit parts that will comprise the PCB, including:
    • Reading and Understanding Datasheets
    • Component Selection
    • Creating Custom Schematic Symbols & PCB Footrpints
    • Laying out a circuit in a logical drawing
  • PCB Layout/Design - Designing the physical PCB layout, including:
    • Layer Stackups
    • Component Placement
    • Routing
  • PCB Assembly - Practical, at-home assembly of SMT and PTH PCBs.

This tutorial will take a hybrid approach, with most content in the form of a three-part video, along with reference textual content.

Electronic Design Automation (EDA) Tools

PCB design is done almost exclusively with computer software today and is also known as Electronic Design Automation (EDA), and typically consists of two parts:

  • Schematic Design (AKA _Schematic Capture):
  • PCB Layout:

Creating PCBs is a core skill of designing hardware, and although it can be intimidating when starting out, designing PCBs for most IoT solutions is a fairly simple process, and the modern PCB supply chain means you can churn a design and have a professionally printed board in your hands within a week or so.

Choosing an EDA Tool

Unfortunately, while there are a lot of EDA tools to choose from, as software, they tend to still be a little primitive in their user experience (UX).

Internally, we use two tools; EasyEDA and KiCAD. KiCAD is a little more advanced, creates slightly nicer schematics, but has a very idiosyncratic and dated UX that can be frustrating.

EasyEDA is much more beginner and user-friendly, so these guides use that as an example, but the concepts generally apply across most EDA tools.

For KiCAD-specific tutorials, we recommend, and SparkFun.

In this tutorial, we’ll use EasyEDA, because of its ease-of-use and beginner friendly parts libraries and such.

Compared to Breadboarding

In comparison to breadboard prototyping, PCBs massively simplify routing. In fact, many modern IoT projects become impractical to route on a breadboard. PCBs also provide much better electrical connections, which can often cause debugging headaches that take a long time to solve.

In fact, because of the ease at which PCBs can be created, as well as their relative low cost, we often find ourselves skipping the breadboarding phase and churning a PCB.

Next: Part 1 - Schematic Capture


These docs are open source. If you find an issue, please file a bug, or send us a pull request. And if you want to contribute, we'd love that too!