In this project I will show you how to easily build your own low-cost Arduino Mini CNC Plotter!

For X and Y axis we will use stepper motors and rails from two dvd/cd roms! Printing area will be max 4x4cm.

Because it works with serial communication you can also use a Bluetooth module (like HC-06) to print your stuff wirelessly through your computer Bluetooth connection!

I have used the code from this site, so I need to thank the Makerblog.at for sharing this to us.

You can visit my site www.ardumotive.com for more cool arduino projects!

Watch presentation video below and proceed to next step!

Don't be afraid to build it, is very easy!!! This tutorial is also made for beginners!

Let's get started!


Follow us on FB: https://www.facebook.com/ardumotive

Follow us on Twitter: https://twitter.com/ardumotive

Q & A Support: http://www.ardumotive.com/cnc-plotter.html

Step 1: What You Will Need

For this project you will need:

Part list for beginners:

  • Arduino uno
  • Breadboard
  • 2x L293D ICs Motor driver
  • Mini Servo Motor
  • 2x DVD/CD Drives

Part list for 'pro' :

  • ATmega328p (with Arduino Bootloader)*
  • 28 pin DIP IC Socket
  • 16MHz Crystal Oscillator
  • 2x 22pF and 1x 100nF capacitors
  • 10K resistor
  • USB to Serial adapter**
  • 2x L293D ICs
  • Mini Servo Motor
  • 2x DVD/CD Drives
  • Prototyping PCB Circuit Board Stripboard

  • 4x 2pins Screw Terminal Connector (or 2x 4 pins Screw Terminal Connector)***

*You will need also an Arduino UNO board to program the ATmega328 micro possessor

**USB to Serial adapter will allow the circuit to communicate with the computer through the USB cable, just like Arduino uno does.

***Why to use screw terminal connectors? Because you don't want to solder and desolder cables from stepper motors until you find the correct working combination.

Tools (only for 'pro' part list):

  • Screwdriver
  • Soldering iron
  • Solder
  • Cutting tool (e.g. Dremel) (Optional for cutting plastic parts)
  • Glue
