8. Electronics Production

This week we focused on electronics production by physically fabricating a PCB (Printed Circuit Board) using the lab's milling machine. The process went from reviewing a digital design all the way to a soldered and functional board. The general workflow was:

To know more about our FabLab's machines check the group assignment:

Group Assignment

Digital Process

The board I fabricated is a NeoPixel controller: it uses potentiometers to control the behavior of NeoPixel RGB LEDs, allowing manual adjustment of parameters like color or brightness through analog input. The digital side of the process covered the PCB design review, Gerber export, image conversion and toolpath generation. Here you can explore my process:

PCB Design Review in KiCad

Physical Process

With all the digital files ready, the next step was to actually cut, solder and program the board. This part of the process is more hands-on and requires careful machine setup, patience during soldering, and troubleshooting when things don't go as planned.

Cutting the PCB on the Roland Minimill

Learning Outcomes

This week taught me that fabricating electronics is a multi-step process where precision matters at every stage from the digital design to the physical cut, soldering and programming.

  • Surface flatness is critical: Even a small warp or unevenness in the copper board can cause the V-bit to miss the surface in certain areas, resulting in incomplete traces. Using double-sided tape evenly and pressing the board flat is essential.
  • Each tool needs its own Z calibration: Every time you change the milling tool, you must re-set the Z origin. Skipping this step or being imprecise leads to cuts that are too shallow or too deep.
  • Soldering for the first time: This was my first time soldering SMD components, and I learned that temperature control is crucial (too much heat can burn components or bridge nearby traces, while too little prevents a proper joint). Taking the time to inspect each joint before moving to the next one saves a lot of debugging later.
  • Programming and libraries: Getting the board to run correctly requires not just writing the logic, but also managing the right libraries. In my case I used C++, where understanding how libraries are imported and configured makes a big difference in how clean and functional the code ends up being.

Finally this week was fundamental to start understanding the principles behind electronics, inputs and outputs. Additionally, I tried to make the PCB to be modular, so it can be adapted and expanded during testing phases.

Files