Skip to content

Week 08 - Electronics Production

individual

This week was dedicated to the physical fabrication of a custom microcontroller development board. The goal was to master the full PCB production workflow, moving from a digital schematic to a functional hardware device.

The process involved characterizing the machine's design rules, milling the traces, and performing high-precision SMD soldering. By the end of the week, I successfully produced a programmable board, bridging the gap between electronic design and a ready-to-use prototype.

Preparation & Export

The first step was preparing the PCB design for the fabrication process. I reviewed the layout to ensure all traces and clearances were optimized for the milling machine’s capabilities. After I export to gerber and drill file

I already have the Gerber and Drill files of my PCB design ready. The next step is to convert them into PNG or SVG files so I can import them into Mods for toolpath generation. In Mods, I will then convert these images into G-code, which the SRM-20 milling machine uses to mill the PCB precisely according to my design.

To convert the Gerber files into PNG, I used a tool called Gerber2PNG, developed by Fab Lab Kerala. It’s a very convenient and easy-to-use program that quickly transforms complex Gerber data into high-resolution images. This step is critical because Mods requires PNG or SVG formats to accurately calculate the milling paths.

Using Gerber2PNG helped me prepare the images with the right contrast and resolution for the next stage — creating the final milling path for the SRM-20. This workflow ensures that every trace and drill hole is exactly where it needs to be.

Next I chose files to convert png//svg and click the button

And export Traces , Outline , Drill files

PCB milling process

1) Jog Controls (Manual Movement) These buttons allow you to manually move the machine's spindle to the desired position.

X/Y Arrows: Move the milling head left, right, forward, and backward across the workpiece.

Z Arrows (+Z / -Z): Raise or lower the spindle.

Tip: Use the Cursor Step options below these arrows (x100, x10, x1) to control how far the machine moves with each click. Use x1 for precision when the tool is close to the material.

2) "To Origin" Buttons These are shortcut buttons to quickly move the spindle to the currently set home position.

X/Y: Moves the tool to the (0,0) coordinate on the horizontal plane.

Z: Moves the tool to the (0) height position.

This is useful for checking if your origin is correctly set before you start milling.

3) Spindle Speed Adjustment This slider controls the rotation speed of the milling bit while the machine is running.

Low to High: You can adjust the RPM (revolutions per minute) in real-time. If you notice the material is melting or the machine is vibrating too much, you can slide this to find the "sweet spot" for your specific material.

4) Setup and Cut (File Management) These buttons are used to load your project and begin the milling process.

Setup: Opens the configuration window where you can select the files you generated in mods (usually .rml or .nc files).

Cut: Opens the output window. From here, you can see your file list and click Output to send the G-code to the SRM-20 and start the job.

I carefully mounted the 0.1 mm milling bit onto the spindle, making sure it was perfectly centered and secured to prevent any vibration during operation. Ensuring the tool is straight is key to achieving smooth and accurate traces. Next, I opened the VPanel for SRM-20 software to take manual control of the machine.

Inside VPanel, I used the jog controls to set the X/Y home position at the starting corner of my board. Setting the Z-axis zero point was the most delicate part; I lowered the tool bit very gently until it just touched the surface of the copper. After a final check of the material fixation and tool clearance, everything was ready to go.

Finally, I clicked the "Setup" button to load my file and pressed "Cut" to start the process. The machine followed the toolpath perfectly, and the PCB traces were milled cleanly without any burrs or issues. The final result came out exactly as designed.

outline and drill milling process

After the traces were finished, I needed to switch the tool for the drilling and outline stages. I carefully replaced the 0.1 mm bit with a 0.8 mm milling bit, which is much stronger and better suited for cutting through the entire thickness of the FR1 board.

In VPanel, I kept the same X/Y home position to ensure everything remained perfectly aligned. However, I had to reset the Z-axis zero point for the new bit since its length was slightly different. Using the jog controls, I lowered the 0.8 mm bit until it touched the surface, just as I did before.

Once the setup was ready, I loaded the separate G-code files for the holes and the board's edge. I pressed "Cut" again, and the machine began drilling the holes and cutting the final outline. The 0.8 mm bit went through the material smoothly, and the finished PCB popped out perfectly with clean, professional edges.

Once the milling and drilling were finished, I carefully removed the PCB from the machine and cleaned off the debris. Here is the final result: a clean, board with precise traces and perfectly aligned holes.

Soldering

Now that the board was clean and ready, I started the assembly. I began with the most delicate part: the microcontroller. Soldering the small pins requires a steady hand and a fine soldering tip to avoid any bridges between the traces.

After the microcontroller was secured, I moved on to the smaller SMD components, like the resistors and capacitors. Using tweezers to hold them in place, I soldered them one by one. Starting with the smallest parts first makes the process much easier and keeps the board organized.

After finishing the SMD parts, I moved on to the larger elements. I saved the buttons and DIP components (through-hole pins) for the very last stage.

I did this because taller components can get in the way and make it difficult to reach the smaller parts with a soldering iron. By soldering the flat SMD components first and the bulky DIP parts last, I kept the workspace clear and ensured every joint was soldered perfectly.

While working on the schematic, I made a small mistake and set the footprint for the pins to 1.4 mm. Unfortunately, we didn't have that exact size in stock, which made the soldering process much more difficult than expected. The alignment was tricky, and I had to be extremely precise to ensure a solid connection without damaging the board.

Despite this challenge, I didn't give up. I carefully adjusted my technique, used a bit more patience, and managed to solder everything perfectly. It was a tough lesson in double-checking footprints, but in the end, I successfully completed the board, and it works exactly as it should!

Conclusion

Workflow Mastery: I mastered the transition from Gerber files to Png G-code using Gerber2PNG and Mods. This process taught me how to manage high-resolution images (DPI) to ensure trace accuracy.

Precision Milling: I gained hands-on experience with the Roland SRM-20, specifically in setting the Z-axis origin for different tool bits (0.1 mm for traces and 0.8 mm for drilling).

Problem Solving: The highlight of the week was overcoming a design error. Even though I used the wrong 1.4 mm footprint in my schematic, I adapted my soldering technique to finish the board instead of starting over.

Lessons Learned: The main lesson from this project is the importance of footprint verification during the schematic phase. Checking the physical components against the digital library before milling saves significant time during assembly.

And this my pcb for ready to work