Fab Academy Rwanda · Printable pen plotter

Assembly guide

Status: original CAD prototype for a 200 x 150 mm drawing area. No physical build, measured accuracy or successful plotting run is claimed. The assembly CAD includes purchased-component envelopes. Print the individual STL files, not the assembly STEP or the hardware envelopes.

Design

Our 200 × 150 mm plotter uses a CNC-cut plywood base and paper bed. Printed towers support the fixed X beam and pen carriage; a second printed axis moves the paper bed along Y. Two NEMA 17 motors drive 0.5 mm low-stretch cord through printed capstans, and a small servo raises the pen.

The base is 326 × 400 × 12 mm and the bed is 240 × 190 × 6 mm. Measure the actual stock before CAM preparation. All printed motion and mounting parts fit a 200 × 200 mm printer.

Reference coordinates

Model units are millimetres, Z up. At the centre pose, the pen tip and paper surface are at Z100. The X rail centreline is Y53 Z130 and the Y rail centreline is X0 Z50. The base spans Z−2 to Z10. Four 8 mm feet sit beneath it. The X towers mount at X±150 and Y23/Y83; Y supports sit on 15 mm risers. Four 16 mm bed spacers preserve the paper height.

The pen travels X±100 and the bed travels Y±75. A positive physical bed movement produces a negative drawing displacement, so verify controller direction before setting the origin.

1 — plywood base and supports

Use the CNC preparation guide for the two panel DXFs, drill holes, bed recesses and CAM considerations. Secure the stock and machine the internal features before profiling the outside. Deburr the panels and verify their thickness and flatness.

Fit the four 8 mm printed feet below the base at X±150/Y±185. Mount the X towers directly on the board at X±150 and Y23/Y83. Place the 15 mm printed risers beneath the two Y end feet and the centre foot. Insert the captured M3 nuts before fitting the rail.

Allow eight M4×25 fastener sets for feet/towers, four M4×45 sets for Y end supports and two M4×50 sets for the centre support, with washers and nuts. Verify the actual stack and head clearance before tightening.

2 — rails and supports

Join each rail's two halves with the underside splice plate. The X rail spans 350 mm and is supported by two towers at a 130 mm rail-bottom height; the Y rail spans 320 mm at a 50 mm rail-bottom height. Keep recessed rail-screw heads below the running spine. Use the tower's side-access M3 nut pockets below the support cap; fit those nuts before attaching the rail.

The two Y end feet and the centre foot support the rail above the base. Each end foot has one short M3 rail fastener and one longer fastener through its column: use two M3×30 and two M3×45 in total, checking the actual washer/nut stack. Recess the centre-foot M4 heads into their counterbores so they clear the rail joiner. The plywood risers capture the longer M3 nuts before the feet are assembled.

3 — wheels and carriages

Each v_wheel takes two 625 bearings, separated by one bearing_inner_spacer. The spacer supports the inner races when tightening the axle. Fit one axle_spacer between each wheel and the carriage plate. Use M5 through-bolts, washers and locking nuts; do not clamp the outer race. The two fixed wheel positions have 5.3 mm holes. The opposite side takes eccentric_bush inserts with 0.6 mm offset. Rotate those bushes to remove rocking while retaining smooth movement. Test the carriage over the rail seam by hand before fitting the cord. Do not use a motor to force a binding carriage.

4 — motors, capstans and cord

Fit each NEMA 17 below its motor bracket and attach the printed capstan to the 5 mm shaft using a top-loaded M3 captured nut and headless M3×8 set screw. Insert the nut through the internal top channel before fitting the shaft. Keep the screw below the winding band; a protruding screw head can catch the cord. Check the actual shaft length and avoid bottoming screws in motor threads. At the far end, assemble the printed cord idler with two 625 bearings, the 1.8 mm inner-race spacer and its 3 mm lower support. Its M5 axle clamps the bearing inner races; the outer roller must remain free to turn.

