4xiDraw Drawing machine

by misan, published

4xiDraw Drawing machine by misan Mar 26, 2016
20 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Design Tools



Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

71726Views 12940Downloads Found in Gadgets


My wife saw the new AxiDraw and wanted one.
Unfortunately they will start shipping in June. So I had to do it myself during Easter holidays :-)

I am not yet done but progress is being made and as it seems to piece together nicely I think I can share it. AxiDraw is advertised as Open Source so I hope I am not stepping on anybodies toes here (if so let me know).

Please note that I have not yet mine up and running so I cannot make any claim about how well it works. We just saw the online video and were hooked.

My first mock-up is based on laser cut parts but my plan is to do a fully 3D printed version.

STEP source and STL files are provided. Please note some parts may need to be rotated to be printed without supports.
Or you can use the Onshape public document to do the same: https://cad.onshape.com/documents/236f46681d1cbe31f6d52db0/w/5948c0b4f86507971afed68c

And now it starts to move ... https://www.youtube.com/watch?v=_V3bHmOuxTI&feature=em-upload_owner with then new ends that hold the motors down instead of up.

And to draw: https://www.youtube.com/watch?v=xPq4ciNnNnw


New and improved pen holder and pen carriage and belt tensioner.

I have added a taller part for those with 48mm tall stepper motors too.

Building details and links to code can be found here http://www.instructables.com/id/4xiDraw/

You can have a 3D view of the complete system here http://a360.co/1N6b6tD

Zerginator user has created a FreeCAD model assembly and is kindly sharing it too: https://drive.google.com/file/d/0B0IYEtpw-9WNYWxpWlduVDdLMUk/view?usp=sharing


Bill of materials

2 nema 17 steppers ()
4 8mm smooth rods (two 400mm-long and two 320mm-long)
2 GT2 pulleys
10 F623ZZ bearings
1 micro servo SG90 (plus a 250mm cable extender)
1 Arduino UNO
1 CNCshield
2 Pololu stepsticks
1 GT2 belt ( 1.4 meters long )
2 M10 threaded rods (400mm-long each)
8 M10 nuts
8 30mm M3 screws with nuts
8 6mm M3 screws
4 16mm M3 screws with nuts
4 M3 washers
2 4mm OD, 100mm-long carbon fiber tubes
2 15mm M3 screws
1 12V 2A power supply
1 USB cable
1 felt tip pen (or many for more fun)
) Stepper motors should be 40mm or shorter, unless you chose the taller parts that I later created for some users willing to use 48mm tall steppers (like many use for 3D printers).

More from Gadgets

view more

File Name



All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Hi everyone, please help me , I have nema 17 stepper motor (17hs4401) but When I use these ones the drivers(4988) are very hot. May be I'm doing incorrect and can I use this by another way or, must I buy other motors? pls advice?

If your motors get too hot is because they get too much current. The potentiometers on the stepsticks allow you to adjust motor current. You want enough so they move with no problem but no more so they do not heat up too much.

Any advice for choosing motors? Like suggested torque etc.

If they work with a 3D printer they would work here. Avoid 12V motors though. 200 steps/rev nema 17, 40mm long or so.

I made one actually and at first it worked properly. but then suddenly in between drawing x and y steppers stopped.
Thereafter when i connect 12v supply to the shield my laptop shuts down (due to overvoltage i guess). What possibly may be a reason for that and a solution please??
Will setting a reference voltage for A4988 make any difference on this scenario?
please see to it!!!thanks for your concern

Some people broke the USB to serial adapter chip on their Arduinos. This use to happen when then powered the 12V directly to the CNCshield and not using the recommended soldered wire to Vin, while 12V was applied to Arduino's power input jack.

Setting the voltage reference only helps if motors did not move right in the first place (which apparently they did).

What if my heat sink touched any two pins on my a4988? is there a chance for this to happen?
In the case if we remove heat sink back will the issue be solved?

A4988 die easily, but it is unusual for two of them to die at once unless there is an overvoltage on the power supply (that for these I think is above 35V).

thankyou for your reply..But how possibly could i solve this issue.?
thanks for your concern!! i use a new arduino board which i dont think is not damaged..
what makes but computer turned off??

hi thanks for sharing..

I have problem with USB Sender when i connect the uno on Universal gcode sender i have continously this message :

Grbl 1.1f ['$' for help]

its same with 0,9 version
do you have any solution on this ?

Where is the gcode for the cat? Thanks Misan for a fun project.

I do not know what cat you mean? If it is this one https://www.thingiverse.com/make:233471 you may ask that user.

4xiDraw Drawing machine
by MrFancy
Comments deleted.

Can you tell me the dimensions of 3d parts?
I also want to create one but have to make the 3d parts used over here.
It becomes very costly for me to import them from other country.
Thank you in advance

Please note there is a link above to the original CAD of all the parts. There you can obtain any measure you need: just click on the two points/lines you want to measure they will turn yellow and a measurement will be shown in the bottom right of the window.

Pleas could you explain to me how in the hell does the z os works, or if you could take a picture?
Thank you in advance!

