Skip to content

8. Electronics Production

Group Assignment

  • Characterize the design rules for your in-house PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline), and tooling.
  • Extra credit: send a PCB out to a board house.
  • Document your work on the group work page and reflect on your individual page what you learned.

To see our group assignment, click here.


Individual Assignment

  • Make and test the development board that you designed to interact and communicate with an embedded microcontroller.
  • Extra credit: make it with another process.

For this week's assignment — the fabrication of an electronic circuit — I used the Roland SRM-20 milling machine available in our Fab Lab. The PCB design used is the one I created during Week 6 (Electronics Design).

Roland SRM-20 milling machine

The goal at the end of this week is to obtain the following finished circuit board:

Final circuit board

To begin the fabrication process, I first retrieved the .SVG files for both the traces and the outline of my circuit, as shown below.

Click here to download the SVG files.

Circuit SVG

Before starting the milling, I needed to generate the toolpaths for both the traces and the board outline. Two different end mills were used:

  • A 1/64 inch flat end mill for milling the circuit traces
  • A 1/32 inch flat end mill for cutting the board outline

End mills


Toolpath Generation

Several software solutions exist for generating toolpaths, including Vcarve, FlatCAM, and mods CE. I chose mods CE because it is open-source and was specifically designed with Fab Lab tools in mind.

Using mods CE

Mods CE is an online tool developed by Neil Gershenfeld's Center for Bits and Atoms at MIT. It converts image files into milling toolpath files.

For more information on mods, click here.

Steps:

  1. Open mods CE.

  2. Click on "Program", scroll down to the SRM20-mill section, and select "mill 2D PCB".

    Mods CE - Program menu

    Mods CE - SRM20 mill 2D PCB

  3. In the "read svg" module, click "select svg file", choose the SVG file for the circuit traces, and click "Open".

    Mods CE - Import SVG

  4. In the "convert SVG image" module, click "invert" to invert the image colors as shown below.

    Mods CE - Invert

  5. In the "set PCB defaults" module, click "mill traces (1/64)" to apply the correct cutting parameters for the 1/64 inch end mill.
    Then, in the "Roland SRM-20 Absolute coordinates" module, set x, y, and z to 0 so the tool starts at the origin defined on the machine, and set the jog height to 12.

    Mods CE - PCB defaults and coordinates

  6. In the "mill raster 2D" module, click "calculate" to generate the G-code file.

    Mill raster 2D - Calculate step 1

    Mill raster 2D - Calculate step 2

  7. Repeat the same procedure to generate the G-code for the board outline, this time using the outline SVG file and the 1/32 inch end mill settings.


Machining the Circuit Board

For the machining process, I followed the Fab Academy tutorial. The process is broken down into three steps:

Step 1: Machine Preparation

  • Turn on the Roland SRM-20, connect it to the computer, and launch the VPanel software.
  • Warm up the spindle for 10 minutes at half speed before starting. To do this, move the slider in the "Spindle Speed" module to the midpoint, click "ON" in the "Spindle" section, and wait 10 minutes.

    VPanel - Spindle warm-up

  • After 10 minutes, click "OFF". Then proceed to mount the copper board on the machine bed as shown below.

    Board mounting step 1

    Board mounting step 2

    Board mounting step 3

  • Since we begin with the traces, mount the 1/64 inch end mill.
    ⚠️ Warning: Make sure the tool is secured properly — if it falls, it will break.

    Mounting the 1/64 end mill


Step 2: Setting the X, Y, and Z Origin

  • Use the Y+, Y-, X+, and X- buttons in VPanel to move the tool to the desired starting position for X and Y.
    Note: The (0,0) origin defined in mods is the lower-left corner of the design.

    XY origin setup

  • For the Z origin: click "Z-" to bring the tool close to the board surface. Then click the X/Y and Z buttons in the "Set Origin Point" section. Loosen the end mill collet so the bit rests on the board surface under its own weight, then re-tighten it. This sets the Z zero precisely at the board surface.

    Z origin setup


Step 3: Milling the Circuit Traces

  • In VPanel, click "Cut", select the trace G-code file generated by mods, and click "Output" to start the machining.

    VPanel - Start cut

After approximately 30 minutes of milling, the traces were completed:

Milled traces result

  • Next, I swapped to the 1/32 inch end mill for cutting the board outline. After re-zeroing the Z axis, I launched the outline cut. After approximately 4 minutes, the board was fully cut out:

    Board outline step 1

    Board outline step 2


Soldering Components onto the Board

I gathered all the electronic components before starting soldering to make the process more efficient.

Components laid out

After 2 hours of soldering, here is the result 😊:

Fully soldered board


Testing the Circuit Board

To test the board, I programmed it using the Arduino IDE to blink the blue LED on the circuit.

blink.ino
// LED blink test for ESP32
// Tests the blue onboard LED on pin 2

int LED = 2;

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

To upload the program, I used a TTL-232R-5V USB-to-UART cable. The pin connections were made following the official datasheet.

TTL cable pin connections

To upload code to the ESP32, the microcontroller must be placed in Boot mode. This is done by activating the switch on the board, which connects the IO0 pin of the ESP32 to GND.

Boot mode switch

The board works correctly — the LED blinks as expected! 🎉


HERO SHOTS 😊😊😊


Files