HARDWAREPARTPICKER

CoreXY Pen Plotter with an Automatic Five-Tool Changer

A compact five-tool pen plotter with an automatic toolchanger, kinematic tool coupling, RFID-stored tool offsets, and self-calibrating XYZ alignment.

Gallery
GallerySee full build on Blueprint

Overview

This is a small desktop pen plotter that swaps its own pens. Five lightweight tools sit in a row of docks along the back of the machine; the toolhead drives up to a dock, engages a rotating key, lifts the tool off its cradle, and carries on drawing. Each tool carries an RFID tag holding its own XYZ offset and identifier, so the machine knows where the nib actually is the moment it picks the tool up. The result is multi-pen artwork — line weights from 0.03 mm to 0.7 mm, text down to about 1.5 mm tall — without a human standing by to change pens and re-zero between colors.

The approach is deliberately salvage-first. The motion platform is a CoreXY frame built around ground rods, linear bearings, belts, idlers and stepper motors reclaimed from a retired FDM 3D printer, with an 8-bit controller board and a single-board host running standard motion-control firmware. Everything structural is 3D printed. What makes it interesting is not the gantry but the coupling: a three-point kinematic mount, actuated by a very low-torque miniature linear stepper turning a key through a rack and gear. Because the motor can barely produce any torque, repeatability has to come from geometry and low friction rather than clamping force — which drives most of the design decisions downstream.

The finished machine plots on A5 paper held flat by a magnetic bed. A removable calibration bed swaps in over the same magnetic mount: a resistive touch panel that the toolhead probes directly, letting the machine measure each tool’s XY and Z offset against a reference pen and write the result back to that tool’s tag. Docking and undocking are reliable enough for unattended multi-tool plots, and dock presence switches confirm every pick and place.

Render

Parts

This parts table is seeded from the Blueprint project.

Part function Canonical name Qty Type Size Est. cost
Optional Force-Sensor Array Interlink FSR 400 8x4 Sensor Array 1 Sensor 80x40x1mm $240.00
Klipper Host Raspberry Pi 4 Model B 1 Controller 85x56x17mm $60.00
Bed Mesh Probe Antclabs BLTouch 1 Sensor 37x18x12mm $40.00
Main Motion Controller Melzi V2.0 ATmega1284P Controller 1 Controller 210x50x15mm $32.00
Main Regulated Supply Mean Well LRS-150-12 1 Power 159x97x30mm $30.00
Optional Dock-Centering Sensor ST VL53L5CX Time-of-Flight Sensor Breakout 1 Sensor 25x18x5mm $25.00
Tool RFID Reader USB RFID Reader Module (frequency matched to tool tags) 1 Sensor 104x68x12mm $25.00
Tool-Lock Actuator Miniature Captive Linear Stepper Motor 1 Actuator 15x15x35mm $24.00
Five-Volt Axis Supply Pololu D24V50F5 5V Step-Down Regulator 1 Power 26x18x9mm $20.00
Toolhead Z Motor NEMA 8 Bipolar Stepper Motor 1 Actuator 20x20x30mm $19.00
A5 Magnetic Paper Bed Flexible Magnetic Build Plate 1 Structural 240x180x3mm $18.00
Paper Bed Support Plate 6061 Aluminum Sheet 1 Structural 250x190x3mm $18.00
Touch-Bed USB Controller ESP32-2432S028R 2.8-inch Cheap Yellow Display Board 1 Controller 86x50x14mm $18.00
CoreXY A Motor NEMA 17 Bipolar Stepper Motor 1 Actuator 42x42x40mm $14.00
CoreXY B Motor NEMA 17 Bipolar Stepper Motor 1 Actuator 42x42x40mm $14.00
Controller (Optional Touch ADC, Optional FSR ADC, Optional Sensor-Bed Power) Raspberry Pi Pico RP2040 3 Controller 51x21x4mm $12.00
CoreXY Idler Set GT2 20-Tooth Smooth Idler Pulley, 3 mm Bore 8 Mechanism 18x18x9mm $12.00
Toolhead Cable Chain 10x10 mm Openable Drag Chain 1 Mechanism 500x18x15mm $12.00
Lock PTFE Lubricant Super Lube PTFE Dry Film Lubricant 1 Misc 150x45x45mm $10.00
Dock Switch Expander Adafruit MCP23017 I2C GPIO Expander Breakout 5346 1 Module 51x25x5mm $9.00
Left 8 mm Frame Rod Hardened Chrome Linear Shaft 1 Structural 360x8x8mm $9.00
Right 8 mm Frame Rod Hardened Chrome Linear Shaft 1 Structural 360x8x8mm $9.00
Calibration Touch Surface 2.8-inch 4-Wire Resistive Touch Panel 1 Sensor 70x50x1mm $8.00
Removable Panel Connector Magnetic Pogo-Pin Connector 1 Module 20x8x4mm $8.00
Tool Pogo Interface Mill-Max Spring-Loaded Pogo Contact Set 1 Module 12x8x10mm $8.00
RFID Tag (Tool 1, Tool 2, Tool 3, Reference Tool T4, Tool 5) Rewritable Passive RFID Tag 5 Module 25x25x1mm $7.50
Front 6 mm Y Guide Hardened Chrome Linear Shaft 1 Mechanism 260x6x6mm $7.00
Rear 6 mm Y Guide Hardened Chrome Linear Shaft 1 Mechanism 260x6x6mm $7.00
Switch (X Homing, Y Homing, Dock 1 Presence, Dock 2 Presence, Dock 3 Presence, Dock 4 Presence, Dock 5 Presence) KW12-3 Lever Microswitch 7 Sensor 20x10x6mm $7.00
Z Screw Coupler 3 mm to 3 mm Flexible Shaft Coupler 1 Mechanism 20x12x12mm $6.00
CoreXY Belt A GT2 Open Timing Belt 6 mm 1 Mechanism 1200x6x1.4mm $5.00
CoreXY Belt B GT2 Open Timing Belt 6 mm 1 Mechanism 1200x6x1.4mm $5.00
M3 Assembly Screws M3 Socket-Head Machine Screws 60 Misc M3x12mm $4.80
M3 Heat-Set Inserts M3 Brass Heat-Set Threaded Inserts 32 Misc M3x5mm $3.84
Front Toolhead Bearing LM6UU Linear Bearing 1 Mechanism 19x12x12mm $2.00
Left Frame Bearing LM8UU Linear Bearing 1 Mechanism 24x15x15mm $2.00
Rear Toolhead Bearing LM6UU Linear Bearing 1 Mechanism 19x12x12mm $2.00
Resistive Touch Controller XPT2046 Touch Controller 1 Sensor 7x5x1mm $2.00
Right Frame Bearing LM8UU Linear Bearing 1 Mechanism 24x15x15mm $2.00
Kinematic Contact Screws M3 Stainless Cup-Point Set Screw 3 Misc M3x12mm $0.54
M3 Z Lead Screw M3 Fully Threaded Socket-Head Screw 1 Mechanism M3x35mm $0.25
BLTouch Probe OR Transistor 2N3904 NPN Transistor 1 Module 5x5x5mm $0.15
Touch Probe OR Transistor 2N3904 NPN Transistor 1 Module 5x5x5mm $0.15
Z Lead Nut M3 Hex Nut 1 Misc M3x2.4mm $0.05