Servo Lever just pushes up the carriage, gravity pushes it down. Have a look at the assembly CAD file for the picture of your choice.

Thank you for the fast reply! I get it now, its very logical :)
I sow a video that shows carrige upside down so i was confused.

Hello. I ll make this project but ı dont have software. Anyone can help me ? I ll use arduino uno. Thanks

Hello! I don't know how to connect the servo with the pen carriage. I watched this video https://www.youtube.com/watch?v=GthY-ipk7Ys but it has a different carriage + a sprocket which is attached to the servo.

Thanks for the help

Same connection for servo no matter the way they use it. Have a look at 4xidraw instructable linked somewhere below.

Hi sir. Can you post you configuration of Grbl 0.9? I use nema 17 and drv4988, 20 tooth pulley and gt2 belt pulley. Regards

Hi. I am finishing the projec, i had a lot of trouble...the last, is i notice that the y axis pic is shifted forward during the printing. Can you help me? This machine is driving me to crazy...

Keep calm and raise the current of stepper motor drivers a bit so they will have more strength. https://www.youtube.com/watch?v=5CmjB4WF5XA

I did it, a lot of time. I reach the voltage 0.6 that give enought power to stepper motor. It didn't solve the problem. I have yet y axis forward shifted. I don't know why. I changhed the step per mm calibration, but nothing. The contours of the drawing are moved forward along y axis...

That is the link of my draw. If you see Y start is 0, but when i stop printing and give return to 0 in universal gcode sender, Y is not to 0 but 25mm forward. You can see the eye that is shifted in Y forward. I have yet modified X step/mm and Y step/mm but nothing...
What i have to do?

An eventual shift on the pen location is usually due to missed steps. Reducing acceleration and max feed rates can help and so can raising motor's current. If repetitive you can see where the problem happens and try to avoid that pattern. Other than that, it may happen due to the open-loop nature of stepper motor control. You just one to operate it in a way that trouble does not strike you often.

Thanks a lot. So what parameter you suggest to changes?

If your motors can handle it, raise till 0.8v your Vref.

If that is not enough, then reduce acceleration to half of your current value.

Repeat the last step till the problem is gone.

Thanks sir. I will try.
Otherwise theese are my parameter
Grbl 0.9i ['$' for help]

$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=80.000 (x, step/mm)
$101=80.000 (y, step/mm)
$102=80.000 (z, step/mm)
$110=1500.000 (x max rate, mm/min)
$111=1500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=1500.000 (x accel, mm/sec^2)
$121=1500.000 (y accel, mm/sec^2)
$122=5.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=100.000 (z max travel, mm)

try $120=300 and $121=300

Lowering that value the problem is more accentuated..HELP!!!

Anyone know how to invert z axis? Misan Gcode works but other gcodes lift the carriage instead of going down and vice versa.

Swap the up and down commands then.

How to do that?

You can do that in the plugin code (or plugin options if exposed through the GUI) (not sure what plugin you might be using) or you can do it on the gcode file itself using find and replace commands on a text editor.

That makes sense. I thought that it was controlled by the 4xidraw, not the Gcode. Comparing your Gcode and this other one I found, I assume what I need to do is change all the references of M3 S030(Down?) and M5(UP?) to M3 S100(UP?) and M3 S0(Down?). I put question marks because I'm not super sure if that's what the command does. I think it's right though.

Hold on, now that I think of it, you may just solve it by rotating the servo lever too. The idea is that one of the angles the lever is pushing the carriage up and at the other angle it allows the carriage to go down. There is not a good or bad value, just the ones that are right for your machine, as the servo lever can be fitted into many different positions and that impacts the values for UP and DOWN.

Hi. There is a firmware to use arduino mega and ramps1.4? If i use the standard grbl servo master upload, the universal gcode sender does not recognize it, and give a error message ''GRBL HAS NOT FINISHED BOOTING''
Thanks for reply