<p>Hi..Ardumotive_com.. Here, a photo of my new cnc!!! .. making own program is too simple.. thanks a lot for this tutorial and your valuable replies..!</p><p>I want to know whether the inkscape can be used to draw solid diagrams.. (like in inkjet or matrix printer..) </p><p>Thanks</p>
Hi Amar CA, don't worry, making your own program it too simple. Just follow the tutorial and the image given by Ardumotive_com. These images are self explanatory...<br>
Hey bro help me, my motors aren't running after uploading the code please help me, I need to submit my project
<p>hello please can you show mw how did u connected the 2 dvds together (the michanical part)and how the pin id graped!!</p>
<p>No, please follow this guide. Or find another one.</p>
<p>Very good! I thins that you can do it, but I can't help you how...</p><p>Thank you for the photo!</p>
<p>My plotter :D </p>
Hey my motors aren't running after uploading the code please help me
<p>Well done Nixon!!! </p>
<p>this is my plotter. for Z axis I've used a rail of an other cd drive, modified with a spring. for the moment I use a pencil because it is the smaller marker I've got but I'll buy a pen with the tip of 0.5 mm. </p><p>If I change che numers on gctrl program I think i could modified only the write speed... I believe it's somethingh connected whit Inkscape... </p><p>Michele</p>
<p>I hope your programming is better than your spelling and grammar, but 5 stars for effort! All these things take a lot of hard work, but &quot;somethigh&quot;, &quot;whit&quot;, &quot;che&quot;, &quot;numers&quot; - must try harder, as they used to say.</p>
<p>Dude, I wonder how many languages do you speak to talk like that? Take into account that english is not the tongue language of many people (me included). Value the effort. Value the fact taht person (albeit with some difficulties) can communicate succesfully with many...</p>
<p>great! can you upload a video of this machine in operation?</p>
<p>I do not know how to load it, however, it is like ardumotive's plotter, the same working...</p>
Nice photos!! Nice Michele!!!<br>Phil_S this is not very polite.. People from all over the world are using instructables.com, that doent means that they have a degree in English...
<p>This is my robot artist :)</p><p><a href="https://www.youtube.com/watch?v=HtpzWJWplvw" rel="nofollow">https://www.youtube.com/watch?v=HtpzWJWplvw</a></p>
<p>nice!! Well done! :)</p>
It looks greak but can u show a assemply tutorial. Diffucult to assemble it.
<p>Hi;</p><p>is gctrl.pde the file to use from within gctrl.exe?</p><p>Also is there a version of gctrl for sending gcode to the arduino for a Mac or Raspberry Pi?</p><p>Thanks </p>
p[lzzzzz help me guysss<br>i am not getting exact output as yours,its writing letters terribly....can any one plz give some best gcodes for testing,THANKS
<p>I am having trouble saving a file , I hope you can help me .</p><div><p>this is the problem :<br>Traceback ( most recent call last) :</p><p> File &quot; unicorn.py &quot; , line 23 , in &lt; module&gt;</p><p> unicorn.context import from GCodeContext</p><p> The file &quot; C : \ Program Files ( x86 ) \ Inkscape \ share \ extensions \ unicorn.py &quot; , line 23 , in &lt; module&gt;</p><p> unicorn.context import from GCodeContext</p><p>ImportError : No module named context</p></div>
<p>I don't know, if you still have this problem. I had the same yesterday. You have to check the permissions of your unicorn directory. If you copy it with root you have the wrong ones.</p>
<p>In file Document properties changes the unit as <strong>in</strong></p>
Same here.<br>Got any solution?
<p>i have the same problem can you help</p>
<p>L298n bağlantılarını yaptım arduino ya takınca az bişey tık ediyor. ama &ccedil;izgiyi başlatamıyom Loading file... (1).gcode</p><p>(Scribbled version of C:\temp\ink_ext_XXXXXX.svgH0ZA4X @ 3500.00) <br>diyor napmalıyım</p>
<p>L298N s&uuml;r&uuml;c&uuml; kartı olmadan sadece s&uuml;r&uuml;c&uuml;yle yapabilir mi yim yardım edin şema g&ouml;sterin nasıl bağlanacak diğer her şey tamam</p>
<p>L298N s&uuml;r&uuml;c&uuml;s&uuml;n&uuml; kullanmak istiyorum ama kartım yok board bağlayarak yapacağım olur mu?</p>
<p>Can someone please tell me if I can use the <a href="https://www.instructables.com/id/Arduino-Modules-L298N-Dual-H-Bridge-Motor-Controll/" rel="nofollow">L298N Motor Driver</a> instead of the L293D ICs Motor driver? Would I need to change a lot of the code?</p>
<p>No, anything...</p>
<p>Only hardware - connections changes. </p>
Would it be possible to turn this into a laser cutter/3d printer?
<p>Nop :P</p>
<p>Thanks a lot for this instructable. I've a problem with the Y motor movement (just this one) when i change direction and before the next move, it jumps around a millimeter. So if i draw 5 parallel lines and return to the origin Y, there is a shift each time. Do you know where the problem could come from ? Thank you for your help.</p>
<p>Oups! Find the solution. I've modified the arduino code and introduce a command with &quot;Y&quot; letter to applying a small move on the Y axis. So the program did move 2 times this axis each time he received Y with Gcode. It's work great now.</p>
<p>Good news! Well done!</p>
Thank you for this great tutorial. <br>yes I made it :) (y) <br>but I am having smaller scale than original. ( such that any image of 40 mm is being printed on the scale of 25mm max) <br><br>sorry for english.
<p>Great! Well done!!</p>
<p>I have a similar problem . Obtained strange drawings with dimensions of 25 * 25 mm. Do you know how to fix it? Thank you for your suggestions</p>
<p>Did you solved the issue?</p><p>I swaped axes to fix thath issue. And with inkscape and customized drawings on my first attempt I had to redefine the drawing area dimensions, making it smaller and starting from negatives points as origin and doing the are smaller and starting drawing on the center position (manually set)</p><p>Wish it helps :)</p>
<p>Same here also .</p>
<p>hello , I wonder if you have the circuit with the components of <u>Part list for 'pro'</u></p><p><u>xoxo</u></p>
<p>I think he Doesn't have... We all are waiting for Circuit Diagram. Even I already purchased the component but maybe he will not give the diagram. </p>
<p>hi, my cnc plotter is working but unfortunately something is wrong with it. there is not any similarity between shape in inkscape and what is drawn with plotter. I do nt know how can I figure out this problem. can you help me?</p>
<p>hi, my cnc plotter is working but unfortunately something is wrong with it. there is not any similarity between shape in inkscape and what is drawn with plotter. I do nt know how can I figure out this problem. can you help me?</p>
Nice instructable, the bluetooth connection is a cool feature!! Not long ago I made this small plotter out of scrap parts, but I control it with GRBL and a CNC-Shield! https://youtu.be/jlHp74tTQ0M<br>I will post a video to explain more details!
hi,i need help with altering this program to make it 'easydriver' compatible.

About This Instructable




More by Ardumotive_com:DIY Arduino LED Matrix Display - 80x8 Px Arduino 3D Printed Can Robot (one More Object Avoiding Robot)  ​ Arduino Robotic Arm - 3D Printed - With Grab  
Add instructable to: