This project was a learning process for learning to build a working machine almost from the scratch. However, since this was my very first assembled machine ever, I had to jump between several instructions and make a lot of extra work to understand every step they described. Therefore, I tried to include everything into these instructions for being helpful and convenient to create this machine even if you are a beginner.
This drawing machine is a small three-axis robot that controls a pen over a canvas. For moving the horizontal x- and y-axels, the machine uses a single belt and two stepper motors in a configuration called h-bot, and the third one for moving the vertical z-axel (pen) up and down. For drawing or writing, since the pen orientation is variable, it is possible to use regular ballpoint pens, fountain pens or felt-tip pens. For building the machine, I used 3D printer, recycled parts as much as possible, and ordered some of the parts from e-commerce. My operating system is Windows 10.
As a starting point, I used instructions made by cyul (https://www.thingiverse.com/thing:1514145) and misan (https://www.instructables.com/id/4xiDraw/).
In addition, the tutorial videos made by 3DMake (https://www.youtube.com/channel/UCRhkN6gZW62WmhAbPMKPoFA) and
MiguelBi (https://www.thingiverse.com/thing:2401997) were a great help during the assembling phase.
For sure, the greatest help and support I got from wonderful staff in FabLab Silkeborg (http://campusbindslevsplads.dk/index.php/fablab/), where this machine was built.
By making this drawing machine you can learn some basics of digital fabrication and robotics. The project develops an understanding of hardware, firmware, and software. It involves 3D printing, ordering or recycling materials, mechanical and electronic assembling including soldering and simple wiring, and setting and adjusting firmware and software.
Pay attention to rotate the 3D printed parts appropriate before printing since some of them seem to be in wrong orientation after uploading.
You can find all the information and exhaustive description of building this machine from KatPit Instructables page:
**********************************************************
https://www.instructables.com/id/Build-Your-Own-Drawing-Machine
**********************************************************
Technical
Bill of other materials:
Electronics to control the machine:
1 x Arduino UNO shield with USB cable
1 x Engraver CNC shield V3.0 board (Also, KITs involving both shields are available)
9 x 2pin header micro jumpers (could be sold together with CNC shield, check)
3 x A4988 Stepper Motor Driver boards (with heat sinks, or you can use a cooler like I did)
2 x NEMA 17 stepper motors – height 40 mm could be perfect (mine are recycled from an old 3D printer being 48 mm tall and working ok)
1 x 12.0 V 2A power supply (mine is recycled, 12.0 V 8.0 A)
1 x Power Jack Socket 2.1mm PCB mount
1 x 300 mm Single core mounting wire 1.4mm (recommended to have 2x 100 mm black for ground and 1x 100 mm red wire for power)
1 x 28BYJ 12V Gear stepper motor for Z-axis
1 x 850 mm Cable Extender for 28BYJ Gear stepper motor
1 x Techflex Flexo PET sleeving for 28BYJ Gear stepper motor cables
1 x Heat-shrinkable tube 140 mm to cut and joint some cables
1 x 5V Cooling Fan 30x30mm
2x pieces of jumper wires with female pin connectors for cooling fan
Rods and fasteners to build X-Y-Z-axes:
4 x 8 mm smooth diameter rods by pairs in a length you want for X- and Y-axes
(I used 2x 340 mm-long for X and 2x 455 mm -long Y (recycled from printers and scanners), which gave me about 300(X) x 240(Y) x 23(Z) mm of the workspace.)
2 x 10 mm (3/8") threaded rods, in the same length than your X-axis + 2 cm (mine are 360 mm)
2 x 6 mm smooth diameter rods 60 mm for Z-axis (mine are recycled from an old scanner)
10x F623ZZ Double Shielded Flanged Ball Bearings for X- and Y-axes
2 x 16 teeth, 5 mm Bore Timing Pulleys for GT2 belt
8 x LM8UU Linear Ball Bearings for smooth diameter rods
1 x 200 cm 6mm GT2 Timing Belt Open
(if you change the length of axels, you will get the length of the belt by calculating [(X-axis cm + Y-axis cm) x2] + at least 10 cm extra for tightening)
I recommend making X-axis (including 2x 8 mm smooth diameter rods + 2x 10 mm threaded rods) longer than y-axis for making the machine more stable. I had only 360 mm recycled threaded rods, but I wanted to make the drawing area bigger so, my Y-axis is longer than X-axis, which caused that I had to make extra legs to make the machine stable.
Bolts, nuts, and washers
3 x M3 6mm screws (for z-axis 28BYJ gear stepper motor + pen holder)
9 x M3 8 mm screws (for NEMA 17 stepper motors + pen holder)
11 x M3 20 mm screws (for x- and y-axis ends)
4 x M3 30 mm screws (for x-y-configuration)
4 x M3 40 mm screws (for x-y-configuration / cable holder)
19 x M3 nuts (for x- and y-axis ends and x-y-configuration)
5 x M3 washers (for x-y-configuration + z-axis belt holder)
1 x M5 screw (for the pen on the Z-axis)
4 x M10 serrated nuts (for threaded rods)
4 x M10 nuts (for threaded rods)
4 x M10 washers (for threaded rods)
3D printed parts:
Since 3D printing takes some time, it is a good idea to start by printing the parts. I adapted some of the misan’s (https://www.youmagine.com/designs/4xidraw) and cyul’s (https://www.thingiverse.com/thing:1514145) parts to be 3D printed, but some of them I developed further, and also created and added some new parts. I had difficulties with the OBJ -format so, I opened the files in 3D builder and saved them as STL -format. All the original parts of cyul’s can be found and edited here.
From the cyul’s parts, I developed further both Y_Ends, to make them stronger and the y-axis more stable.
Developed_Y_End_1.stl (individual)
Developed_Y_End_2.stl (connected to z-axel)
To make the machine more stable, I made legs for x-axel:
LEG1-for-Arduino+Cooler.stl
LEG2-for-Stepper-motor.stl
I added also a Cable Holder for stepper motor cable going above the stage, and a Cable Keeper put inside the LEG for Arduino:
Cable-Holder-for-stage.stl
Cable-Keeper-for-LEG.stl
I will still develop Z-stage and the pen holder further at some point later on.