For RAMPS you could use Marlin firmwre (though you'd need to adapt it for the servo control).

Thanks for reply. Regards.

I'm almost done but I'm having some issues. My Z axis doesn't seem to move properly, when I plug it in the servo turns all the way one direction. Also my stepper motors seem to have an issue going diagonally, not sure why?

Hi. I am so happy with this Project. Thanks a lot for All the help. I have another question, i want to acquire a draw from scanner, i elaborate it with inkscape to draw with drawing machine, But when i print, only the path is printer, for example, if i acquire a Dot, and try to print, i am able to print only a circle...Can you help me? Any tips? Regards,

you want to fill with hatching lines any area you want to become the same color as your pen color. There are several plugins to do that. I use the eggBot hatch fill from Evil Math Scientist.

Thanks for reply. I use eggBot to fill region. For example if i draw a star, and i want to fill it, i use the eggbot to fill, but if i acquire an image, for example a sign and i want to draw it as a single line, the inkscape trasform it as a path, and the line become empty inside and the gcode generated is a contour. Excuse me for my bad english...

Hi! Thanks for this great project, I am very excited to get started building this!

Is there a short list of which STL files to print? If you could tell me, I can create a single plate file with all necessary parts

please have a look at the CAD model and note there are two possible heights for motor holders depending on how tall your motors are.

Hi there,
I have issues with motors..
I configured steps/mm in grbl :

But one motor turns much faster than the other.
I checked the tension on the driver, both are at 0.9V.
I dont get what's wrong..

Double check under both motor drivers jumpers are equally populated on the cncshield.

I'll recheck them.
Is there a way to test them ? Because as I didn't have jumpers, I solders pins together.. ^^

Make sure pins 2,3 & 4 of stepper drivers are 5V.

Thanks. Indeed, I dont have 5V on each pin on the fastest one.
I'll re-solder it whenever I have some time :)

Thanks a lot. I hope this gonna be the last "issue" :D

Thanks. No it moves (almost) correctly.

I try to send a file (the example in https://www.thingiverse.com/thing:2374238/#files). But the machine draws in mirror.
Any tips to fix it ??

Thanks a lot !!

EDIT : or why you're example are mirrorred ? :D

2020 DRAWbot

You can use $3 command to invert any of your axis to obtain the desired direction. $3=1 would invert X, $3=2 would invert Y and $3=3 would invert both. Play with it till you get the desired result.

Thanks. But $3 invert axis. And for me, it's correct. I mean when I ask to move X+10, it goes to the right direction.

If I load your hello.gcode example in Universal G-Code sender, the writing is mirrored. Anyway, it's not a big deal to mirror the drawing before transforming it to gcode.

I still need to wait for a new driver (the one for the Z axis is dead) because i made the version with a stepper motor for the pen :)

Thanks again for your design and you help !

Cartesian space and SVG space use conflicting coordinate systems :-(

Hi again.
I finally bought a servo motor to follow exactly your instructables.

But, M05 and M03 S90 don't impact the servo motor.
I do have 5V in the servo wires. I plugged the brown cable on the Z+ end stop pin of the CNC shield (white one).. but nothing moves.

Any idea ?

Try Arduino servo sweep example on pin 11.

Thanks. It was on pin 9 btw.. but it doesn't work. The motor makes some noise but don't sweep =(

Worst after it, I put the cnc shield back but now, as soon as I power the cnc shield, the arduino shuts down.. I think a driver died =(

I didn't think I would face so much trouble with this one.. but hey, that's how we learn, right ^^

If your servo does not work with the Servo Sweep example code I think you need an external power supply connected to the Arduino. 8-12V will do it. If still servo does not work then I would think servo is defective.

Sorry to hear about your smoke event. It is important to wire it as I suggest so 12V power is applied to Arduino power jack and not directly to the CNCShield as this way seems to be safer.

Hi. Mechanical part is end. Now i need help on software.
Can you help me?
What kind of software you use to test the drawing machine?

Ok. I find SourceRabbit to test the gcode.
The xy motion is ok but i have a lot of trouble with servo sg90.
Did not work and when i connect it, the pc disconnect arduino uno. Also with 12V on cnc shield.
There is a sound like tik tik caming from servo.

1) Here you have some sample gcode files https://www.youmagine.com/designs/4xidraw#documents
2) Servo needs a special version of GRBL and it won't work with a regular release. Use the firmware linked in the instructable.
3) Be careful with the suggested wiring as you can burn your Arduino if connecting it differently than how I do.
4) Servo may make noise if signal received is out of range and/or when it cannot reach the commanded angle.

I tried with the linked version but nothing. When i connect the servo on arduino, the led on it flash and the pc does not tecognize arduino. When i disconnec servo, the pc recognize arduino and the drawing machine y and x work withouth problem...

That suggests you are connecting the servo the wrong way. Please make sure +5v, GND and servo signal are going to the appropriated pins on your servo. If Arduino stops working it is because you are causing a short in the +5V supply when connecting the servo.

Servo has 3 pins. Brown Yellow and red. I Connect Red to 5V. Brown to GND and Yellow to Z+ on cnc shield. Is it wrong?

It seems about right if yellow is orange https://static.rcgroups.net/forums/attachments/3/0/1/8/a4228312-146-user38_pic55606_1294883044.gif

This brings another question: Are you powering the Arduino UNO with a power brick connected to the power jack? If not, you should. Servo may use more power than USB can provide and Arduino will cease to communicate with your PC too.

I use a cable to Connect arduino to pc and another power supply 12V 2A connected to cnc shield not power jack on arduino

Then you are NOT using the connection I suggest and some people reported fried Arduino because of that, besides, the servo will not work as the only energy on the Arduino is coming from the USB which is usually not enough (it may work sometimes). If you apply the power to the Arduino jack AND do the suggested bridge from Vin to +V on the cncshield the power brick can deliver energy not only to the steppers but to the servo too.

Hi. I have to solve another issue...i haven't 12V from VIN on arduino in correspondence from your bridge to power up cnc shield with that...

The 12V go through the Arduino power input jack to the Vin pin and on to the cncshield. Some boards can contain defects the QA, existing in many cases, did not uncover.

I haven't 12V to the Vin trought Arduino power input jack. I tried two boards...

Without the USB connected, is the Arduino board power LED on when you plug in the power jack?

