top of page

MONET MACHINE

Project Overview

Monet Machine is a cartesian motion system with 2.5 degrees of freedom (DOF) that can take any image from the internet, outline the image, and paint inside the outline.

Skills and Tools:

  • Conceptual Design Sketches

  • Caliper Measurements

  • SolidWorks 3D CAD Models

  • 3D Printing

  • Part Assembly

  • G-Code Tool Path Generation

  • Arduino IDE (Open Loop Control)

  • MATLAB

IMG_2693_edited.png

Features and Specifications:

  • Dimensions: 319 × 319 × 153 mm (12.6 × 12.6 × 6 in.)

  • Painting area: 100 × 140 mm (4 × 5.5 in.)

  • Speed: Up to 5000 mm/s

  • Accuracy: ±0.002 mm

  • Colors: 3 paint + 1 marker

  • Input: JSCut G-code, MATLAB-modified

  • Controller: MKS board

Contents

Sep 2024

Nov 2024

Boston University

Electromechanical Design

Problem and Task

The goal of this project was to design and build a functional machine utilizing 2.5 degrees of freedom through a stepper motor and lead screw driven motion system. The machine needed to perform a repeatable, useful task while demonstrating controlled multi-axis movement and precise positional accuracy.


My Tasks:

  • Design and fabricate an end effector that can switch from the marker to the paint brush.

  • Implement ALL of the software and its workflow, from grabbing images online to allocating cartesian points based on the CAM tool pathing.

Constraints

  1. Motion was constrained to 2.5 DOF, requiring creative use of a shared axis rather than a fully independent third degree of freedom.

  2. 8020 aluminum extrusions were scavenged from the workshop, making their fixed lengths a primary driver of the machine's overall dimensions and painting area.

  3. The painting area was directly determined by the usable span of the extrusions after accounting for carriage travel and mechanical clearance.

Engineering Solutions

Mechanical

Structure

  • Built frame from five 8020 aluminum extrusions (254 mm / 10 in.) joined by L-brackets.

  • Tapped holes throughout for fully modular assembly and disassembly.

  • Designed for rigidity, reconfigurability, and rapid prototyping.


Linear Stage

  • Designed a 2.5 DOF motion system driven by four NEMA 17 stepper motors.

  • Used GT2 timing pulleys and belts for x, y, and z-axis motion.

  • Fabricated custom CAD-designed carriages, motor mounts, and support structures.

  • Integrated limit switches for automatic homing and positioning repeatability.


End Effector

  • Designed interchangeable brush and marker holders compatible with multiple tool sizes.

  • Built a rack-and-pinion mechanism for precise z-axis control.

  • Integrated angled T-rail supports for positional alignment during painting.

  • Secured tools with adjustable set screws for quick swaps.


Paint Reservoir & Painting Surface

  • 3D printed a reservoir holding up to three paint colors, mounted flush with the painting surface.

  • Modified a clipboard into a rigid, removable painting platform with a built-in clamping mechanism.


Iterations & Improvements

  • Redesigned belt inserts to improve GT2 retention and eliminate loose belt engagement.

  • Reduced T-rail friction through manual fitment adjustments and filing.

  • Eliminated rack-and-pinion skipping using adjustable preload screws.

  • Improved carriage durability by modifying 3D print orientation.

Electrical

MKS Board:

  • The board served as the central controller, connecting the four NEMA 17 stepper motors to the computer.

  • Motor drivers on the board regulated current and step signals to each stepper motor.

  • The computer transmitted G-code and run the motion control software.

Software

Inkscape:

  • Imported images for preprocessing.

  • Converted images into grayscale bitmap traces with 4 tonal regions.

  • Resized artwork to fit a 100 × 140 mm painting area.

  • Exported processed artwork as .svg vector files.


JSCut:

  • Imported .svg files for toolpath generation.

  • Generated separate toolpaths for marker outlines and paint layers.

  • Converted vector paths into machine-readable .gcode files.

  • Programmed coordinated stepper motor motion through generated G-Code.


MATLAB:

  • Developed scripts to automate G-Code post-processing.

  • Assigned toolpaths to specific paint colors and writing tools.

  • Added automated brush re-dipping motions to maintain paint consistency.

  • Generated finalized modified G-Code files for machine execution.


Repetier-Host:

  • Loaded finalized G-Code into the control interface.

  • Monitored machine operation during painting execution.

  • Executed automated painting routines through the motion control system.

Testing

  • Ran 9 full painting tests including the Patriots logo, Superman logo, a tree, and a car outline.

  • Conducted additional paint dip calibration tests during the design process to tune reservoir interaction.

  • Verified positional accuracy and repeatability across x, y, and z axes using limit switch homing.

  • Tested interchangeable tool holders with both brushes and markers across multiple tool sizes.

  • Found that highly detailed images exceeded Inkscape's ability to parse distinct tonal regions cleanly.

Results

The machine successfully painted two multi-color images, the Patriots logo in 4 minutes and the Superman logo in 7, producing recognizable output with accurate color placement along JSCut toolpaths. Across 9 full painting tests and additional calibration runs, the system demonstrated reliable multi-color switching across 3 paint colors and 1 marker.

  • Dimensions: 319 × 319 × 153 mm (12.6 × 12.6 × 6 in.)

  • Painting area: 100 × 140 mm (4 × 5.5 in.)

  • Speed: Up to 5000 mm/s

  • Accuracy: ±0.002 mm

  • Multi-color: 3 paint colors + 1 marker

  • Compatible with any photo

  • Input: JSCut G-code, MATLAB-modified

  • Controller: MKS board

Lessons Learned

  • Paint contamination between colors was the primary unresolved issue, causing residual paint on the brush mixed with subsequent colors after the first dip.

  • The image-to-G-code pipeline (Inkscape → JSCut → MATLAB) involved many manual steps; streamlining this workflow is a clear opportunity for future iterations.

  • Certain images are too detailed for Inkscape to segment accurately. Simpler, high-contrast images with distinct regions produce the best results.

  • The paintbrush picked up and deposited paint reliably, but its fixed thickness limited precision; a variable-width or finer brush would improve output quality.

  • A dedicated brush cleaning station or isolated reservoirs per color would eliminate cross-color contamination.

  • Designing adjustability in from the start (e.g. preload screws, print orientation) would reduce iteration time significantly.

Photos and Documentation

bottom of page