Asmograf Pen Plotter

by cz7asm Jan 7, 2019
Download All Files

Thing Apps Enabled

Please Login to Comment

I have another question about the solenoid. Sorry.
Is this a solenoid open on both sides? I can't see it in the pictures.
Is the solenoid powered when the pen is up?
Or does the solenoid continously pull so that the pen is down?
" that is reducing its consumption by applying full voltage only for the pen hit and then dropping to 0.5V just to keep the pen up."
Does this mean that the solenoid is always powered when the pen is down and writing?

There is a link to Aliexpress with detailed pictures of the solenoid (of it's still valid).
Yes the solenoid is powered when the pen is up. When the pen is down the power is off.
By the "pen hit" I meant when the solenoid hits the pen on its way up :) It does so with a full voltage and then it drops to jist enough voltage to keep the pen up (0.5V in this case).

Seems like there is a problem with the amount of links you posted in your answer to my question. And moderation is low priority @ thingiverse I guess.

I almost finished the plotter. Had to adjust a lot of holes in the files and using a file. It's odd. I can print very precisely. Printed a 11.80mm diameter bearing and it came out 11.80mm. So I don't know what's the deal. Anyways I'm assembling the pusher arm and the rod. Does the pusher_pulley.stl need to run freely on the 4mm rod?

Yeah I attached some links for better explanation of the voltages but as you say, it seems.to be stuck waiting for a "censorship".

About the holes - the diameters I used were for my Prusa printer with Prusa PLA so it's possible they wont come out exactly the same with other printers. This is something I'm not sure what's the best practise for designs that need precise hole diameters.

Yes the pusher_pulley part must run freely on the 4mm rod, I think I even mentioned this in the assembly notes.

+0.2mm on hole diameters. M3 screws fit snug on 3.2mm holes.
As for screw heads I go with +0.3mm diameter and +0.4mm head depth.
There is a hex nut slot for the pusher arm on the inside of the two printer_barrel... and printer_carriage... parts. Should this slot not go on the outer side?

My bible is:
M3 cylinder head screws: https://www.schrauben-lexikon.de/norm/DIN_912.asp
M3 nut: https://www.schrauben-lexikon.de/norm/DIN_934.asp for

The hex nut slot on the inner side is to fix the bolt that holds the pusher arm, it's partly described on this pic - https://cdn.thingiverse.com/assets/65/12/2b/53/ea/plotter_15.jpg

I've seen this picture a hundred times....now I finally got it.... lol.
You could also use a single lock nut on the outer side minus the on on the inside. But I guess this inside nut also gives a bit more stability to the screw.

Exactly, it's about the stability of the bolt and the arm on it.

Almost finished everything. All but the endstops are in place. Using an Arduino Uno with a CNC Shield V3. Because this is a shield, the whole electronics are way to tall to fit between the 8mm threaded rods. I could go with desoldering the pins of an Arduino Nano, flash optiboot bootloader and get grbl going. Then solder everything including the stepper drivers on a perf board.
What changes did you do to the configuration of GRBL? In terms of $$ configuration and/or modification in the .h files?
As far as of now I took the GRBL $$ config from the A4 Pen Plotter https://www.thingiverse.com/thing:2504587
Currently I don't have a suitable solenoid so I went with a servo. I got one of those hundreds GRBL servo versions. I lost count and track of what version has which patches. It's a nightmare if you don't keep records of which versions worked out. Note to myself: Documentation. Even if it's just a notepad txt.

A4 Pen Plotter
by JuanGg

Regarding the grbl changes I only set homing for X axis only, that's the only change in the source code besides the hardware specific ones. Then I only played with the $$ setup which was pretty streightforward. I shared my config here in the comments to the video - https://www.youtube.com/watch?v=A09QSWF1teg&t=98s

Why do you power the stepper motors with 12v? I have looked them up trying to find out which voltage they run on. Also the MCU runs on 5v.
When looking at other plotters I have built, they are all powered by a 5v 2A power supply and the motors run great. Usually I choose low voltage steppers (2-5v). I have had 12v stepper motors with high resistance but they get rather hot on even 12v power supplies. 24v would be better to power them. But yours are rated 4.8v (0.6A * 8 Ohm). So why do you power them with 12v.
Using 5v would be much easier as you would not have to build a power regulator for the solenoid. This way you would only need an NPN transistor, 220ohm resistor and a diode.

Have a look at this link https://www.adafruit.com/product/2776

My bad. I do not use a 5v power supply but a 12v. DOH! I have no clue why I thought I have a 5V power supply.

So this above is based on wrong assumptions.

powering a bipolar stepper motor is not as easy as it may seem, I recommend to read something about it, for example here -


to quote one of the articles:
"Perhaps one of the biggest points of confusion is the discrepancy between the coil voltage listed on a stepper motor’s datasheet and the usually much larger power supply used with it. If the datasheet lists a coil voltage of 3.4 volts, how is it that it can be used with a 48VDC power supply? Or an 80 volt power supply for that matter?
This is the deal. Ignore the voltage rating. Pay close attention to the current rating instead.
In the case of a chopper drive, exceeding the rated voltage isn’t a problem. The higher voltage makes the motor reach magnetic saturation more quickly. The motor is strongest when fully saturated"

Basically, using the chopping drivers (in my case TI DRV8825) with higher voltages you get better motor performance allowing for higher speed, torque and better microstepping (less vibrations, less noise, better resolution)