Yes. I tried the third board. And Now i have 12V coming out vin so i can bridge 12V from arduino to cnc. Now remain servo problem. I tried it on arduino withouth cnc shield with a standard example of ide on pin 9 and it works. What kind of software you use to test motors and servo? Thanks a lot for help

The linked firmware is what I use. With external power now the Arduino should no longer stop responding with the servo attached.

I did it!!! Thanks a lot. Now the machine is writing but in mirrored mode... How can i solve it? Have i flip the connector? Is the x axis that go in reverse mode.
Then how can i speed up the writing of machine?
Thanks a lot for support.

Mmmmm i Will try. I think that you are right. I Will try with the bridge and report to you. Many thanks for your help and work. Regards.

Hi. I am trying to build your drawing machine but i didn't understand the servo mecanism. How it work? Can you explain how the pen get up and down to draw? From pics i didn't understand. Thanks.

Servo lever will push up the pen carriage to stop drawing. When rotating to an horizontal position gravity will pull the carriage down.

So the hole in pen carriage must be big enought to slide up and down

Yes. You may need tu use a round file or dril bit to allow this free downwsrs motion.

Hi, misan. Can you tell me the thickness of XY carriage (central part which have 8 bearings in it) if I use lasercut model? I think all other parts are of 8mm thickness.

I cut it out of 2.5mm MDF and it worked for me. Parts that are thicker I used 3 layers of 2.5mm so, yes other parts can be 8mm thick. I do not see a problem if you chose thicker plates for the bearings holders either.

Thanks a lot.

Hi nice project, i want to buy a 12V power supply with 6A you think is enough for the machine

Anything at or over 2A is going to be ok.

Hi there. I just finish the build but I have issues with firmware configuration (I guess).
When I launch a command to move X for 5mm, it moves a lot more (like 10cm...) Any idea what's wrong ?

You need to set the proper scale for your build by setting $100 and $101 values. Have a look at https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

Thanks a lot. I'll try this as soon as I'm at home. Hope to draw today :D

Hi! Nice project!! I have Question. Can I use de Axidraw extension for inkscape tu draw with your clone? Thanks!
Edito: Veo en tu perfil que estas en España. En español me cuesta menos! Me encanta tu maquina. Hoy he encargado a Aliexpress las piezas que necesito. Despues de poner en marcha el Eggbot me he animado. He visto una variante que usa un paso a paso en vez de miniservo para el Z, y estoy por montar ese. Mi pregunta es en relación a la extensión de Axidraw para inkscape. ¿Se puede usar? Con el Eggbot se puede usar la extensión Eggbot cambiando algún fichero .py y poco más. Aqui es igual? Gracias por anticipado!

No, but there is a port that you might want to try (I have not tested it). https://github.com/bullestock/4xidraw

Oh thanks for the response. I´ll Try it. What software do you use to draw with your 4xiDraw?
Edit: I have seen your instructable! Thanks!!!

I got the 4xidraw up and running - great machine so far - but I'm having problems with the delay needed to move the pen up and down. The export-plugins assume that you use a laser, which is powered on and switched off at once. The pen needs half a second to get off the paper, but the 4xidraw continues to move with the pen still down.
Is there a special exporter / trick which I don't know?

That is why I add a G4 P0.1 command to the pen down command. It adds a delay you can adjust to your needs.

interesting idea. no sure about the output quality though.

Hi Misan, i'm having troubles setting up limit switches on the machine, wanted to know how i could go about it. I'm using a CNC V3 shield and wanted to set min. and max. limit switches for each axis. can you also tell me how to set a soft limit. thanks much.

Not using any of them. I manually set the machine at 0,0 on power up.

if i were to set it up how could i possibly do it? i have tried attaching the switches to the cnc shield and also to the arduino, they are just not working, plus the machine seems to hit the ends every time i try to send a drawing. basically im not able to set the frame for the machine to draw in

thank much for the quick response! shall try my luck out and get back to you.

Is this strong enough to support a hot end? I would like to mount this to a Z axis and turn it into a 3d printer hat has a much smaller cheaper profile than all of the cube designs.

Not its intended use. I do not think it will work (though it might with a bowden tube) ...

This is my first project. I hope it is the first of many others, but I need to clarify a doubt. Can you help me?
How many teeth should the pulley have?

20 teeth

please be aware of the linked instructable with more building info.

Sorry! He had not found it.
It's because I'm still a bit insecure and a bit scared about buying the parts.
Mainly for stepper motor and parts printed on 3D printer.
Can you tell me if this store is trustworthy http://store.thingibox.com?
Thank you!

Thank you!

I also bought the kit from them. But the bearings do not have the flange. I had to replace them. The threaded bars are M8 and not M10. I have not finished yet, but I think I can finish it in a few days.

I do not know if bearings without flanges will work ok or not. M8 instead of M10 will raise the center of grativity, not sure if that might make it unstable, I guess it might be ok. You will tell us :-D

If they sell this assembled kit can be fun.
But I used flange bearings I had at home, and I bought 1m of M10 bar.
I think it's the best solution!

Thanks Misan for your wonderful job!

Thanks MiguelBi

Yes, they are trustworthy - got my parts quickly.

Good to hear.

