Introduction: Raspberry Pi CNC Machine

Picture of Raspberry Pi CNC Machine

My friend and I thought about building a CNC Machine for a while. But we didn't want it to be just an ordinary CNC Machine. We wanted to make a very unique machine that could have very unique attributes. We set out to make a CNC Machine that could do different types of Machining. For example, routing, laser engraving, 3D printing, drag knife, etc. We took about a few months to design the basics of the machine. For example, what kind of linear motion we would have for each axis, what kind of material we would use for it, what kind of style to make it, etc. We chose our build area to be 24" X 24" X 7". After those few months of finalizing everything, we took our first step into physically making the machine. Note: This is made for the average consumer, for home use, and for someone who doesn't have the money to invest in a $1000 CNC router or 3D printer.

Step 1: Materials/Construction

Picture of Materials/Construction

Our best bet for material, that would be most cost efficient, but most reliable, was Baltic Birch Plywood. Me and my teacher split (2) sheets of it. One sheet was 3/4 inch, and the other was 1/2 inch, this was plenty enough. We both payed $36 each, so it was around $72 for both sheets at Lenco Lumber. I also used cross dowels and 1/4 inch philips head bolts to bolt together the Gantry, and used 3/8 threaded rods you can get at The Home Depot. Plus a few miscellaneous parts that I can't think of. Everything came to about $250, this depends on how you make your machine. Also, I used angle aluminum and skate bearings for my rails and carriages, I got a hundred bearings on Ebay for $40, the more you buy the less cost per bearing is. You can find the angle aluminum at The Home Depot. I have recently added a parts list, cost and where to get everything.

Step 2: Step 1: Gantry

Picture of Step 1: Gantry

The first step to building the machine was the Gantry, this is my first time building anything close to a CNC Machine, I found it best to start with the Gantry. You can use the exploded view to help you put everything together.

Step 3: Step 2: the Y-axis/Base

Picture of Step 2: the Y-axis/Base

For the Base I used 2X4's and ripped a 1/4 inch off each side on the table saw to get them as flat as possible. Then I made a torsion board with them. I screwed a piece of MDF on it to make the base as level as possible. This will prevent inaccurate measurements during a machining process. You can use the animation to help you put everything together.

Step 4: Step 3: X-axis/Z-axis

Picture of Step 3: X-axis/Z-axis

The X and Z axis is something you want to take your time on, because this is very important on whether your machine works or doesn't.. Also, I made the lower rail on the gantry for adjusting your X-axis because it can change over time. The exploded view should help you along.

Step 5: Step 4: Hardware

Picture of Step 4: Hardware

What we decided to go with in terms of the control board was the TinyG v8. It is very flexible with what it can do, as in the type of software,a and firmware, but I will get into that further in the next couple steps. For the TinyG, we needed a 24 volt power supply to power the 3 NEMA 23 stepper motors for each axis. I got all three stepper motors and three couplings for around $90 on I got the TinyG on for $136 including tax and shipping.

Step 6: Step 5: Attaching Electronics and Cart

Picture of Step 5: Attaching Electronics and Cart

I attached each Motor to it's Axis, after making a couple mounts for the X-axis. All the Motors go to each stepper driver on the TinyG board. Also, make sure you check your stepper wire groups, because you can damage them if you do not have them on right. It is very helpful to organize your wiring, because it can be a pain in the but to figure out what goes where. You can motor map each motor to each Axis in the software, once you connected everything, so the board knows which Axis is which. This CNC Machine is very significant because we managed to run the machine using a credit card size computer, aka. the Raspberry Pi. You would connect the Raspberry Pi just like how you would connect it with any other computer. Also, in the last picture i mapped out how everything is connected to give you a better understanding of the electronics. Next we will talk about the software.

Step 7: Step 6: Software

Picture of Step 6: Software

The Software we chose that would be most suitable for the machine, was Chilipeppr. We chose this Software because it is very flexible with what you can do with the machine. It gives you a bunch of workspaces, for different boards you are using and other types of machining you can do. The workspace we chose was the tablet workspace, because the Raspberry pi is basically run by a phone processor. Since Chilipeppr is an api and it is a network based program, it has to be accessed though online. You also need to run a serial port for Chilipeppr so it can communicate to the TinyG via USB. Basically you download the serial port JSON server from the Chilipeppr website and you run it in terminal before you start up Chilipeppr on your machine, NOTE: The serial port JSON server has to be running the whole time while your machine is being used. Also, NOTE: That you cannot download the serial port JSON server through console, it will automatically unzip your file, therefore your serial port cannot be run, because you need the application. Once that has all gone through you can configure your TinyG board via CLI in Chilipeppr and you can go look at all of the configuring commands, and if you need help you can go to the TinyG wiki, and it will show you everything there has to do with the TinyG and Chilipeppr.

Step 8: Final Project So Far....

Picture of Final Project So Far....

This is still a work in progress, what we are working on now is trying to 3D print with the machine and add other tools to machine with. The last picture in this slide is the second test of the machine, the first test is the Chilipeppr logo as seen in the software slide. The machine works very well, and there will be more to come. We will keep you posted, as more progress continues. Thanks for taking the time to value our project!


Garvit ChouhanG (author)2017-10-21

will you join our futuristic robot WhatsApp community
join :