Estimated total for the modeled parts: $758.28.

How It Works

Motion is CoreXY: two fixed steppers drive a pair of 6 mm belts so the toolhead moves in X and Y with no motor mass riding on the gantry. The Z axis lives on the toolhead itself — a small stepper turns an M3 screw against a captive nut to raise and lower the tool. Because the screw sits on one side of the rider, the carriage is guided by a triangular slide layout borrowed from optical-drive mechanisms; without it, the rider tilts and jams. That axis runs at roughly 0.03 mm per rotation with microstepping disabled, since the 8-bit controller cannot generate steps fast enough to drive it microstepped. It is slower than a belted Z but backlash-free, and pen up/down/travel are just three fixed heights (about 0.2 mm, 5 mm, and 7 mm) issued through an overridden move macro.

Tool docking is a three-point kinematic coupling: three cup-point set screws on the tool seat into matching features on the carriage, and a rotating key — turned by a rack-and-pinion off a tiny captive linear stepper — pulls them together. The actuator’s torque is very low, so the whole machine has to be tight and smooth for the coupling to seat: slack belts alone were enough to make docking unreliable, which is why belt tension is taken up by a small printed tensioner at the toolhead with captive clip tracks. A dry PTFE film on the lock mechanism made a noticeable difference. A lever microswitch under each cradle reports whether a tool is present, so the firmware can tell a successful pick from a failed one, and a manual recovery wheel and levers let you move the axes by hand when things go wrong.

Tool identity and calibration ride on RFID. A USB reader at a fixed read station on the frame scans the tag on the docked tool; a firmware extension runs a shell helper, returns the XYZ offset and tool name in a delimited string, stores them as saved variables, and applies them with a gcode offset. Offsets are applied selectively — only moves tagged as drawing or travel get the offset, so physical operations like docking and tag reading always run in true machine coordinates. Offsets are measured by probing: the removable resistive touch panel emits a short 3.3 V pulse on touch, which is OR’d with the Z probe’s signal through a pair of NPN transistors into a single probe endstop input, so bed meshing and probing work unchanged whichever sensor fires. The machine meshes the panel and the paper, probes a reference tool at several sample points, then probes each remaining tool at points from that set and subtracts to get its XYZ offset before writing it back to the tag. Measured repeatability is around 0.2 mm, which is adequate for 0.5 mm pens.

Gallery

