This is a guest post from Thomas Amely on how to make your own CNC milled PCBs. A short author bio is included at the bottom of this post. Have fun making and enjoy the post!

Within the maker community there exists a sub-community of makers who have access to or have built their own CNC mills; I am one of those makers. Never being one to own a single purpose device I set out to mill circuits of my own design with my desktop CNC machine.

While many of my designs have reached a level of complexity which is well beyond the capabilities of this workflow, I still regularly create prototype circuits following this process. This is my workflow.

Hardware for Milled PCBs

The Machine

There are numerous sources on CNC mills of various sizes and capabilities but  given the nature of milled circuits an important factor is going to be resolution in inches per step (or mm/step). My particular machine travels roughly .000833 inches per full step, this is a good resolution for through-hole circuits but circuits utilizing surface mount devices (SMDs) may require a finer resolution. Better resolution can be attained through different lead screws or microstepping. A word of caution, increasing resolution through microstepping WILL sacrifice accuracy. How much accuracy is sacrificed varies from one setup to the next.

The Working Fixture

The work surface of your CNC mill should be as level as possible since a deviation of as little as .001″ could be the difference between properly engraving a board and barely scratching it. The spindle or router that will be used to mill your boards should be used to level the work surface with an appropriate end mill. Additionally the fixture should have a means of holding down the workpiece.

CNC Milled PCB Work Piece Hold-down

CNC Milled PCB Workpiece Hold-down


Three kinds of bits should be considered when stocking up as they are not commonly found in local hardware stores: drill bits, engraver bits and end mills (optional for cutting the circuit out.)

For drill bits a good variety in common PCB through-hole sizes is a must but the definition of common sizes varies based on what you are doing. My go-to drill bits are .025″, .033″ and .055″ although you want to have a good range and doubles of each as you will snap bits.

The engraver bits are a little more complicated as different users will have different experiences depending on their machines. Myself, I use .2mm 45° engraving bits, they can be had cheaply on ebay. Experiment with cheap bits of various sizes and angles before you spend much money on good bits as you will break many. Also, fight the urge to buy engraving bits with 10° angles as they are great for producing violent shrapnel.

I list the end mills as optional for cutting the circuits out of the rest of the board, but in reality if you have have a CNC machine, a few end mills is a must. Expect to find the drill bits and engravers primarily in a 1/8″ or 3mm shank (note: 1/8″ ≠ 3mm).

Assorted PCB Drill Bits

Assorted PCB Drill Bits

Assorted Drill and End Mill Bits

Assorted Drill and End Mill Bits

Engraver Bit

Engraver Bit

Copper Clad

While you could get your copper clad from your local electronics store you might put a nice dent in your budget before you produce your first good circuit. Instead of paying for 2-3 USD for each single sided board find a source for boards online. One excellent source is eBay seller “abcfab”. Try to avoid paying more than 0.50 USD per 4″x5″ board. Keep in mind that copper clad comes in many different board and copper thicknesses.



Software for Milled PCBs

PCB Software

For the creation of my circuits I use the EAGLE free version. The main limitation of the free version is the max size of the board, the max board size is limited to 100mm x 80mm (roughly 3.95″ x 3.15″.) There are some other limitations but they are not of much consequence for single sided boards of this size.  This size limitation might be worth keeping in mind when ordering copper clad. EAGLE can be downloaded from the Cadsoft website.

GCode Generator

To generate the GCode (the machine numerical control program language) I use the EAGLE open source plugin PCB-GCode. The plugin can be downloaded from the PCB-GCode forum. Installation and use are very well documented in the file within the plugin zip folder under /pcb-gcode-3.X.X.X/docs/pcbgcode.pdf.

CNC Machine Control Software

In this category there are really only two mainstream options: Mach 3 and LinuxCNC. There are a few alternatives but I’m not sure many people use them. At any rate once you produce the GCode, what you run it on is really of no consequence so long as it does what it is supposed to do.


Get It Down On Paper

As with any project the first step should be a well thought out circuit with a purpose. Try and work out all the details on paper (or digitally if you prefer.)

When I start I list at the top of my page what I want the circuit to do, how it will do it and any additional notes that I should keep in mind during the process. This is especially useful if you have to order parts for your project and will spend a few days away from it. It’s a good idea in general to  always have a notebook to jot down your ideas and thoughts.

For this example project I’ve decided to create an Arduino shield  that allows me to control a high power RGB LED strip utilizing 3 IRF540 Power MOSFETs. While these MOSFETs are certainly overkill, they are components I had laying around from a previous project. I’ve also made notes on what pins I will use and the possibility of supplying the Arduino with power from the LED power supply.

Always Keep Notes for Sanity's Sake

Always Keep Notes for Sanity’s Sake

Schematic on Paper

Before creating a schematic digitally I always begin by drawing one by hand. It doesn’t have to be pretty but it should make sense.

Extremely Informal Schematic

Extremely Informal Schematic

Breadboard It

Before milling anything I always test the circuit on a breadboard. There is no sense building a circuit that you hope will work when it takes only a few minutes to try it out. This is a simple check that will spare you a lot of frustration.

The Circuit Prototype on a Breadboard

The Circuit Prototype on a Breadboard

EAGLE Schematic

At this point I create my new project in EAGLE with a new schematic. EAGLE is very intuitive and similar to other schematic editors but there are many tutorials available to familiarize yourself with it if needed.  I always start by adding a frame with key information and bringing in all the components I think I will need before connecting anything.

In this case I have an Arduino shield component, 3 N-channel MOSFETs 6 resistors and 5 wire-pad connections. Always verify that the pinouts of the components you are using are correct. Before connecting any wires, give the components descriptive names and values for easier reading and deciphering later on.

Necessary Components

Necessary Components

Once all of the components are on the schematic I try to wire them in the most orderly fashion possible. This is normally a painless process if you took the time to draw your schematic by hand.

basic components connected

Components Connected

From this schematic I create a board and begin laying out components. Every person I know who uses a layout editor takes a different approach to laying out components. My main rule is to not fall in love with any layout. Working on a single sided PCB greatly limits routing options and the first layout I use is hardly ever the final layout. Here is a rough initial layout.

Initial Layout

Initial Layout

It is wishful thinking that I might be satisfied with the auto-route feature, but without having configured any of the optimization options, the auto-route is almost never useful for single sided boards. In this case the auto-route solution might have been suitable but I opted to modify the layout slightly and use wider traces for the high current sections.

My Routing Solution

My Routing Solution

Auto-Route Solution

Auto-Route Solution

Now that we have a design to mill we will run the PCB-GCODE plugin. Every single machine will have a different configuration based on the stepper drivers, the computer specs, the engraving bit and overall setup. Unfortunately there is no good setup that will work for every machine.

Make use of the configuration instructions provided with the plugin and have lots of patience. Additionally, make use of the drill files to ensure the plugin uses only drills you have on hand.



This job is run as a single pass but it can be configured to remove all material outside of traces. In the preview window I search for discontinuities and any other visible errors. Keep in mind that this preview is of the bottom of the board and therefore will appear backwards in the axis you have configured.

Mill Preview

Mill Preview

The plugin creates two files (or more depending on the configuration) a “.drill” file and a “.etch” file. Some machines can interpret these files or they can be simply renamed to have a “.ngc” or any other file extension.

LinuxCNC users want to make sure to specify G61 or G64 in their “.etch” files to avoid rounding corners due to trajectory control. I specify  G64P.005 within the etch file, this keeps the mill within .005″ of the GCode. For more information see the LinuxCNC wiki entry on trajectory control.


The last part of my milled pcb prototyping process is the actual milling. Once you have your machine set-up is fairly painless, however the process of setting up your machine can be very time consuming and frustrating. I often begin with drilling followed by etching but the order is of no real consequence and either can be chosen since they are separate files.


Drilling a CNC milled PCB


Etching a CNC milled PCB