I have had no experience nor I am anyhow related with that shop. But I have heard no complaint either.

Hi, misan. I have 3d printed all parts and assembled. Steppers are working fine. Calibration done. Only one problem is there. That is the servo motor. I have read all comments here as well as on instructables. But, problem is not solved. Please help me in this problem.

If I control it from command window of Universal GCode Sender, it works only once, then no response. If power is given during writing on paper, it does nothing.

You need to power it in a way the Arduino gets power from the motors supply. Servo may need a bit more power than USB may deliver in some cases, so that might froze the Arduino (and so stop further communication). On the other hand, please be aware Arduino may have trouble with supply voltages over 12V. Power should be on before even connecting with UGCS.

I m glad you replied....I have checked the way you told me above, But i still have the same problem. Could you plz tell me whats the matter with this machine. i have stuck in this problem for all this day ....

Have you checked the instructable?

Yes, I have checked. I have two micro servo SG90. Both are giving me same response. If I connect it simply to arduino, and upload a simple program, it runs. But, with CNC shield, it do nothing after first command from command window, and do nothing during writing on paper.

I have contacted Lyes who had the same problem but at the end, his servo was working fine. I hope, he will reply as soon as he get notified.

A power supply problem is what it looks like. I understand you have triple checked the servo connection and the power supply connection. As the servo apparently works ok with your test software my diagnose is still the same. You can check it without the CNCShield to remove components and see what happens. Arduino becoming unresponsive after first motion of servo indicates this motion causes some system problem. Why this does not happen with your test problem might well be explained if your test program does slow and smooth motion as ours is usually not the case. Fast motion requires more energy.

Problem solved. Now is working fine. I'm using MI Inkscape extension with Inkscape 0.45 version. This extension does not work with newer versions of Inkscape.

when one motor rotating X & Y both are moving. by the commend G91 X 1 Y 1 go +X way and G91 X-1 Y1 Go -X way. what can I do for that? any suggestion ?

you need to have COREXY enabled. Is it?

Hi friend.
how to connect servo on cnc shield v3. help me

please have a look at the picture on the instructable: http://www.instructables.com/id/4xiDraw/

Hello Misan...
I started the stepping motors. But I could not start the servo motor. Servo motor works with 5 volts. Is the location of the D11 end right on the cnc shield? Https: //cdn.instructables.com/ORIG/FMS/TBTK/INU1G315/FMSTBTKINU1G315.png
Is the figure above correct?

Yes, the figure is correct. M3 S0 and M3 S100 commands should position the servo at different angles (you can connect using the Arduino Serial Monitor for example).

Hi Misan,
It is a pretty fantastic project, good job!

Someone has already try to attach a plotter knife holder for cut vinyl sheets ?


Not that I am aware of. Not sure it will work.

Ok thanks, probably I will make one, with a knife holder...


Hi i don't understand your belt layout can you please help me?

belt path was pictured below in the comments http://imgur.com/2PF3Kza

Hi, misan and everyone. Can you tell me voltage and current rating of nema17 stepper motors, you are using for the project? Also tell me that the step described in http://3dpburner.blogspot.com.es/p/bluetooth-connection.html is optional or it is necessary. If I supply to Arduino and CNC shield separately, then this step is needed? or not?
Thanks in advance.

Thanks for your response. Is it possible to use Mega 2560 + ramps instead of uno/CNC shield (since I have a spare ramps from another 3d printer). I guess I won't be able to use GRBL, but might use marlin and connect the laser module to the extruder connection.

Yes, you can even use Marlin if you hack your way for the servo.

I love your design! If I want to attach a laser module for etching, what type of modification do I need to make? Will it work?

First make sure the laser weight would not tilt the contraption. Next you need to think about the laser power control. GRBL v1.1 does include PWM output for laser support. Finally you'll need to change the plugin to spit out the proper commands for laser power control (that ideally should be mapped to different line colors).

Hello, first, thank you. second, which slicer are you using? I've tried both Cura and Slic3r but my prints got screwed up at about 4% in.

I use Slic3r (I printed these parts sliced with 1.2.9 version).

thank you. i have the same version too. it started out fine up until about 4% and the printer goes wild -printing all over. weird thing is i print other stuffs just fine.

You can use the 3D preview of slic3r to see whether there is something weird or not in the gcode created.

thank you. it's printing properly now. I used Slic3r on my Windows instead of Macbook and did a repair of the stl files. So i'm not sure which fixes the problem. But for testing purposes i'll repair the stl on my mac later and will keep you posted. now I just cant wait. thank you.

Great, it seems you are now on your way to get the parts.

Comments deleted.

hi i just finish the machine, so far so good, just last question is there a instrucion how to wire and setup bluetooth module thanks

Not really. If you set to 115200bps serial baudrate (matching Arduino's) they connect GND and +5v to power the module and cross TXD and RXD pins from module to Arduino.

Not really. If you set to 115200bps serial baudrate (matching Arduino's) they connect GND and +5v to power the module and cross TXD and RXD pins from module to Arduino.

what app are you using to control via bluetooth? thanks

Same as with USB-serial, Universal Gcode Sender.

Not really. If you set to 115200bps serial baudrate (matching Arduino's) they connect GND and +5v to power the module and cross TXD and RXD pins from module to Arduino.

just a question, a sg90 can rotate 360* , how do you stop in right position when turn it on

I am afraid you have got a continuous rotation servo. What this project calls for is a regular RC servo, that can only do 180degrees of travel whose position is determined by the width of the servo pulse sent by the firmware.

hi is there a instruction for the sg90 servo

in addition, somehow i dont know how to connect the sg90 servo to the pen carriage plate( the mouth of the smiling face, but the sg90 finger not reach to the mouth slot).

The servo arm lever pushes the top of the carriage to go up. You will need to align the lever in a way that UP means really UP as the shaft splines allow multiple angles. You can see a detailed view in the linked cad that contains the full assembly.

Sir, I want to make this drawing machine for A2 size paper. So that at what scale modification need to be done for that.?

I am afraid I cannot answer that. Such a big change in scale can bring in effects that are not easy for me to predict.

A belt tensioner may be needed - otherwise I'd just buy longer rods and belts and go for it...

Felicitaciones por el proyecto.Estoy haciendo uno igual pero tengo el problema que al mover un eje (G01 x10 por ej) se mueve en diagonal. Para que mueva paralelo a los ejes debo hacer un G01 X10 Y10. Qué puedo estar haciendo mal? Uso el mismo firmware que tú.

Congratulations for your project. I am making a similar one, but I have the problem that when move an axis (G01 X10, i.e), it moves in diagonal line. In order that moves parallel to the axis, I have to write G01 X10 Y10. What do you think I am doing wrong? Same firmware than yours.

Thanks. That tells me your firmware is has not enabled COREXY. You need to enable it.

I am having a few difficulties with the servo. I'm using grbl-servo, CNC Shield v3.0 and a Y-3009 servo von D11, +5V and GND from the shield. The shield is powered by a 12V source.
I can move the servo via M03 S... command, but most of the times only once and afterwards there is an connection error to the gcode sender. After reconnection it works again (once). The steppers are working fine.
I tried different servos, shields (even soldered my own shield), power sources and powering the arduino via USB and via V_in. I am pretty much out of ideas. Any suggestions?

I am afraid the peak power the servo demands causes a transient that freezes the Arduino board. You may try a smaller servo or power the servo from another 5 - 6 volts supply and not from Arduino's 5V rail.

That was the solution. I hooked up a 5V supply to the servo and now it works correctly. Thank you!

Great! You're welcome.

Just stumbled across your files as i wanted to start drawing the parts. Good find I guess :-)

One question: The original Axidraw seems to use a smaller distance for the rods on the Y axis (the upper one). Did you change that for a reason? Narrowing them down shouldn't physically be a problem and gives some more movement on the X axis. But as far as I can see from the pictures this would force some changes on how the central plates are screwed together.

Hi, I do not have the plans of original AxiDraw but I would say what they have is more distance between the rods of the X (motors?) axis. If you look at the CAD there is not much distance available in between the linear bearings to make it much narrower. And yes, you are correct, a change like this would require changes in the central plate (but as CAD model is available and linked you can play with it a maybe create a variant of your own).

yeah i know. I also don't have the plans of the original one, just saw it on the pictures.

I think I'll do a 1:1 build of yours for now but with the original electronics. Thanks anyways for publishing this. Highly appreciated :)

You are welcome. Original electronics will make your life easier as you can print straight from Inkscape.

You are welcome. Original electronics will make your life easier as you can print straight from Inkscape.

I'm proceeding quite well, and have already changed some parts. I wonder how the spanner is meant to work exactly. I tried doubling up the belt there but it seems to slip out to the bottom nonetheless. I've only printed the back parts and will probably mill them later. Also i thought about redrawing them and clamp the belt in with a screw but could you probably show some detail pics of your spanner?

Have a look at this picture to see if it makes it more clear how the tensioner works http://imgur.com/a/5yhlC each one of the ends of the belt is rolled around a toothpick and back into the slit, teeth to teeth. Once you tension it with the screws the two blue parts will separate putting some tension to the belt.

ahh, I see - this makes much more sense. The holes for the screws are not yet there in the STEP file and it's rotated the other way around. I will finish that and use that concept - sounds good.

EDIT: If I think it over the version in the step file is completely different. Maybe I've got to redraw that completely.

The source CAD is in Onshape, that is linked and from there DrawingMachinev2 is the latest version. All STLs should be available though but maybe STEP file was not updated to the latest version, I will have a look at it.

There is now an upgraded STEP file

I have question about the servo. Using this blue MicroServo 9G. I asked this question also on instructables but two are better then one :)

I printed the linear acutator from erivelton but I guess this also applies in principal to your servo setup.

When moving the servo with the command M03 Sxxx it crashes (obviously) into the gantry of the linear actuator as it moves the full range of degree. How can I change the overall maximum amplitude the servo is allowed to do? i.E. from minimum 0° to maximum 45°?

My second questions is about a humming noise I hear from my servo when I sent an M03 S40 command. It moves and stops but then there is a relatively loud humming noise comming from the servo. How can I solve this? Does this have something to do with PWM and Hz ?

A more simply solution to my issue (except for the humming noise of the serv) would be to use your z gantry. Of course :).
May you be so kind and take a picture from the servo and how it is pushing up the z gantry? Did you use the screw that holds the pen holder in place as a lever using one of these platic hooks that came with the servo?

