Skip to main content

PCB Guide Part 1 - Preparations

This guide is intended as a direct replacement for the aging Ruiqi Mao's guide and the original ai03 PCB Design Guide. Credits go to these guides for serving as a base for this writeup.

If you spot any mistakes, please find us in the Atelier discord server in the channel #wiki-discussion and the editors will ensure the information gets corrected.

In this guide, we will be going over the steps to create a 2x2 macropad using the ATMGETA32u4 MCU and KiCad ECAD software. While the ATMEGA32 is an older model of MCU, it is well-supported in QMK, is easier to hand solder, is simple to route, is well understood by the keyboard design community, and is more robust than other more modern chips. This makes it a great place to start with when you're trying to design your very first PCB.

1.1 Requirements

KiCad

Many of the images in this guide are older and using a 5.1.x version of KiCad. We are in the process of updating these images as we rebuild this wiki.

KiCad is the ECAD package being used in this guide. Use the latest stable release from the download pages below.

Windows: https://www.kicad.org/download/windows/ 
MacOS: https://www.kicad.org/download/macos/
Linux: https://www.kicad.org/download/linux/

Download and install like you would with any other program.

Git/GitHub

This guide will use Git/GitHub to manage progress. It will allow you to roll back changes if things get out of hand. GitHub is also a simple and reliable way of sharing your work to the world.

If you are new to GitHub, this desktop client will make your life easier: https://github.com/apps/desktop
Install and sign in or create an account as needed.

It is a good idea to become familiar with how GitHub works, it is very useful for open-source projects.

If you already work with git, use whichever implementation you prefer, and replace all mentions of GitHub in this guide with your preferred methods.

Keyboard Atelier Discord

If you happen to get stuck, know that every designer has been there. Join us on the Keyboard Atelier Discord server. There is a thriving community where everyone is invested in helping each other learn, grow, and build cool things.

Most of the information in this wiki has been curated by members of the Atelier server, but Discord is better for live conversation than information organization.

1.2 Repository Preparations

In GitHub Desktop, Select File -> New Repository...

image-1546902445727[1].png

Then create the repository (repo) similarly to below. This will create a blank repository where we can start our work.

image-1546902564839[1].png

Some of the important options:

  • Name - The name of the project. For now, use something like "keyboard-pcb-tutorial".
  • Description - Something so that viewers won't be completely confused as to what the repository is about.
  • Readme - The "front page of the repository" that's displayed when people access it on GitHub. May as well generate a blank one.
  • Git Ignore - This is a filter you can apply which won't sync specific filetypes. The KiCad filter doesn't sync backups, autosaves, and other temp files.
  • License - Places limits on what people can do with your project. For example, you can block commercial use, force derivatives to open-source as well, etc.

Publish the repository

image-1546902867480[1].png

Publish using whatever settings you prefer. You can uncheck "Keep this code private" if you want the data to be public and open-source from the start. You can always change this in settings later.

image-1546902889315[1].png

With our repo preparations done, we can now move on to initializing KiCad.