High-Speed 3D Printed Arduino Pen Plotter
HTML-код
- Опубликовано: 21 авг 2024
- Let me know if you have any questions or suggestions! I designed this plotter in SolidWorks and 3D printed the parts. If you want to build one, all the CAD and .STL files are freely available on my GitHub page here:
github.com/IVP...
Using what I learned from my last pen plotter, I wanted to design a much faster plotter using inexpensive off-the-shelf parts. The hardest part to get working reliably was the grit roller system for the Y-axis. Using rollers has the advantage of decreased moving mass, but it was tough to get working. I'm not aware of any existing DIY plotter designs that use a grit roller system, so all I had for reference were photos of vintage plotters.
I ended up using 120 grit Dremel sanding bands with a 3D printed adapter for the grit rollers. I used a small 5mm shaft as the grit roller driveshaft to keep rotational inertia to a minimum. The less mass the Y-axis motor has to accelerate, the higher higher the acceleration parameters can be.
Grit rollers also allow a plotter to feed the paper reliably without coordinate drift over time. The abrasive particles on the surface of the grit wheel leave small impressions in the edges of the paper, which then act similarly to a rack and pinion. Because the abrasive particles are irregularly shaped and oriented, the paper impressions and abrasive particles key into each other very reliably. My previous plotter design used rubber rollers, which caused some coordinate drift.
To work properly, the grit pinch rollers need quite a bit of pressure. I used a pair of 6:1 class II levers with a 0.5" steel bar acting as a weight. The lever is lifted by hand to load a new sheet of paper.
It uses 1/16th microstepped NEMA-17 stepper motors for X and Y movement as well as for pen lifting. The electronics are an Arduino Uno, a V3 CNC shield, three A4988 (or equivalent) stepper motor drivers, a 24v PSU, and a 24v 40mm fan for cooling. The cooling fan allows the drivers to run at a higher current, which in turn allows higher speed and acceleration parameters.
For software, I'm using Inkscape to generate G-code from vector images. That G-code is sent using Universal G-code Sender (UGS) over serial communication to the Arduino running stock GRBL.
I spent a lot of time trying to make the plotter's frame as rigid as possible. The more rigid the frame is, the more accurate the resulting drawing will be. A frame that's not very rigid will flex when accelerating the printhead, causing corners in the drawing to become rounded.
Maker Man Dan posted a video that explains how this plotter works in a little more detail. Go check it out:
ruclips.net/video/yQN9Wl0xA48/видео.html
This might be the solution to a large scale printing issue I have. Can you please let me know how to get in touch with you?
how big?@@mattasher4306
That video shows "build". It doesn't explain anything. The link merely hi-jacks the project to his channel.
It does less than a printer, in more time, only one color, with a lot of noise.
YES I definitely need one! 😀
This is the coolest pen plotter i ever seen
Thank you very much!
But so much cheaper because of the pen ink
@@TheKitMurkit in a very long time to take these profit instead of electricity etc.
ink cartridges dont cost an arm.
@@genkidama7385 yeah yeah whatever you say rich people
This is the best plotter i’ve seen yet. High performance *AND* elegant design.
Thank you very much!
I used one of the very first HP desktop plotters in 1985 and the very first picture I plotted was this exact image of the space shuttle.....mind blown!
I had a very expensive HP A4 size pen plotter at work many years ago - this appears to be much faster and has better output quality!
Thank you! That's great to hear.
I thought plotters were for larger sizes, I don't see the insterest of an A4 plotter, a cheap laser printer does much more. (I bought my first Laserjet in 1988 !)
Love the design for dropping the pen. I used a servo method in the past but would definitely not be able to push it as fast. I will have to give this a go! Thanks for posting!
Thank you! Hope it works out for you.
Built one myself, different design but also using printed parts, Grbl, UGC, Arduino shield. Will compare my Grbl settings with yours. Mine also prints fast and accurate but interested to improve where I can. Great project as it rolls several fields into one. Well done..thanks...
H
Arduino is kinda slow for tasks like those imo
Get a 32Bit board like an SKR
@@fusseldieb The Arduino isn't the limiting factor for speed here. GRBL can handle a step frequency of around 40 kHz.
Wow congrats ! This looks like a very efficient design. It is really mesmerizing to watch.
In an effort to decrease time to print even more, I think there is something that can be done as far as optimizing the toolpath. There is a lot of long move that goes back and fort between different area of the paper. G-code generation and/or post-processing (depending if you have acces to that generative code) could be more clever and pack more effectively toolpaths by area. Simply choosing the closest next possible "pen down" move after each "pen up" move could go a long way I think.
Thank you! I agree. There are probably more optimized G-code generators out there that could shave off quite a bit of time.
I was going to comment on that. The shuttle image seemed particularly bad in that regard. The pen spent half the time off the paper!
@@ivprojects8143 One simple option--considering just how accurate your system is--would be to cut the drawing up into small sections, convert them, then paste the gcode fragments together. It's not a *great* solution, but one that should be simple enough to get working until a better one comes along.
thats a sweet design, looks like i can finally reuse all the old inkjet parts i salvaged.
Thank you! And have fun with the build.
Just as a suggestion for future ideas.
I did have the Toshiba HX-P570 pen plotter for my MSX (end '80s, begin '90s) and this one used nearly the same design principle as your plotter does. (also sold as Sony PRN-C41)
It also had a rotating bar to push the pen down (well yours does lift the pen).
The plotter had 4 very tiny coloured pens inserted in a small carrousel with a spring to lift the pens up.
This way you don't need to carry extra weight to push the pen down, which may allow for even faster prints.
However this does mean you need to push the pen down while drawing a line which may cause extra friction.
The pen change was done via a "squared" rod and a small worm-wheel inside the carrousel
I think I did print the same image of a space shuttle back then as it was the most impressive print to show friends and back then you didn't have a lot of plotter files available on BBS's.
Plotting took a lot longer on that plotter than on yours.
Thanks for the interesting comment! I can see the possible advantages of a spring loaded system versus a gravity based one. Not sure which method would end up being better suited for speed, but it might be worth a try.
That roller system is genius! great machine.
Thank you!
In 1993 I was on a high school internship at a company that manufactured a (multi-color/pen) plotter, and its demo drawing was the Space Shuttle. It was amazing and unreachable (despite the plotter technology was already advanced at that time). And now, I can print a printer. It continues to be amazing!
Cool experience! In 1993 I was using a plotter at work to plot large AutoCad drawings. Some engineers were still using drafting boards. A couple were using AutoCad but hadn't learned how to reduce plotter time and there would be hours of prints before mine would come up. I remember complaining they weren't using simpler fonts and limiting their use of text. But the plotter was a glorious machine. Twenty years later at another engineering company, our mechanical engineers stopped producing paper documentation. They don't even produce a drawing, only a 3D model. They forward models to the machinists with notes in the file about which surfaces require tight tolerances. This saves a lot of engineering hours and calendar time and is much faster for machinists too. Those machinists are like artists. Now I work in a factory where we use a plotter only once in a while, a gigantic inkjet machine that produces full color prints. I have only used it one time in three years. I generally use 11x17 (B4) for electrical schematics. Schematics would take an enormous amount of time in a own plot for all the little lines and lettering. But I miss the pen plotters.
I never imagined these motor could run this fast. Amazing video btw.
Thank you! When there's not much moving mass, steppers can accelerate really quick.
Wish I had this for wedding invitations and thank you cards. Would've looked like I signed them with real pen and could've done it all on computer!
i was about to say "yo they made a 3d printer for drawings" then i realized that's just a printer
Not just a printer. A printer that doesn’t require $60 ink replacements ever month.
But takes way longer to create the image on paper
dude this is awesome! Ingenious design and a very efficient use of 3D printed parts and space. Thanks for sharing!
Thank you very much!
You printing rockets with this makes it 100000x cooler. It’s perfect for either making pictures look like sketches or printing out “hand drawn” schematics for things like pcb layouts and engineering drawings for manufactured parts
Thank you!
This is way cheaper than a printer, yet the quality of the rendering is superior. You can't even BUY a C- size printer at all unless it cost TEN$ of thousand$.
Excellent project idea! Thank you for this video. 👏👏👏👍
Thank you very much!
This is a really cool project! Thanks for sharing your project files and taking the time to write this detailed description.
Thank you! I'm happy to share the files.
Really good. Amazing speed too. I think I'd go for an electromagnet for the pen lifter. One less stepper. Though I really like that lifting bar setup! That's a great way to keep the extra mass static to keep the pen inertia at a minimum.
Thank you! Early on I was planning to use a solenoid, but I found there were a lot of advantages to steppers. They're easy to control via Gcode, allow you to fine tune the distance the pen is lifted, and have 100% duty cycle (compared to the rather low duty cycle of most small solenoids).
@@ivprojects8143 how about servo? like your v2 plotter
@@rama3njoy Hobby servos are much slower.
The spring from the clothespin is a touch of genius.
Thanks! I got the idea from 3D printer belt tensioning springs, but I figured I could make one instead of buying it.
This is one heck of am upgrade from the one you uploaded a video of 10 months ago. Well done 👍👍👍
Thank you very much!
THIS. IS. AWESOME.
Thanks!
Потрясающее изобретение для студента;)))))
Когда курсовик от руки требуют:)))
Это единственное для чего он может пригодиться)
@@aidagamemnon ну еще когда чертеж чернилами нарисовать;)
As someone who built one, I'm mostly amazed by the speed of that pen. I wasn't even going too fast but I had to limit speed because the pen would dry up.
I had to test quite a few pens to find one that could keep up. It's a 0.7 Tru Red gel tip.
@@ivprojects8143 thanks for sharing!
This isn't a complaint, just a suggestion for the next version: pen changing capability.
But this is AWESOME as is! 👍😯
I would like to try that at some point! Thanks for the idea.
Very nice design. I like the use of Dremel tool sanding sleeves for the paper grit rollers; simple, cheap, effective, and precise. We’ll done, and another new subscriber! 😊
Thank you very much!
I love how this machine works. Well done!!!
Thank you!
Solves a problem that doesn't exist. Nice.
I love the machine you built, and the space shuttle it ploted as well!😄
Thank you!
Nice project! I have always liked to watch plotters plot. Subscribed.
Thank you!
Oooh! Impressive! And I “need” a new project to get the parts for and then start and then procrastinate for a year or five before finishing it.
Thank you! Have fun building.
Thanks for sharing this video. Congratulations on the result. The printer looks very nice, accurate and fast.
Thank you very much!
This reminds me off the plotters at school
@3:11 the clothes peg spring being used as a belt tensioner is genius 🤯
Thank you!
Very nice design! My favourite project this month, hope to build it myself 😍
Thank you very much!
Hello!
Very nice design, it shows you put a lot of time and effort on the design maybe a couple of iterations.
Thanks for sharing!
Thank you!!
Such a plotter can be effectively used to draw clothing patterns using a long piece of paper along the y axis.
Interesting idea.
Very nice design!! Can you make a assamblage video of it?
When HP were big into pen plotters apparently a lot of the internal specifications used "attoparsecs per microfortnight" to measure speed. One attoparsec/microfortnight is almost exactly one inch per second.
That's hilarious. Certainly makes unit conversions a little more exciting.
1.0043 inch per second. Close enough for government work...
Fantastic project! You gained a subscriber! I was looking for a plotter with this design and performance. Congratulations! Excellent work.
Thank you very much!
Thanks, I love good open source models. I recommend putting your name or something on the STEP assembly, so ppl can find you
Thanks! I may do that if I have a chance.
This is very cool. CJ also supports you!!!
Great and simple work ,it gives inspirition
Thanks
Thank you!
I highly recommend switching away from gcode to HP-GL since that language is specifically designed for plotters and if you ever implement tool changing it will make your life easier.
It also has quite a few build in functions, so the actual arduino would so some calculations, like infill patterns or circle drawings.
Good suggestions, thanks! I'll look into HP-GL.
Great machine and great choice of drawings, too!
Thank you very much!
very nice! surprisingly good results for the speed!
Thank you!
Cool stuff! Thanks for sharing!
Thank you!
I love the belt tenstioner
Thank you!
I love it! Nice project, well done!
Thank you very much!
That's excellent!I've been itching to make a pen plotter for some but most are the cute floppy-servo motor kind and not this professional looking beast that's frankly worth the time and money.
(Fun extra: This was the first video that popped up on RUclips that I tested my new ESP32 BT audio against - so double-win)
Thank you! I'm glad you like the design.
Really cool! You should find a better stepper converting mainboard, I had this kinda noise on my old Ender 3 Pro 3D printer too...
Swapped out the mainboard to a BigTreeTech SKR Mini E3, and all the noise was gone..
Thanks! It could easily be made quiet by swapping out the A4988 drivers for some TMC drivers. I just used the A4988s since I had them on hand.
@@ivprojects8143 yeah, cuz that mainboard has better integrated drivers, instead of using attached modules it's integrated into the board with a chip.. And u can easily bootload your own grbl software into it with a usb. just a suggestion.
Could maybe also make a laser engraver version of this..
HP came up with this system for an electrocardiogram 40 years ago.
GREAT job. That is really cool.
Thank you!
Great improvements!
You can use Inkcut project as driver and set the shortest path to save some movements and time, or maximize X or Y travels if you want. Try it!
Thanks for the idea! I'll look that up.
@@ivprojects8143 I hope you share your experience 😉
Nice design. Gcode could use some optimization. Vinyl drag knife add on?
Thanks! I think a vinyl knife could work. I may give it a try at some point.
There is potential here. Add a drag / diamond tip engraving tool and some other mods/adjustments and I bet you can engrave metal, glass, plastic...hell even wood
That's awesome! A thing of beauty.
Thank you very much!
@@ivprojects8143 I can imagine it connected to a camera and taking a picture of a face and converting to grey scale lo-res to draw the image. A cyber mirror. Don't you just love electronics these days!
Hi, very cool design!
This is doubly interesting to me since I would have dismissed the idea of handling the paper like this at the concept phase: I would assume that the paper would twist and rotate ever so slightly each time so that overall after many trips it would become badly misaligned. Does this happen at all in reality? did you have to balance the forces to align the paper in any way?
Thank you! This is the advantage of using grit rollers. I explain this in a little more detail in the description, but basically the abrasive particles on the grit wheels create a meshing interface in the paper like rack and pinion gears. This lets it very repeatably index back to the exact same position in the Y-axis every time.
@@ivprojects8143 I was about to ask about that. Very interesting that this works so well, I would have clamped the paper in place and moved the whole surface back and forth. Your design is way cooler
Just had another look...yours's is faster than mine by a way... Mine uses a moving y axis with the paper stretched and held in place with clips. Your direct movement of the paper helps speed wise plus small movement of the z axis pen. Interesting.. I plan to maybe use different types of pen and maybe paint brushes or charcoal so will probably stick on the path I'm on but will definitely try to use some of your ideas.
Sounds interesting! You should post a video of your design (if you want to).
@@ivprojects8143 Thinking the same. Will do... But go easy on me... Lol
Have you tried to use 4 color markers (Yellow, Black, Magenta and Cyan) with 4 different pictures to make a full color image?
There are some programs capable of vectorizing bitmap images. You could split it to 4 color channels and print them consequently to make a full color image.
That would be cool. I would have to figure out a tool changing system I think.
@@ivprojects8143 Return to home and change pen once one colour has completed? As I have a traditional (up down) z axis I thought of doing this myself by having pens 4 pens mounted on a central hub at 90 deg to each other, then just dial the hub to the next colour. In my mind that works but in practice??
Ace job, mate!
Thank you!
What is the pipeline to get the pics through? What controller etc.?
I explain this a little in the second to last paragraph of the description. Basically it's Inkscape => Universal Gcode Sender => Arduino running GRBL.
would be cool to print with something that conducts electricity so you could print circuits.
That's a cool idea! Do you know of any inks or paints that would be conductive enough to carry a little current? I know there are conductive carbon paints for electroplating plastics and RF shielding, but I think those paints have a pretty high resistance.
@@ivprojects8143 using standard inks to draw masks for photo etching might be viable. You'd just draw the negative onto transparency film. I'd be you could achieve some cool effects that way.
@@ivprojects8143 You could print a photoresisting mask with a thin permanent marker and exposure it to UV light.
It's funny, back in the day those things were 10's of thousands of dollars. Now you can build one with stuff laying around in a couple of days.
IMHO it is running a little fast. you can see it in the print. Cool none the less.
Beautiful job well done!
Thank you very much!
Works great! I've used sandpaper-based rollers myself and they work nicely. Finer grain than yours though.
Thanks! I tried 240 grit, but 120 grit seemed to work a little better.
Recently tore down an old CTC 3D printer so I have a few NEMA17s, belts, bearings and rods kicking about. I was wondering what to use them for!
Have fun building!
Excellent design that does everything right: heavy parts are stationary, only lightweight parts are in motion. Even the pen lifter motor is stationary, ye olde HP-style. Result: the only non-lethargic plotter design on the net. Looking forward to seeing it with a tool changer :)
Did you have much trouble aligning the rollers so that the paper stays aligned after so much sliding back and forth, or is it not really an issue?
Thank you very much! I'm glad you like the design. The paper rollers worked surprisingly well without much iteration. The rollers are mounted on the same rod, so they should be quite collinear.
Really an awesome project, and definitely something to build using my plentiful spare parts from various builds. Would you have any assembly instructions anywhere?
Thank you! Unfortunately I don't have written assembly instructions, but the SolidWorks assembly shows how all the parts go together.
@@ivprojects8143 Awesome. How about the firmware?
@@samernajia I describe all the software used in the description. The firmware running on the Arduino is just stock GRBL.
@@ivprojects8143 got it thanks
Awesome. Well done. Thanks for sharing.
Thank you too!
Really great
Thank you!
Bravo! Bravo! Applause! ...sort of a ball point blended with a laser etcher. Amazing speed and results. I wonder if the ball point overheats and maybe cooks the ink if you try to print a black page...
Candle GRBL is much better than Universal GCODE Sender. But since you are using G0 travel commands, the visualizer would produce dashed lines. You can easily patch this if you search for "if (cos(coord / factor) > 0.0) discard;" in the Candle.exe file. Just replace the "if" with "//" and you will have a nice GCODE visualizer & sender.
Interesting, I'll look into that. Thanks!
Aliens now can send us messages through this, drawing with codes
Super nice. Any plans to scale it up in the future? So it would work with much wider paper that comes on rolls?
Possibly. I think you would need to add a few more grit rollers, and maybe a more powerful motor for the Y-axis.
@@ivprojects8143 You can do it! :-)
Cool project!
Thanks!
I seriously need this for my homework 😆
прекрасная реализация. мне нравится)
Thank you!
Very nice work. 👍
Thank you!
Oooo This is awesome! Definitely earned a sub! :D
Thank you very much!
Hello, congratulations on this and your other projects, they really follow through. In the case of this project, the proof is in the pudding and it has been replicated :-) I've noticed there's no mention of the NEMA 17 motors in the BOM and that the printed parts seem somewhat contingent upon the height of these. Could you either reply to this with more info on what you went with or (ideally) update the BOM? Cheers.
Thanks! They are 38mm NEMA-17 motors, except for the Z axis motor which is smaller since I had it on hand. You could use 38mm motors for all the axes though.
that's awesome, i will try make my own, thanks for sharing .
Thank you! Have fun building.
I love your project !
Thanks!
This is awesome! I wish to repeat it some day.
I would mount it on the wall, since I don't have a dedicated desk. On the wall it would be cool!
Thanks! You would need to change the angle of the idler levers, but apart from that it should work on a wall.
Really great. You need to optimize the gcode to draw lines and remove the travel time
Thanks! That's just the choice of G-code generating software. I'm sure there are better options out there.
Would love to se it do some more detailed shading, you could do some amazing crosshatching
That would be cool. I think GRBL Plotter (another Gcode creator/sender) has some shading features.
Very impressive
Thank you!
Pen plotters were state of the art in the late 1980s. The company I worked for had a few as an addition to the matrix printers. So you used the most modern additive techniques, a lot of brainergy, time and money to create something that was obsolete by 1995?
Wow, that's *FAST!* It actually looks like the speed is becoming limited by how fast ink can leave the pen, which is a pretty satisfying problem to have.
...of course, the next step is to make it multicolour. :grin: (I'm thinking a rotating drum with pens in individual holders. It would use small magnets to attach them to the drum and larger ones to attach them to the head, with a simple mechanism to transfer them as needed. By moving all of the mechanisms to a separate section attached to the base, the only weight on the head would be the pens and holders. Does that make sense?)
Thank you! Yes I think toolchanging would be mechanically feasible. You'd also need to find a way to generate multi-tool G-code and get the interpretation to work on the Arduino side.
remarkable.
Thank you!
excellent .. I have tried to make a plotter without success .. 2 times .. I try this design .. I hope it will give good result
Thank you! Have fun building.
Man that is one hell of a plotter.
I'm using a terribly slow conversion of a CR10 3d printer as my plotter currently to "handwrite" letters and have been working to optimize the gcode.
I think it might be time to step up and put together some optimized hardware to go along with it.
Do you happen to have a discord related your projects or similar by chance? I'd love to pick your brain on a few items/modifications if possible.
This man is genius!! Monkey supports you
Fantastique ! Tu es un génie.
Thank you!
GREAT !!! very nice... thanks for sharing...
Thank you!
Amazing.
Thanks!
Awesome. I gotta ask though, do these things have any advantage over inkjet or laser printers?
Thank you! At this point there is no real advantage other than being fun to watch. In the past, plotters could produce more accurate drawings than early inkjet and laser printers.
@@ivprojects8143 Fuck it, Imma make or buy one anyways. Is this a special pen you are using?
@@heckyes It's just the ink insert from a gel tip pen. Specifically a 0.7 Tru Red brand gel tip pen.
Nice video, thanks for sharing, like it :)
Thanks!
I like this design a lot. I’m curious how it handles thicker materials; have you tried feeding through something like poster board or illustration board?
Thank you! I haven't tried any materials other than paper. I think something like construction paper would work fine, and I think the printhead could easily be modified to work with much thicker materials. I don't think the roller system would have issues with thicker materials.