Okay I got it!

The white lever from the servo moves from horizontal position upwards and moves the Z gantry with the pen up!

The servo buzzing noise happens when the servo needs to draw more power when I tried to hold a position. When I wiggled at the z gantry the buzzing went away.

Yep, that's it. Please note you may move up and down using two M3S commands. It all depends on how you mount the lever (or pulley) on the shaft. So you up command might be something like M3S120 and your down might be M3S80 (or something like that, or just opposite, as I have not made my mind about the pinion/gear variant).

If the servo is noisy it is usually because it is still trying to move further (maybe the number you ask it to go is beyond carriage travel range, if so just use a lower number). Or if it goes away when you wiggle it may be it is not strong enough (a bit of hole enlarging or sanding may make carriage motion smoother and cure the problem).

Thank you for clarifying this. The numbers sound reasonable.

I installed your design of the pen carriage and I realized I falsely installed it before. In the first run I drilled the holes so that the 4mm smooth rod could fit easily onto the servo holder and pen carriage. Then I glued the rods to the Pen Carriage (!) while through the holes of the servo holder they could slide easily.

Now that I installed your version of the pen carriage I wondered if that glueing was the right way OR should the 4mm smooth rods be fixed to the servo holder's holes and slide through the pen carriage's hole while moving up and down ?

If you had a look at the assembly in the linked Onshape public document you can move parts the way they are supposed to move. The idea is the carriage that holds the pen can move up and down while the rods remain stationary.

I kind of destroyed the assembly when trying to move in onshape but I got the point. Also I realized you inserted a spring.

At the time of the design I do not think Onshape had a featurescript for belts, so moving the carriage will show a static belt remaining in place, not pretty but you can beat the price ;-)

Spring may or may no be needed depending on the drag you have (sometimes a bit of extra weight is another way). But as you used the gear/pinion variant you should not need that at all.

I switched back to your pen carriage setup. First I must get to know how to control the servo with the inkscape plugin and I think keeping at the vanilla level (your design) is better this way. Once I understand how to control the Z axis within the plugin I can switch to the pinion version.

I thought I had the mechanical part finished but the belt slipped off the tensioner and even through the slots that should clamp the belt together. So I had to print the other version of it over in the Onshape iteration and made the slots of the tensioner narrower. Still I am not quite sadisfied with that tension mechanism. Maybe I should overlap the belts not with the profile of each against each other but the back of the profile to the teeth profile.
Like : << instead of >< if you know what I mean. This makes the overlapping belts thicker and therefore not as easy to slip out of their slot. Alas it is quite a fiddeling aligning the belts like this :)

Also I realized I had installed HTD pulleys which have a 3mm profile which were left over from my first TwoUp printer. So I am currently also printing GT2 pulleys.

The slot in the tensioner part is to hold a loop of the belt, teeth against teeth, with a toothpick or M3 screw at the end of the loop, that cannot go through the slot. Because teeth are blocked inside the slot the belt remains in place. If the slot is not the right size then the above would not work. My GT2 bet is 2.4mm thick when a loop is teeth against teeth.

Tried this with a m3 screw instead of a toothpick but then the belt slipped out of the slot from the EndY2 when applying tension. I made a small remix of the EndY part using clamps.

Maybe your belt is thinner than mine. A thinner slot might fix that, but I can see your solution is going to work regardless belt thickness.

"So I had to do it myself during Easter holidays :-)"

And accidently saved 400$.

You are the man!

Hello and thanks you again . I use Inkscape Laser Plug-In | J Tech Photonics, Inc. NJ generate g code , but I do not know how to activate the Z-axis . I use 28-byj48 stepper on z axis.

You are welcome. Iuse M3 S110 to move the pen down and M5 to move it up.

But it for servo. I use 28-byj48 stepper on z axis.

Right, for that you would need to use Z axis and for that use the regular GRBL firmware and not GRB-servo, and a third stepper motor driver will be needed in your CNCshield. Then pen down would be G1Z0 and pen up something like G1Z10.

Hi, as you connected servo SG90 to cnc shield?

+servo to +5v
-servo to GND
signal to D11

Mine servo doesn't work as it is necessary with g code M03 S0... 255. He exceeds values and is switched off.

Comments deleted.

Are you using grbl-servo? Please note that servos may need more power than USB might provide (just in case you are testing it without an external power supply).

Ok, I can see the pictures. Please note that the 15V you use only powers the stepper motors while the Arduino is only powered using USB energy. What I do is a bit different: I use a 12V/2A supply (15V might be too much for Arduino 5Volt regulator) to power the Arduino and I connect the Vin pin to the +V on the CNC supply http://www.instructables.com/file/FMSTBTKINU1G315/

It is all explained in the instructable http://www.instructables.com/id/4xiDraw/

