Printed circuit boards (PCBs) are incredibly neat, compact, and sturdy ways to connect components when compared to a breadboard full of wires and tenuous connections held in place by friction and optimism, or the chaos of a hand wired protoboard. Once you know how to design PCBs, you can make them real via chemical etching, milling, or sending the design files to a PCB production house, such as OSH Park, JLCPCB, or others who will make professional boards for you quickly and inexpensively.
Design software such as Eagle or Kicad are capable of creating very sophisticated designs, but have fairly steep learning curves. Fritzing is very popular among makers for creating breadboard diagrams, but also has a easy-to-use PCB design capabilities that are often overlooked. In this guide, you'll use Fritzing to make your own Pico mechanical keyboard PCB!
Fritzing is comprised of three main views of the same design -- Breadboard view, Schematic view, and PCB (printed circuit board) view.
You'll work in these three views to first create a prototype representation of the circuit in Breadboard view, then optimize the circuit in Schematic view, and finally to design the electrical traces and physical layout of the board in PCB view.
There are two custom Fritzing parts you'll use while designing your keyboard PCB -- a Cherry MX keyswitch and the SMD (surface mount) version of the RP2040 Pico. Read more about this part here.
Download the .zip compressed files linked below, and then uncompress them. Once uncompressed the file names will end in
In Fritzing, click File > Open... and navigate to the Raspberry-Pi-Pico-smd.fzpz part, then click the Open button.
This will add the part to your Parts bin.
The breadboard view in Fritzing resembles real-world physical parts wired together directly or on a breadboard.
Add Pico Part to Breadboard View
In the Part bin, the Pico part should appear (if not, you can use the search feature to find it). Drag the Pico into your breadboard view.
Note, there are two different Pico parts available, one is designed for SMD (surface mount) use using the castellated pads soldered to the top of the PCB, the other is THT (through hole), designed for use with header pins. This design calls for the SMD part.
Repeat the previous steps to add the Cherry MX Keyswitch Simple part.
Wire the Switch to the Pico
Click-drag a wire from the Pico's GND (pin 38) to connect to the keyswitch pin 1 leg. You can right-mouse click the wire to change its color to black.
Connect the Pico's GPIO 0 pad (pin 1) to the pin 2 leg of the keyswitch, then color the wire blue.
Next, you'll have a look at the Schematic view representation of your circuit. You won't need to do too much here now, but as your circuit becomes more complex, you'll use this view to optimizing things in ways that will make life easier in the PCB view.
Route the Schematic View
Click the Schematic tab at the top of Fritzing. Here you'll see a neat, organized version of your parts made with standard electronic component symbols.
The connections you made in Breadboard view appear here as dotted lines between the Pico and the switch. Sometimes these connections are just as you'd like, other times you'll do some rerouting here for clarity and optimization.
For now, you can click on each of the dotted connections to create solid wires, and include bend points by clicking and dragging to make a clear, organized diagram.
You'll do more work in this view later once you've added more switches, but for now you can move on to PCB view.
Now that you have the parts wired in Breadboard view, and routed in Schematic view, it's time to orient them and lay out their electrical traces in PCB view.
Part Layout in PCB View
Switch to PCB view. You'll see the Pico and the keyswitch parts as well as a gray rectangle for the PCB board itself.
In this view you can re-position any part by click-dragging it.
You will rotate the Pico by right-mouse clicking on it and choosing the Rotate > Rotate 90º Counter Clockwise menu item.
The part footprints include all of the necessary copper pads to mount the Pico to the top of the PCB as well as the drilled, plated (copper-lined) holes and circular pads to mount the keyswitches to the top of the board by soldering them to the bottom of the board.
Just as in the Schematic view, any existing connections between parts that haven't been routed are shown as dotted lines. These are called "air wires" or "ratsnest" lines. If you were to fabricate this PCB right now it wouldn't function because the air wires haven't been converted to actual copper traces.
The PCB view is a bit more complex than the other views because the board has both a top and a bottom side which must be considered. You can view it from either side (as well as both at the same time using a sort of "x-ray" view), and you can place your copper traces on either side.
Draw a Trace
With the board view set at "View from Above" and the copper layer set to "Top Layer", click and drag the air wire that runs from the Pico GND to the keyswitch pin 1. This will create a copper trace on the top layer of the board connecting these parts.
If you click drag on the trace you can add and position a bend point as shown here.
Bottom Layer Via a Via
As you can imagine, placing all of your traces on just the top side of the board will become difficult when you have a lot of components. Traces can't cross one another without creating problems for your circuit. Running some connections on the bottom of the board makes life much easier!
In order to run a connection from one of the Pico pads at the top of the board through to the bottom of the board where you can then create a trace to connect to the keyswitch pin 2, you'll create a small plated connection hole called a via. You can move between layers via a via!
Switch to Bottom Layer -- vias can be placed on either layer since they pass between them, but we'll be continuing this trace on the bottom in a moment. In the Core part bin, look for the via icon in the PCB view section and then drag a via on onto the PCB next to Pico pin 1 as shown.
Drag a trace from the via to the keyswitch pin 2. Notice how the copper traces on the bottom layer are orange, while the top layer traces are yellow.
Remember that you're looking at a sort of x-ray view of the board's bottom. Since the Pico is on the top of the board and uses SMD pads, there are no worries about this new trace touching any of the pads it appears to be crossing beneath.
Switch back to the Top Layer and make a small trace from Pico pad 1 to the via.
View Management and Layers
For visual clarity, you can switch between top and bottom views of the board, as well as use the Layers panel to turn on and off the various layer of the PCB, including top and bottom copper, top and bottom silkscreen (the stuff printed in ink on the board), and more.
Parts can be moved and rotated even after you've placed copper traces, however this may lead to some issue that require fixes.
Pick the keyswitch and rotate it 180º to create such a situation.
Oh no! Here you'll see that after rotating the part, the GND trace is now running right through the drilled mounting hole. (Note, the red warning sign was added here for effect, Fritzing does not warn you about this type of issue.)
Fix this issue by dragging the bendpoint down until the trace clears the hole.
If the trace still looks a bit close for comfort, you can change the trace width in the Inspector Properties panel from the default of 24 mil down to 16 mil or even 12 mil. Thinner traces can be difficult to etch or mill at home, but aren't a problem for PCB fab houses.
On the next page, more switches will be added and you'll learn some tricks for dealing with boards of greater complexity.