Digital Fabrication WS2025/2026

Weeks 7 & 8: Electronics Design & Production

Designing and milling the custom PCB for the Final Project.

Overview

For these weeks, the goal was to design, mill, and solder a custom circuit board (PCB). Since my final project (the Virtual Pinball Machine) requires connecting multiple arcade buttons and an analog plunger to a computer, I decided to create a breakout board for the Raspberry Pi Pico. This board serves as the central hub, collecting all inputs and sending them via Serial/USB to the Unity game engine.

Step 1: Choosing the Microcontroller

I chose the Raspberry Pi Pico because it offers a large number of digital GPIO pins (needed for the many buttons of a pinball machine) and high-quality Analog-to-Digital Converters (ADC) which are essential for reading the position of the mechanical plunger accurately. Furthermore, it supports HID and Serial communication easily, making it perfect for game controllers.

Raspberry Pi Pico Pinout
Step 2: Designing the Schematic in KiCad

I used KiCad to design the electronics. The schematic includes:

  • The Pi Pico Footprint: To mount the microcontroller.
  • Input Headers: For connecting the arcade buttons (Left/Right Flipper, Start, Select, etc.).
  • Analog Input: A specific connection for the plunger potentiometer.
  • LED Drivers: Resistors and headers to drive the LEDs inside the arcade buttons.

I added pull-down resistors to ensure clean digital signals and prevent floating inputs when buttons are not pressed.

KiCad Schematic of the Pinball Controller Download KiCad Project
Step 3: PCB Layout and Routing

After the schematic was verified, I moved to the PCB Editor. The challenge was to route all the traces from the Pico pins to the screw terminals without using jumper wires. I used a generous trace width to ensure the milling process would go smoothly and the board would be robust. Ground planes were added to simplify the routing of the GND connections.

PCB Layout in KiCad
Step 4: Milling and Soldering

Once the design was ready, I exported the Gerber files and used the CNC mill to carve the traces out of a copper-clad FR1 board. After milling, I soldered the components. I used pin headers to mount the Pico (so it can be removed if needed) and screw terminals for the external button connections. The soldering process required precision, especially for the resistor arrays and the pin headers.

The milled and soldered PCB
Step 5: Wiring and Integration

Finally, it was time to install the board into the pinball cabinet. As you can see, cable management became a real challenge. Each yellow and orange wire corresponds to a button or LED on the casing. The board successfully bridges the physical world (buttons) with the digital world (Unity), sending the keystrokes and analog values perfectly.

Wiring the PCB inside the case