Comments deleted.

Muy bueno el proyecto, ahora compre los componentes para armar. Una pregunta nomas, cual dirías que es la diferencia en usar un Arduino + CNC shield con usar el board oficial del Axidraw? (http://shop.evilmadscientist.com/productsmenu/partsmenu/188-ebb) Se podria hacer? Veo que con ese board se puede controlar el robot completamente dentro de Inkscape.

La placa EBB te da una solución más sencilla de montar.

EBB board is definitely a simpler approach that will make your setup easier.

adding back the bom list will be better?

Sure, but in the mean time, have a look at the instructable http://www.instructables.com/id/4xiDraw/

Great Misan. At the moment, I'm doing a mix between your project and the Cartesio, using only CNC. When finished, also plan to publish on Instructables.

Thank you for the project. I have fun building 4xiDraw.

Me too. I hope you will have fun using it too. I made mine wireless now using a BT module.


Hola Miguel, donde estan ubicados los interruptores de homing?

No uso, se pone a mano en posición antes de enchufarlo.


No end-stops are used. Just home axis manually before powering it up.

Ok thank you, and what would be the home position?

It depends on your wiring but for me the 0,0 is with the carriage closest to the Arduino board and the pen holder furthest away from the Arduino board.

Perfect, thank you

For further decrease of cost, I'm gonna redesign this for 6mm rods + LM6UU and only using 28-byj48 steppers - it will be interesting challenge :)
We'll see if the physical weight of the device will be sufficient then.

I used 8mm because I had lying it around. Same goes for LM8UU, bronze bushings or even printed bushings may help you reduce the part count too. These small geared steppers may limit the drawing speed though. I will be interested on learning how it goes.

Hi Misan. At moment, I testing this modification in pen holder, using a linear actuator: http://imgur.com/OSO1gNy . In this configuration, with a 45 degree rotation it is already possible to have a good displacement.


can you share your modification? i want to test it


Publish zastilla: http://www.thingiverse.com/thing:1514595 . I could not do more extensive testing, I have not mounted the machine, but with the installed servo and support in place, apparently everything works, noting that the servo rotation angle, in this case, must be 45 degrees.

Linear actuator for Drawing machine

That is super cool, minutes ago user cyul published this variant http://www.thingiverse.com/thing:1514145 with a similar mechanism for Z-axis but his was based on a stepper. My guess is servo can be faster. Thanks for sharing it.

Drawing Machine
by cyul

Hola Misan. Una pregunta que tengo, a pesar de haber analizado los tiempos de videos e imágenes de muchos, es como si los cintas están distribuidos en la máquina. ¿Hay alguna foto o render de esta parte abierta? Me gustó mucho el proyecto, pero quiero tratar de hacerlo en las dimensiones del proyecto Cartesio (Eje de 500mm)

Thank you very much misan, it's perfect!

do the X and Y axis have to be the same length? I need a device that is two times wider than long.

Best regards.

X (motors axis) is 390mm and Y(pen) axis is 320mm to be able to cover A4 or letter page size.

Please note size changes may require design changes as it might set the thing off-balance at certain pen locations.

Can you make a remix for 10 mm rods?

You've got the CAD files linked as a public Onshape document, so you could start from there. That is why I provided the source.

However you'll have to tweak a few things and. most important, you will need to make sure balance is not affected when arm is fully extended.

Thanks. I've got most of it remodeled. Can you post your new x end CAD files?

You have the sources in Onshape format.

But if you mean the STL, you can grab it from https://www.youmagine.com/designs/4xidraw

I can't work with the stl in fusion 360. Do you have it is step or a compatible format? I couldn't find the new motor mounts on the onshape folder.

Found what I needed on youmagine. Thanks

Please note you've got the full STEP model too.

Me encanta ese carro de Z, sonríe :)

Inspirado en la sugerencia de César Augusto Fernández.

buen día Misan
Estoy interesado en la construcción de una axidraw , así como la suya , pero no sé qué software que utilizo , y que el hardware (aunque he estado buscando , y vi una rueda Arduino tranquilo)
Gracias por su atención y un abrazo su amigo brasileño

Daniel el software que empleo lo he comentado en una respuesta anterior. Con un Aduino UNO y un CNCshield.

Please tell us about the software and firmware. You are using firmware GRBL (+servo) , software Inkscape and G-code sender ?

Yes, I am using robottini's grbl, a hacked version of thblaser Inkscape extension and Universal Gcode Sender.

thanks for the answer

you're welcome. If you still want to use the code this is Inkscape's https://github.com/misan/laser-gcode-exporter-inkscape-plugin

and this is the firmware https://github.com/misan/grbl-servo

Put the laser cutting files, please. dxf ? your first model... Thank you

You've got it.

Eres una máquina Misan! Justamente estoy acabando yo mi diseño, de no irme de vacaciones lo habriamos publicado a la vez XD

Sigo haciendo mejoras al modelo de Onshape. Ahora con una pieza para sujetar el Arduino.

Hi Misan ... Thanks for your project !!
I'm in the same case ,, too late by june ! And thankyou for the onshape share , really interesting.


Let me know when you finish it.