federico_juan (author)2017-09-16

great jobe i would like to build one
.is there a way to get instruccions to do it?

gawada (author)2016-11-03

hello. i want to congratulate you on your very inspiring and creative work. I just have one question. if i scale up the gantry and the rails and the bed to be able to cut full boards, size 8' by 4' will I need bigger steppers or I can get away by just increasing the size in the software?

JavadE1 (author)2016-10-30

Thank you, is there any alternative for TinyG v8?
it cant be reached in our area.
any controller that works like this with pi. thanks

woodie1949 (author)2016-06-29

Do you get your laptop fix?

MalcolmC11 (author)2016-06-08

Now this is a very interesting project for the PI. Well done young fellow.

may_colin145 (author)2016-06-05

Thank you all who have supported my project I appreciate the positive complements, all the work has payed off, I also encourage you to build your own CNC, I can send you the auto desk part files via email at Keep in mind that I am only a high school student so it may take a bit of time before I get back too you, again thank you all!!(:

dennish3d (author)2016-06-02

I'm very interested in building this CNC machine but what are the dimensions of the pieces shown to put this together?? Is there any kind of parts list available?

may_colin145 (author)dennish3d2016-06-03

email me at for part files and dimensions

may_colin145 (author)2016-05-16

Yeah I put a whole parts list and showed animations.

woodie1949 (author)2016-05-16

Any updates? More information on the build?

vgatesr (author)2016-05-13

I have started gathering pieces and parts. Your parts list shows "(55) cross nuts". "T nuts" and "Phillips" I get. So can you please tell me what "cross nuts" are and the sizes for same and sizes for "T nuts" and Phillips.

Great project can't wait for follow ups.

wesley.jackson.75 (author)2016-05-10

awesome build!

buck2217 (author)2016-05-09

Voted in all categories (can't say that I understood everything as I'm more a hand tools type of guy, but awesome project)

WeldonS1 (author)2016-05-08

Being an ex machine operator it seems to me that you could use a flybit the level the bed on the CNC machine that's basically what I did with 12 head shoda i used to run

Edgar (author)2016-05-08

Voted on all categories, and I'd vote for more. Great first Instructable, thanks!

kbbaktha (author)2016-05-02

very nice. Thanks for sharing. Look forward for more details of build, particularly dimensional cut list and details of NUTS used for linear motion on the regular threaded rods on all axis.

logo.sprague (author)2016-04-27

may_colin145 do you have a full parts list for the project?

Not on me but i can make one, it will take some time, do you want the list for the cart too?

It would be really great if you could make a full list of all costs. Show the cost of each item and the total cost. If you go into more detail, I think this instructable could possibly win a contest.

Thank you for the advice, i will be putting up a second instructable on everything that i did, including the parts, and a sheet, but i also do not have a lot of time for that, but hopefully it will get done soon.

woodie1949 (author)2016-04-27

More details on how you builded the Machine would be nice

may_colin145 (author)2016-04-27

Also, i used regular threaded rod you can find at The Home Depot, and regular nuts. I 3D printed my own anti-backlash nuts, i will post them on one of the project slides.

may_colin145 (author)2016-04-27

For any of you who want to ask questions, you can contact me on skype, my username is cmay3673

quangh8 (author)2016-04-27

awsome DIY CNC machine...i will do it

pls give me the skype or FB @may_colin145

DBat (author)2016-04-26

Lead screws....I also am interested in knowing what you used for lead screws?

Are they v-thread screw thread or acme? Also could you incorporate a rapid traverse mode between cuts?

peanutthegreat (author)2016-04-26

Great project, I was wondering if you used regular threaded rod for your lead screws and what you used for lead screw nuts?

Muhammad Arsalan Abbas (author)2016-04-26

Can you give me your skype id or any other source of contact i want to ask some questions to you.

premenko21 (author)2016-04-24

Believe me this is cool but what does this have to do with 3d printing? I dont think this should be in the 3d contest

may_colin145 (author)premenko212016-04-24

This Machine will soon be able to 3D print, all i need is a 3D printing extruder, but like i said it is still a work in progress, and i understand what you mean.

DaveC138 (author)may_colin1452016-04-26

Look for extruder parts at You can actually get everything there... Nice job man..

premenko21 (author)may_colin1452016-04-24

Oh ok nice. Great instructable!

may_colin145 (author)premenko212016-04-25


DylanD581 (author)2016-04-26

Awesome DIY CNC! What are the minimum and maximum dimensions for a material?

may_colin145 (author)DylanD5812016-04-26

24" by 24" sorry forgot about that i will throw that in.

mpawloski (author)2016-04-26

Great job!

RobertZ7 (author)2016-04-26

Cool stuff!

elleadnih (author)2016-04-25

love this :D just wondering, how well do you think it could work with metals? do you think it stands a chance or just wood?

may_colin145 (author)elleadnih2016-04-26

just wanted to say thanks, and that you can probably do thin aluminum, but you have to get your feeds and speeds right.

TheThinker (author)2016-04-25

Well done. Thanks for sharing!

may_colin145 (author)TheThinker2016-04-25


DIY Hacks and How Tos (author)2016-04-24

Awesome DIY CNC


About This Instructable




More by may_colin145:Raspberry Pi CNC Machine
Add instructable to: