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.
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.
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.
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.
Once prepared, the board was placed on the sacrificial bed of the machine, which allows full cuts without damaging the main structure.
⚙️ 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.
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.
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.
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).
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.
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.
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.
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.
FlatCAM - Copper
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
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)
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
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.
Demonstration of the PCB working with button-controlled LED.
Project Downloads
Download all files related to the PCB design and fabrication: