All articles tagged as:


Surface Mount Milling and Soldering

One of the major goals I had when I started working on milling PCBs was to be able to reliably mill boards with surface mount footprints - a number of parts I want to use are only available in that format and I am hoping to reduce the size of the boards I produce. This weekend I finally got some time to test out the process. The results weren't as good as I liked but I am happy with the progress. To start with I wanted some fairly simple boards to test the various footprints I will be using. I made up three designs: A simple LDO regulator board using the SOT-23 version of the MCP1702 and a col…

Read more »

PCB Milling Updates

My PCB milling work flow is working well for single sided boards with through hole components. I am still working on support for surface mount devices and double side boards but the capability I have now is enough to speed up the progress on my queue of projects. This post is a general update on what I have been doing with that capability. I saw this tip on a blog post mentioned on Google+ but unfortunately I can't find the original link. Essentially you take a block of wood, drill some largish holes partially through it and use it to keep the tool bits you need for the particular task you are…

Read more »

Seven PCB Milling Tips

After a lot of weekends of trial and error I finally have my PCB milling process working. In this post I share some things I have learned along the way - hopefully it will make it easier for anyone else trying to develop the same process. 1. Be Consistent This is one of the most important factors to get repeatably reliable boards. It's very tempting to just tape a board down randomly and start milling - but the next board might not be in the same place and you wind up with very different results. Your goal should be to minimise the number of variables as much as possible - use the same size bl…

Read more »

Automating PCB Layout for Milling

This post describes pcbpack, a Python script that automates the process of laying out multiple PCBs on a single panel for CNC milling. The tool is part of my gctools package, a Python framework and set of tools for manipulating gcode available on GitHub. When I started learning how to mill PCBs with a CNC I was making a single board at a time which turned out to be time consuming and prone to error. Each board needed to be positioned and aligned, the blank PCB needed to be trimmed to size and every milling operation presented it's own unique set of issues. Given that blank boards come in stand…

Read more »

Massage Your Gcode With Python

Since I first acquired my CNC machine I started building a set of tools in Python to let me generate and manipulate gcode files. I have now released this code on GitHub under a Creative Commons Attribution-ShareAlike license in the hope it will be useful to others as well. Disclaimer: Please be careful before using any of the gcode generated by these tools on your actual machine. Although I use it successfully myself on a range of projects I cannot guarantee that it won't damage your machine or behave differently in your environment. A good check is to run the resulting code through OpenSCAM…

Read more »