As to the solenoid, in the adafruit link you attached they present only a way how to power the solenoid. In my design I also deal with minimizing a power consumption by dropping the full voltage after the solenoid has been turned on, to a much lower voltage sufficient enough to keep the pen up. This greatly improves the power efficiency, but of course it also results in more complex (yet still very simple) power circuit. It's all described in the design description.

A good article about driving a solenoid is here - https://www.electronicdesign.com/analog/what-s-all-solenoid-driver-stuff-anyhow

Hey! Very nice design. Thank you.
How to control a solenoid with Arduino Uno + CNC Shield v.3.0. I request information.

Hi, I never worked with the CNC Shield but I don't think it contains needed circuitry to control a solenoid. You will have to build a circuit similar to one I described in the design in the chapter "Pen Lift Mechanism". Once you have that, one on/off pin on your Uno will be all you need.

hi nice project .... i wanna make it vinyl cutter will it work?
and big so it can cut 45cm vinyl roll. 6 mm rod will work? or i will go with 8 or 10 mm rod
and insted of the 4 mm 6mm rod

Hi & thanks, this was mainly designed with printing on a paper only in mind. I could imagine that some parts could be good enough even for vinyl after making things more robust. Like the 12mm tube that's moving paper is fixed on the left side only with a socket in the plastic wall - for vinyl a proper bearing might be needed. What's definitelly not sufficient is the pen lift mechanism - it only holds a pen up and releases it when needed without any additional pushing force, that I suppose is needed for a vinyl cutting knife.
It would be interesting to see someone improving this design so it could handle both paper and thin vinyl.

my build is a vinyl plotter too. I redesigned some parts and milled it from dibond. Still in work so stay tuned..

For the ones who are interested in my build :-)

Asmograf Vinyl Plotter

Hey, that looks really good! I like the use of dibond.
I noticed you used the exactly same solenoid for knife lift mechanism. Is the solenoid actually strong enough to lift it up? It works fine with a pen but I'd expect it would have problems with greater weights.

Correct, a servo would be netter, stay tuned :-)

Thank you for the design. I am making some modifications according to my stuff. The original step files are attached.

I'm glad to see someone reused the design. Are you using Solvespace for the modifications or you exported the design to some other cad tool?

BTW, Did you add Y endstop to the design? I am considering to add tcrt5000 as Y endstop. I am not sure if it does work but I'll give it a try.

No I didn't play with the Y axis endstop. I thought about it but it turned out that for my needs it's not really essential. The X axis endstops are far more essential. But in some situations it may be useful to have it, that's true.

I am importing the stl files to SpaceClaim and retracing them according to my needs.

Neat design. Nice pictures. You don't get this to see often.

hi could you please upload complete BOM for this thing? so I know what part I need to buy. Many thanks

Yes it would be useful. I'll try to create one when I have time.

NICE WORK! How about wiring? Can you add a schematic of this lovely project? :-)

Hi and thanks! Yes I plan to add some wiring diagram as well. However it's a standard GRBL wiring that you find in most GRBL based projects. I'll add something soon together with pictures.

You use 7805 with two capacitors for 5v, which one you use?

This post explains it nicely - https://electronics.stackexchange.com/questions/8121/capacitor-sizes-for-7805-regulator
It really doesn't matter, I used what I had at hand. If you use electrolytic as I did just make sure they're voltage ratings are sufficient. Above 12V on the input side and above 5V on the output. Or buy a complete module - aliexpi.com/QWMv or a more efficient buck converter - aliexpi.com/SEuY

Comments deleted.

How do you process files into the machine? Using inkscape + plugin? Do you have a different way? Could you take more photos about the pen assembly? Maybe a description in a few steps how to make it? Have you tried to print on a larger paper size than A4? A1? A0?
you can write something about controlling the printer (electronics). Maybe you have a connection scheme? Which electromagnetic you use?

Mostly I used inkscape + plugin. Only for text printing I wrote a little python script that generates gcode for HP1345A text (http://phk.freebsd.dk/hacks/Wargames/index.html). I plan to add more info on this when I have more time. I'll try to add more pictures and info about the pen mechanism assembly ASAP. The plotter is built for A4 size so I used only this and A3. I'll add more info about the electronics too. Some info about the pen driver is already there, even a link for the solenoid (electromagnet) I used.

Nice work! Could you please upload an STP file?

Thanks. I tried to export the design to the STEP format but I'm not sure it worked out well. I uploaded one of the plotter walls for a test - https://github.com/cz7asm/plotter/tree/master/step

I'm afraid any design changes have to be done in the design program I used, that is SolveSpace. I was thinking of a redesign in something more prevalent like FreeCAD but I'm not sure I will have time for it any time soon. Anyway, the link to the source files is in the design summary.

Great design! It could be used as a vinyle cutter too.

Really good job! I was trying to find the time to do something similar. Love the compactness and still you can use a sheet of paper of any length.

Waiting for some more images and information about the assembly.
What did you use for the plate where the pen meets the paper?

Thank you and keep up the good work.

Hi pedrogramos, thank you! I added more images but there are still many details I'm planning to add.
If you mean the golden strip placed on the T-shaped alu profile then it's a piece of cardboard cut from a chocolate box. It's supposed to cushion the hits from the pen but it turned out not to be really necessary when the height of the pen is setup correctly.