The finished board should then be inspected for shorts using a multimeter or similar device. On this particular board I found a short where a tiny bit of copper has not been removed. This is an easy fix but could have caused some serious problems later on.

Drilled and Etched

Drilled and Etched


A Shorted Connection

While the copper-clad is still in the work fixture I evaluate if there are any additional changes I would like to make. I have opted to remove the bottom half of the board which has no connections.

Additional Changes

Additional Changes

Upon removing the board I sand the surface and corners as well as clean the trace gaps with a pick. Before soldering I perform one last thorough inspection with a magnifying device. My magnifying device of choice is a thread counter magnifier.

Closer Examination

Closer Examination of CNC Milled PCB

Now that the board is complete I notice a significant flaw in my board. I have no connection for 12V to go to the LED strip. I have the option to create another board or simply splice a wire to the 12V input. I chose the simpler option but have since updated my notes. This clearly demonstrates the iterative nature of prototyping.

Board Front

Board Front

Board Rear

Board Rear


Completed Project

Final Notes

As with any prototype I build, I have taken notes along the way of what changes need to be applied to the next iteration.

For this prototype the next iteration will include a barrel jack, terminal binding posts to connect the led strip, and heat sinks if needed. This particular prototype will be used as part of a sunrise alarm clock for a few weeks before refining the design.

