Assignments

Week 8 – Electronics Production

Assignments

Group assignment:

  • Characterize the design rules for your in-house PCB production process
  • Submit a PCB design to a board house

Individual assignment:

  • Make and test an embedded microcontroller system that you designed
  • Extra credit: make it with another process

Group Assignment - Lessons Learned

During the group assignment, I learned that understanding the design rules is essential to avoid machining errors. Parameters such as trace width and spacing must be carefully defined according to the tool diameter and machine capabilities. Additionally, proper calibration of the CNC machine plays a critical role in achieving accurate results. Working as a team also helped to compare results, identify issues more quickly, and validate the optimal machining parameters.

🔗 If you want to explore the Group Assignment in more detail, you can visit the official Fab Academy page:

Visit Fab Academy ULima →

PCB Machining Process

Today, I carried out the PCB machining process using the Modela Pro II MDX-540 machine.

MDX-540 Machine

First, the machine bed was cleaned using alcohol, and any remaining debris from previous machining processes was removed. This step is essential to ensure a clean surface and avoid precision errors.

Vacuum cleaning
Vacuum Cleaning
Alcohol cleaning
Alcohol Cleaning
Final cleaning
Final Preparation

Next, the copper board was prepared by placing double-sided tape on the back side in order to fix it firmly. It is very important that the board is as flat as possible, since any unevenness can affect the depth of the engraving or cutting process.

MDX-540 Machine

There are different types of PCB materials that can be used. The most common ones include:

  • FR-4 (fiberglass): standard material in the industry, with high mechanical and thermal resistance.
  • Phenolic: more economical, used for prototypes, but with lower resistance.
  • Ceramic: ideal for high-temperature and high-frequency applications.
  • Aluminum: provides better heat dissipation, used in power electronics or LEDs.
MDX-540 Machine

Once prepared, the board was placed on the sacrificial bed of the machine, which allows full cuts without damaging the main structure.

MDX-540 Machine

⚙️ Generating the G-code in Mods CE

To generate the G-code, I used Mods CE and connected the modules step by step. In Set PCB Defaults, I selected the 40° V-bit configuration. After defining the machining parameters, I clicked calculate to preview the result, including a 3D simulation of the toolpath and the final G-code output.

Mods CE workflow for generating G-code

1. Read PNG

First, I loaded the PNG file of the PCB design into Mods CE as the input image for the machining workflow.

  • Input: PNG file
  • Available options: view, invert, flip H, flip V, rotate 90° CW
  • Units: dpi, px, mm, in

Toolpath Verification

After calculating the toolpath in Mods CE, a 3D model preview of the machining process was generated. To verify the result more accurately, I also used NC Viewer, where I loaded the G-code to simulate how the PCB would be machined.

MDX-540 Machine

This additional verification step helped confirm the toolpath, machining order, and general cutting behavior before running the process on the machine.

Types of PCB Machining

In PCB machining, there are three main processes:

Engraving:
The surface copper layer is removed to create the circuit traces. It is done using fine milling tools and low depth.

Drilling:
Holes are made in the board for components or mechanical fixing. Drill bits are used depending on the required diameter.

Cutting:
The board is cut out, separating it completely from the base material.

MDX-540 Machine

Machining Process

Then, the corresponding tools were selected for the process:

  • Engraving

Following good practices, the process started with engraving, since if cutting is done first, the board could move and lose precision.

Z-Axis Calibration

After calibrating the X and Y axes, the Z-axis is calibrated using a Z-axis touch probe (sensor).

MDX-540 Machine

First, the tool is moved down until it makes contact with the sensor. Once the contact is detected, the machine automatically registers the position as the reference height.

After this, the tool moves up automatically, indicating that the Z-axis has been successfully calibrated.

MDX-540 Machine

Machining Tests and Calibration

The machining tests were performed using a 2 mm V-bit tool with a Cut Z of -0.112 mm. The results showed that sensor pressure during calibration and surface leveling had a direct impact on the final machining quality.

Machining tests and calibration attempts

Attempt 1

In the first attempt, the result was not satisfactory because of an incorrect Z-axis calibration. I concluded that I pressed the sensor too much, which caused an excessive machining depth and a poor surface finish.


Individual Assignment

Individual Assignment - Lessons Learned

During the individual assignment, I realized that small variations in Z-axis calibration can significantly affect the final PCB quality. Learning how to use tools like Mods and FlatCAM was key to generating accurate G-code. The soldering process required precision, especially when working with very small SMD components, where using tweezers became essential. I also learned that proper alignment of components, particularly headers, is important to ensure correct connections, and that debugging both hardware and software is an important part of the process.

Machining tests and calibration attempts

Once the PCB design was completed, it was necessary to export it into Gerber format, which is the standard used for PCB manufacturing. From the Manufacturing section of the EDA software, the Gerber files were generated, including copper layers, drill data, and the board outline. This step ensures that the design can be properly interpreted either for in-house machining or by an external board house.

Image 1
Image 2
Image 3

FlatCAM - Copper

MDX-540 Machine

After importing the copper Gerber file into FlatCAM, I configured the isolation routing process. In this step, it is necessary to define parameters such as the tool diameter, number of passes, pass overlap, and the tool settings used to generate the toolpath for the PCB traces.

1. Isolation Routing

First, I configured the isolation routing to define how the copper around the traces would be removed.

  • Tool dia: 0.1000
  • # Passes: 1
  • Pass overlap: 10.0000%
  • Generate Isolation Geometry: creates the trace toolpath

FlatCAM - Profile

MDX-540 Machine

For the profile operation, I used FlatCAM to define the external board cut. In this step, I specified machining parameters such as Cut Z, travel height, feedrate, and spindle speed, which directly affect the final board cut quality.

1. Gerber Object

First, I opened the profile Gerber file and configured the geometry generation for the board outline.

  • Name: profile.gbr
  • Tool dia: 0.1000
  • Generate Isolation Geometry: creates board path
  • Board cutout: prepares external contour

PCB Assembly (Soldering)

MDX-540 Machine

After generating the G-code and machining the PCB, the next step was assembling the components by soldering. This process requires precision, especially when working with small SMD components.

1. SMD Pin Headers

First, I soldered the SMD pin headers onto the PCB. These components are used to create electrical connections between the board and external devices or modules. This step was relatively easy and did not present major difficulty.

Final Assembly Details

MDX-540 Machine

In the final stage of the assembly, additional care was taken to ensure proper alignment and correct positioning of key components before completing the PCB.

4. SMD Female Headers Alignment

Before soldering the SMD female headers, I first placed them on the Seeeduino board to ensure proper alignment. If soldered freely by hand, the position may be inaccurate, affecting the connection and overall assembly.

Programming Setup

After connecting the board to the computer, the device was not immediately recognized. To solve this, it was necessary to press the RESET button on the board. This action forces the microcontroller to enter bootloader mode, allowing the computer to detect the device and enabling code upload through the Arduino IDE.

MDX-540 Machine

Demonstration of the PCB working with button-controlled LED.

Project Downloads

Download all files related to the PCB design and fabrication: