top of page

Arduino 3D Printed CNC

Arduino CNC

Before I start off I want to be clear that much of this project was not my original design. I heavily relied on a tutorial from (https://www.instructables.com/DIY-3D-Printed-Dremel-CNC/) but did make some changes along the way. Along with making a few changes I learned a lot. Hopefully, this helps with your first CNC design or is just entertaining to read along at the very least. Thank you!

Looking back I shouldn't have been so "intimidated," by the thought of making a CNC. For some reason, I thought it would have been tricky to get 4 motors to move in an X, Y, Z direction by using an Arduino. As it turns out and not unexpectedly a lot of smarter people have done the complex part and all I had to do was put components together. For the sake of the format of this page I'm going to break it down into the following sections; Electronics, Software, Mechanical, Assembly, and Learned Experiences. That's also the same order I and probably any other Mech-E was initially intimidated by. You'll also notice a lot of Amazon Ads throughout the page. I wish I had the direct links when I started the project and from what I can find they were almost always the cheapest. That being said if you don't like the please leave a comment below and as always if you click on an ad I can potentially earn some money. 

Electronics

Let me break this down simply. If you can plug in wires you can get the electronics portion done.

 

USB From CPU --> Arduino

Arduino Shield --> Arduino

Jumpers --> Arduino Shield

Stepper Driver --> 

Connector Wires -- Stepper Motors

12V --> Arduino Board 

​

When it comes to the jumpers on the shield (under the drivers) they control the resolution of each stepper. You'll notice that there are four motor controls on the shield, but you only have three axes. The fourth one is what you would use if you have two motors for one axis. That gets jumped out on the right of the shield. In my case that is the Y-axis (Green jumpers in image). If you find that your motors are rotating in the wrong direction, just unplug one end of the connections, rotate 180° and plug back in.

​

Other than what I said above there isn't much that is super confusing as far as electronics goes. 

​

As promised the products I used are below in Ad form

IMG_2989.jpg
IMG_2990.jpg
C45C1E1C-43FE-426A-B2C0-1C88E498AD70.jpg

Software

Four lines of code that's it.. 

​

Download the Arduino grbl library from https://github.com/grbl/grbl and insert and add it to your Arduino libraries. 

​

Run (include <grbl.h>) in a sketch and you're almost all set. Open up the monitor with an 115200 baud rate and enter the following: 

$100 = 400
$101 = 400
$102 = 400

The Arduino is all ready to go.

 

The next step is to download CNCjs from (https://cnc.js.org/). Essentially you download the software plug-in your Arduino and run the G-code. Personally, I use the free version of Fusion 360. It's by far the best free modeling software out there. Later on in the post, I'll go through some tips and tricks on how to operate CNCjs

Capture.JPG
Capture2.JPG

Hardware

If you don't like ads there's a chance you won't like this section.. So I'll start it out with a picture of the final system. The hardware section was by far the most expensive and frustrating. I don't have a shop per say, but instead, friends and family that are generous enough to lend me their tools and workspace

​

Let's break it down simply. You have three axes, four motors and if you followed the tutorial link I showed above you have a bunch of 3D prints (All printed with TECBEARS PLA @ 193°C Nozzle Temp 60°C Bed Temp). You get to decide what you want the dimensions of what you want for the x and y-axis. You could customize the Z with your own design. Youll have to do this math

​

For each of the axis, you'll at least need a stainless steel rod(s) and a lead screw. Flexible couplings that attach to the stepper motors will be required. At one end of each axis, a roller bearing will be needed (A total of four).

​

For the y-axes you'll need 4 linear bearings, x-axes 4 linear bearings and the z will need four as well.

​

As far as framing and mounting hardware go you'll need 2020 aluminum extrusion, M3, M5 screws, and M5 sliding T nuts. 

​

Let me tell you that the stainless steel rods do not cut very easily. I ended up having to use an 18V grinder. If I could do it over I would have just made the footprint of my machine larger, but I had already cut the lead screws..

​

Like the original tutorial mentioned a Dremel is what the z-carriage is designed for. I did but some special end mills for milling as the selection from the Dremel kit was pretty useless for CNC'ing.

​

​

​

7A7D1A1A-C739-4909-ACB9-92CCB9018102.jpg

Trouble Shooting/ Tips and Tricks

Coming December 2020

​

- CNCjs Homing

- Custom bed

- Assembly hacks

- What not to do

- Stock

​

IMG_2970.jpg

If you liked the content and would like to see more in the future you drop some funding via Venmo me at millennial_engineer. I really appreciate it!

​

bottom of page