This process is one of many possible workflows, I hope it has given a good idea of what is possible. Keep in mind that while this setup is designed to produce single sided circuits there are plenty of makers out there who design double sided circuits on their CNC mills. A similar process can be implemented with various software, machines and tooling. In designing your own work flow be patient, stay flexible and be willing to fail.


  1. rom1nux

    Have you heard of the Prometheus Project, it’s a Kickstarter projet to make PCB dedicated CNC at an affordable price :
    Prometheus need our help.

  2. Hello Web Admin, I noticed that your On-Page SEO is is missing a few factors, for one you do not use all three H tags in your post, also I notice that you are not using bold or italics properly in your SEO optimization. On-Page SEO means more now than ever since the new Google update: Panda. No longer are backlinks and simply pinging or sending out a RSS feed the key to getting Google PageRank or Alexa Rankings, You now NEED On-Page SEO. So what is good On-Page SEO?First your keyword must appear in the title.Then it must appear in the URL.You have to optimize your keyword and make sure that it has a nice keyword density of 3-5% in your article with relevant LSI (Latent Semantic Indexing). Then you should spread all H1,H2,H3 tags in your article.Your Keyword should appear in your first paragraph and in the last sentence of the page. You should have relevant usage of Bold and italics of your keyword.There should be one internal link to a page on your blog and you should have one image with an alt tag that has your keyword….wait there’s even more Now what if i told you there was a simple WordPress plugin that does all the On-Page SEO, and automatically for you? That’s right AUTOMATICALLY, just watch this 4minute video for more information at. Seo Plugin

  3. Hi there, just became alert to your blog through google, and found that it’s truly informative. I’m gonna watch out for brussels. I will be grateful if you continue this in future. Numerous people will be benefited from your writing. Cheers!

  4. Thank you for great post. It’s work !

  5. Thanks very interesting blog!

  6. Many thanks extremely beneficial. Will certainly share website with my pals.|

  7. Hi! This post couldn’t be written any better!
    Reading through this post reminds me of my good old room
    mate! He always kept talking about this. I will
    forward this post to him. Pretty sure he will have a good read.

    Thank you for sharing!

  8. continuously i used to read smaller articles or reviews which
    as well clear their motive, and that is also happening with this
    paragraph which I am reading now.

  9. gokusnkhw pbfyw ndfiggn rkhd mtyyguivzniktyu

  10. Great article, I would love to read more of your stuff. Perhaps you are able to read mine sometime

  11. Just wish to say your article is as astounding. Hi you should try posting your ad on its free to post and it is now the fastest growing classifieds in North America.With local posting areas in your town and city’s in over 23 country’s in North America. We get on average about 1 million people a month coming to our site and more check us out at

  12. Great article, I want to read more of your stuff. Maybe you are able to read mine sometime

  13. Great article, I would love to read more of your stuff. Maybe you can read mine

  14. Great article, I would love to read more of your content. Perhaps you are able to read mine

  15. Great article, I want to read more of your stuff. Maybe it is possible to read mine

  16. Great article, I would love to read more of your content. Maybe you are able to read mine

  17. Great post, I want to read more of your things. Maybe you are able to read mine

  18. Great post, I would love to read more of your things. Perhaps it is possible to read mine sometime

  19. It’s very simple to find out any topic on net as compared to
    books, as I found this paragraph at this site.

  20. Great article, I want to read more of your stuff. Maybe you can read mine sometime

  21. Great post, I want to read more of your stuff. Perhaps it is possible to read mine

  22. Great post, I would love to read more of your stuff. Perhaps you can read mine

  23. Great post, I would love to read more of your stuff. Perhaps you can read mine sometime

  24. Greetings from Idaho! I’m bored to tears at work so I decided to browse your website on my iphone during lunch
    break. I love the information you provide here and can’t wait to take a look
    when I get home. I’m surprised at how fast your blog loaded on my
    mobile .. I’m not even using WIFI, just 3G .. Anyways, wonderful blog!

  25. Great post, I want to read more of your things. Perhaps it is possible to read mine

  26. I am regular visitor, how are you everybody? This article posted
    at this website is really good.

  27. Amazing! Its actually remarkable article, I have got
    much clear idea regarding from this paragraph.

  28. Great post, I want to read more of your content. Perhaps you are able to read mine

  29. Hello, There’s no doubt that your web site
    could be having web browser compatibility issues.
    Whenever I look at your site in Safari, it looks fine however, when opening in IE, it’s got some overlapping issues.

    I just wanted to give you a quick heads up! Apart from that, great blog!

  30. F*ckin’ awesome issues here. I am very satisfied to peer your article.

    Thanks a lot and i am looking forward to touch you.
    Will you kindly drop me a mail?

  31. I savor, lead to I discovered exactly what I used to be
    taking a look for. You’ve ended my four day lengthy hunt!
    God Bless you man. Have a nice day. Bye

  32. I visited a lot of website but I believe this one holds something special in it.

  33. Basically to follow up on the up-date of this matter on your
    web page and wish to let you know just how much I appreciated the time you
    took to generate this valuable post. Inside the post, you really
    spoke regarding how to really handle this problem with all convenience.
    It would be my pleasure to gather some more ideas from your web
    page and come as much as offer people what I have benefited from you.

    Many thanks for your usual great effort.

  34. Astonishingly user friendly site. Great details readily available on few clicks on

  35. Wow, beautiful portal. Thnx ..

  36. This is such a great site keep up the good work.please check out our Free Classifieds site:Real estate, apartments, condo, house rental, room rental, roommates, short term rentals, commercial, office space, storage, parking, houses for sale, condos for sale, land for sale, Cars, Trucks, Vans, Rvs, Parts, Jobs Pets, Livestock, Farmers market, news all at

  37. Fascinating blog! Is your theme custom made or did you download it from somewhere?
    A design like yours with a few simple adjustements would really
    make my blog jump out. Please let me know where you got your design. Kudos

  38. You have noted very interesting points! ps nice website.

  39. Really good info can be found on weblog . “I can think of nothing less pleasurable than a life devoted to pleasure.” by John D. Rockefeller.

  40. Magnificent beat ! I wish to apprentice while you amend your website, how can i subscribe for a blog website? The account helped me a acceptable deal. I had been a little bit acquainted of this your broadcast provided bright clear concept|

  41. I like this post, enjoyed this one thankyou for putting up.

  42. 重さを外側に配分することにより慣性モーメントを拡大。 イヴサンローラン バッグ 新作

  43. A fascinating discussion is definitely worth comment. I think that you ought to write more about this subject matter, it may not be a taboo subject but generally people do not talk about these topics. To the next! Cheers!!

  44. Hi there, I enjoy reading through your article post.
    I like to write a little comment to support you.

  45. Her zamanki gibi harika bir içerik olmuş

  46. Attractive element of content. I simply stumbled upon your weblog
    and in accession capital to claim that I get in fact loved account your weblog posts.
    Any way I’ll be subscribing in your augment and even I achievement you get admission to persistently fast.

  47. Pretty! This has been a really wonderful article. Many thanks for supplying this info.

  48. We would like to thank you yet again for the stunning ideas you offered Jeremy when preparing her own post-graduate
    research and also, most importantly, with regard to providing all the
    ideas in a single blog post. In case we had known of your
    web site a year ago, we would have been kept from the unwanted measures we were employing.
    Thanks to you.

  49. Según dictamina el Real Decreto 795/2010, de 16 de Junio, es necesario adquirir el certificado que acredita para la manipulación y reparación de sistemas frigoríficos que empleen refrigerantes fluorados. La Certificación se realiza por los organismos competentes designados por las diferentes Comunidades Autónomas, lo que ha ralentizado el inicio de actividades que permiten obtener la Certificación. No existen demasiadas evidencias de su utilización en Bolivia más que como fuente de repuestos.

  50. Awsome article and straight to the point. I am not sure if this is actually the best place to ask but do you folks
    have any ideea where to employ some professional writers?
    Thank you :)

  51. You’ve got among the finest online websites

  52. Este es un gran hotel, como mantener el buen work.please visita nuestra Clasificados gratis sitio : motor, viviendas , condominios, alquiler de casa, alquiler de la sala , compañeros de cuarto , alquileres a corto plazo , comercial , oficinas , almacenamiento , aparcamiento , casas para venta, venta de casas , terrenos en venta , coches, camiones , furgonetas , vehículos recreativos , piezas , Empleo animales de granja, mercado de los granjeros , noticias todos a la

  53. OMV3vG Muchos Gracias for your post.Really thank you! Want more.

  54. My coder is intending to persuade me to go to .net from PHP.
    I have got always disliked the idea as a result of costs.
    But he’s tryiong none the less. I’ve been utilizing WordPress
    on several websites for about annually and am concerned about switching to a different platform.

    I have got heard great aspects of
    What is the way I will transfer all of my wordpress content involved with it?
    Any help will be really appreciated!

  55. Hey there. I discovered your web site by way of Google whilst looking for a similar topic, your site came up. It appears great. I have bookmarked it in my google bookmarks to visit then.

  56. Extremely beneficial… looking forth to coming back

  57. Hiya, I am really glad I’ve found this info. Nowadays bloggers publish only about gossip and web stuff and this is actually annoying. A good web site with exciting content, this is what I need. Thanks for making this web-site, and I will be visiting again. Do you do newsletters by email?

  58. I’m gone to inform my little brother, that he should also
    pay a quick visit this website on regular basis to obtain updated from latest news.

  59. Это такой большой сайт, сохранить хорошую work.please проверить наш сайт Бесплатные Объявления : Недвижимость , квартиры , кондо , аренда дома , аренда помещений , соседи по комнате , Краткосрочная аренда , коммерческая , офисное помещение , склад , парковка, дома для продажа, квартиры на продажу , земли на продажу, Легковые автомобили , Грузовые автомобили, фургоны , Rvs , Запчасти , Работа Домашние животные, поголовье скота, фермеры рынка , новости все на

  60. I have found a great bread making item and I hope you will enjoy it. It’s simple to utilize thanks to the electronic screen, preprogrammable setups, and also a fruit and also nut dispenser that immediately includes additionals at the right time. 14 cooking features are available and also consist of low-carb, gluten totally free, and also professional dough. The delay cook timer and also best bake innovation for also heat, ensure that every loaf will appear ideal, and also at the right time!

  61. This is really interesting, You are an overly skilled blogger.
    I’ve joined your feed and stay up for looking for more
    of your fantastic post. Additionally, I’ve shared your
    website in my social networks

Leave a Reply