Use 0.5 mm low-stretch braided cord; the model provides a 20 mm smooth winding surface. Anchor one end under a washer at the carriage's lower M3 post. Lead it to the motor-side tangent at local Z5.5, wind 3½ turns up the capstan to Z13, then run along the far side of the rail to the return idler. Pass halfway around that idler and return to the upper carriage anchor. Keep the wraps separated in one layer and preserve the two entry heights. The gold cord in our assembly STEP file shows the route; the editable STEP can also be inspected offline.

For each axis, use one M3×12 screw and one M3×20 screw with washers and nuts for the lower/upper cord anchors. Leave a tail rather than cutting the cord flush. Slide the slotted idler bracket to set light tension, then tighten it. Do not bend the printed rail with excessive tension. Turn the motor by hand through the entire stroke, watching for wrap migration, rubbing and loss of tension. Our smooth, single-capstan adaptation uses Urumbu's friction-drive principle; it does not copy the original dual-capstan geometry. Cord grip and repeatability need physical testing.

5 — plywood paper bed

Use the single 240 × 190 × 6 mm plywood panel. Fit four printed 16 mm spacers between the Y carriage and the panel at X±12/Y±16. Use the specified M3×30 bed fasteners and verify the actual stack. The four top recesses are 6.4 mm in diameter and 2.3 mm deep; the screw heads must remain below the paper surface.

Check that the mounted bed stays flat and clears the wheel hardware throughout its travel. Tape the paper securely. The 200 × 150 mm drawing region leaves a 20 mm border around the bed at the centre pose.

6 — pen slide and lift

Bolt pen_stage to the front pair of X-carriage holes. Slide pen_slider onto the two vertical dovetails and confirm it moves without twisting. The nominal guide clearance is 0.30 mm per indicated profile allowance; printer fit must be checked. Use a light pen around 10 mm diameter, adjusted with the split clamp's transverse M3 screw. The configured bore is 10.8 mm; change pen_diameter for another pen.

A side-mounted SG90-class servo is retained on the stage's platform using two cable ties. Its horn acts below the slider's pickup tab. Fit the actual servo and horn before fixing the working angles: manufacturer case/ear and spline details vary, and the model is an envelope. Set pen-down so gravity/light pen weight brings the tip into contact, not so the servo drives the pen hard against the paper. Set pen-up initially about 3–4 mm, increasing only as necessary. The CAD preview permits 6 mm. The horn coupling, sliding friction and tip height need a first physical fit check; no lift cycle or contact force is claimed.

7 — control and first motion

We use a XIAO RP2040 with grblHAL over USB, two external PUL/DIR stepper drivers and the PWM servo plugin for pen lift. The pin map, reproducible build instructions and power connections are in our wiring and control guide. Confirm the actual driver model before connecting 3.3 V GPIOs to its inputs; an interface circuit may be necessary.

Use a separate regulated 5 V servo supply with signal ground connected to XIAO GND. Remove the servo horn for first power-up, then calibrate pen-up/down positions with X/Y stationary. Verify current limits, pulse timing and motor-supply requirements from the selected drivers. Switch motor power off before changing motor connections.

Check 1–5 mm jogs with the pen removed and establish drawing coordinates; physical bed Y motion reverses drawing Y. Configure X/Y-only homing after checking both switches. Determine steps/mm from the actual drive and measured distance. Use our image-to-G-code tool to preview strokes and download a file for a grblHAL-compatible USB sender. Set the G54 origin at the drawing area's lower-left before running the file.

8 — commissioning

First check each axis by hand, then test a short jog with the pen removed. Verify the 200 x 150 mm envelope and endpoint clearance on the actual machine before enabling those limits. Test the pen lift without moving X/Y. Draw a 20 mm square and measure both sides and diagonals; then try a 100 mm line and a larger rectangle. Calibrate steps/mm from measured travel. Check repeat positioning, bed flatness and seam transitions. Keep the observations with the team documentation; do not infer physical accuracy or rigidity from the CAD model.

Files

build_cnc_option.py generates the plywood machine using the shared motion geometry module and parameters. Run python cad/build_cnc_option.py from the package folder.

Use the complete print quantities, hardware list, assembly STEP and assembly validation report. Shared individual parts are in stl/ and step/; mounting adapters and the panel designs are in cnc/. The assembly is a reference model, not a single printable part.