Build Steps

  1. Print and prepare the parts. Print the frame brackets and motor mounts, the toolhead carriage and belt tensioner with its clip tracks, the kinematic coupling and lock mechanism, the dock rail with five cradles and switch brackets, the pen bodies, and the electronics and calibration-bed housings. Print the tensioner body at an angle so the small screw holes get some layer strength, and chamfer the clip tracks so tensioned belt clips can be inserted. Install roughly 32 M3 heat-set inserts, then deburr everything and test-fit the rods and bearings before assembly.

  2. Build the frame and CoreXY motion. Square the corner brackets onto the aluminum base plate and fit the two 8 mm frame rods, then the 6 mm Y guides, bearings and toolhead carriage. Mount the two motors and eight idlers, route both belts, and tension them at the toolhead backpack. Do not treat tension as a detail — loose belts are the single most common cause of docking failures later, and an inline moving tensioner is a bad idea here because it wears the belt.

  3. Assemble the Z lift and tool lock. Fix the M3 screw to its bracket with a nut and thread-locker, couple it to the Z motor, and fit the triangular rider so it stays level across its travel. Install the three cup-point contact screws on the coupling, then the linear lock actuator, rack, gear and rotating key. Apply dry PTFE film to the lock. Confirm by hand that the key rotates freely and that the coupling seats without the motor having to fight anything.

  4. Wire power, motors and sensors. Bring in mains safely to the 12 V supply, feed the 5 V step-down regulator from it, and supply the host and the two modified 5 V axis rails. Build four labeled stepper harnesses. Wire the X and Y homing switches to the controller endstops and the five dock switches to the I2C expander on the host. Build the two-transistor OR gate combining the touch-panel pulse and the Z probe into the single probe endstop input, and check it fires on either source before powering the motors. Route the moving harnesses through the drag chain with strain relief at both ends.

  5. Bring up the electronics under current limit. Verify the 12 V, 5 V and 3.3 V rails before connecting anything expensive. Flash the motion firmware and confirm USB communication with the controller. Check stepper phase order and direction at conservative current limits, then test homing and fail-safe switch states, scan the I2C bus for the expander and toggle all five dock inputs, and confirm the RFID reader identifies each of the five tags.

  6. Install the beds, docks and tools. Fit the magnetic A5 paper bed, mount the adjustable dock rail with its five cradles, and add the dock switches. Assemble the pen bodies with adjustable collets and fit their RFID tags — recess the tag, and shape the cradle around where the chip sits, or the tool holder will rub the tag apart over repeated docking cycles. Mount the electronics enclosures, the fixed RFID read station, the Z probe on the toolhead, and the removable touch panel on its magnetic pogo connector.

  7. Calibrate the machine. Set the Z rotation distance (around 0.03 mm/rotation with microstepping off), tune the dock approach coordinates, and mesh both the touch panel and the paper area with the Z probe. Then run the tool calibration cycle: pick the reference pen, probe the panel at three locations to get the transform, collect the sample set, and for each remaining tool probe, subtract, and write the XYZ offset to its tag. Roughly ten units of touch-panel displacement corresponds to 1–2 mm of toolhead movement — useful when sanity-checking the transform.

  8. Verify with a real plot. Have each tool draw a segment of a continuous alignment line and inspect the joins by eye; misalignment shows up immediately as a step. Then run a full multi-tool plot end to end, watching that every pick and place is confirmed by the dock switches.

See the complete build steps in Blueprint.

Gallery

Notes

The central tradeoff is torque versus mass. The locking actuator is genuinely weak, which limits this design to lightweight tools but also forces the precision that makes it work — every source of wobble, friction or belt slack shows up directly as a failed dock. Expect to chase that: a month of intermittent docking trouble traced back to belt tension, not to the coupling geometry. The electrical tool interface is the weakest part as built. Three contacts (VCC, GND, and one GPIO) are carried through the coupling screws, but contact resistance through the screws is too high to be useful; spring pins are the better path. Spring pins bring their own problem — they inject noise, and leaving them permanently powered is unwise, so gate their supply on detecting that the bed or tool is actually present. Treat the shell-execution hook used for RFID reads as a real security caveat: any gcode you run can invoke it, so only plot files you trust.

Worthwhile refinements: recess the RFID tags inside the tool bodies from the start rather than surface-mounting them, since retrofitting after printing twenty tools is unappealing. A force-sensor array can push XY alignment past what the resistive panel gives, though 0.2 mm was already sufficient for 0.5 mm pens and the panel handles Z well. A time-of-flight ranging module looked viable for automatically finding dock center parameters — a tedious manual process — but needed shape changes or retroreflective patches on the holders to be dependable, and was set aside. Add a screen protector layer over the touch panel and rotate probe locations to spread wear. Finally, if you want more than five tools, add extra tool entries in the slicer and insert a pause on the transition so you can swap the physical set by hand.