Fab Academy 2026

Week 8: Electronics Production

Designing, manufacturing and testing a custom PCB using KiCad and the MonoFab SRM-20.

Software

KiCad, Gerber2PNG and Modsproject

Machine

Roland MonoFab SRM-20

Main Skills

PCB design, routing, soldering and testing

Assignments

Group Assignments

Individual Assignment

Group Assignment

Group Assignment – Electronics Production

From the group assignment, I reinforced my understanding of different PCB fabrication methods by comparing mechanical milling and laser processing.

Using the SRM-20, I observed how parameters such as tool diameter, cutting depth, and feed rate directly affect the resolution and quality of the traces.

Through the clearance and width test, I learned how to determine the minimum trace width and spacing required for reliable PCB production.

Overall, this assignment helped me better understand how to choose the correct fabrication process and machine parameters to ensure successful PCB manufacturing.

Workflow Overview

1. Schematic Design

Create the electronic schematic and connect the components in KiCad.

2. PCB Layout

Define footprints, routing, trace widths and board dimensions.

3. Manufacturing

Generate toolpaths and fabricate the PCB using the MonoFab machine.

4. Soldering & Testing

Assemble the components and validate the functionality of the board.

KiCad Setup

The first step was downloading and installing the Fab Academy libraries for KiCad.

To download them, click here .

Footprints

Add the ".pretty" file inside the footprint manager.

Symbols

Add the "_sym" file inside the symbol library manager.

Paths

Configure the complete Fab Academy library folder.

Schematic Design

After setting up the libraries, I started creating the schematic in KiCad.

Components

Components can be added by pressing the "A" key.

Power & GND

Power symbols can be added by pressing the "P" key.

ERC

The Electrical Rules Check helps identify connection problems.

KiCad connections
Schematic connections using wires and net labels.

PCB Layout and Routing

Before routing the PCB, I assigned footprints to all components and configured the design rules according to the MonoFab machine capabilities.

Clearance

Minimum spacing between traces: 0.4 mm

Trace Width

Minimum trace width: 0.8 mm

GND Plane

Used to reduce the number of traces and simplify routing.

Gerber Export and Manufacturing

After finishing the PCB design, I exported the Gerber files and converted them into PNG images using Gerber2PNG.

Then I imported the generated files into Modsproject to create the machining toolpaths.

Cutting and Soldering the PCB

Once the files were ready, I fabricated the PCB using the MonoFab SRM-20.

To calibrate the Z axis, I used a sheet of paper similarly to leveling a 3D printer.

MonoFab PCB

After cutting the board, I soldered all the SMD components.

Soldering Method

First, I applied solder to one pad. Then I fixed one side of the component and finally soldered the other side.

Testing the PCB

Programming Test

Since the focus of this week was PCB fabrication rather than programming, I used ChatGPT to generate a simple code where the LED changes brightness depending on ambient light.


#include <avr/io.h>

const int ldrPin = D0;
const int ledPin = D6;

int minLuz = 178;
int maxLuz = 182;

float brilloSuave = 0;

void setup() {

  Serial.begin(115200);

  pinMode(ledPin, OUTPUT);

}

void loop() {

  int ldrValue = analogRead(ldrPin);

  float normalizado =
  (float)(ldrValue - minLuz) /
  (maxLuz - minLuz);

  normalizado =
  constrain(normalizado, 0.0, 1.0);

  float brillo =
  50 + (1.0 - normalizado) * 205;

  brilloSuave =
  brilloSuave * 0.9 + brillo * 0.1;

  analogWrite(ledPin, (int)brilloSuave);

  delay(20);

}

Debugging and Problems

Incorrect Milling

The PCB holes were not properly milled because the cutting speed was too high.

Thin Traces

Some traces were too thin, so I increased the trace width in KiCad.