Final Project: Arigeta Suminagashi Machine




Arigeta Web Interface 🚀

Inspiration and Project Goal

For the final project, I collaborated with Felicia Liang. We were inspired by the Japanese art of Suminagashi 墨流し, also known as “floating ink”. Suminagashi is the process of dripping ink carefully onto a still water surface, creating delicate swirls, and then absorbing the ink pattern by laying a sheet of white rice paper on top of the ink covered water to create a beautiful marbling effect. Our goal was to fabricate a drawing/inking machine that used input data to create a personalized marbling design. We also used many resources from this CNC Drawing machine tutorial.


Materials

  • Marbling Ink Kit
  • Rice Paper
  • Photo Flo
  • Sumi Paint Brushes (2)
  • Acrylic Panels
  • Acrylic Weld
  • Plywood Base
  • Linear Rail, Bearings, and Rods (2)
  • NEMA 17 Bipolar Stepper Motors (2)
  • A4988 Drivers (2)
  • Micro Servo Motors (2)
  • Limit Switches (2)
  • Arduino Uno & Wiring
  • ESP-32 Mini

Tools & Techniques

  • 3D Modeling & Printing
  • Microcontroller Programming (Arduino & ESP32)
  • Electronic Inputs & Outputs
  • Wireless Networking (Firebase)
  • CNC Milling
  • Hand Tools
  • Vacuum Forming

Prototypes

General Experimentation

During the Week 9 & Week 10 assignments, we started assembling parts of the suminagashi machine. Feel free to view the assignments for those weeks for more process details!

WEEK 9: CREATED A SYRINGE DISPENSER THAT IS CONTROLLED THROUGH A WEB INTERFACE.
WEEK 10: BUILT THE X-AXIS ARM OF THE SUMNINAGASHI MACHINE.

Dispenser Method Experimentation

During Week 11 & Week 12, we tested the "analog" suminagashi process to better understand the mechanical needs and limitations. We also finished constructing the brush holder and the y-axis of the machine, writing Arduino C++ code to move both axes synchronously.


3D Modeling and 3D Printing

We also modelled and 3D printed the servo motor holder, brush slider and the brush holder (which controls the height of the brush) components of the machine.

SERVO MOTOR HOLDER, BRUSH SLIDER, BRUSH HOLDER

Designing the Wood Base

We decided to create a wooden base to secure the machine components and water basin, as well as house the electronics. To do so, we milled a 1/2" pocket cut of a 3/4" thick piece of plywood to fit the dimensions of the water basin and the electronics.

CNC PROCESS
CNC RESULT
ELECTRONICS FIT PERFECTLY!

Designing the Water Basin

We experimented with vacuum forming and using acyrlic panels and weld solution to see which would would sturdier and water-tight.


The vacuum formed container was a bit too flimsy so we decided to go with the acrylic box, which was water-tight after the weld dried. We used the mini acrylic box to help determine the height we wanted for the full sized one. We laser cutted two sheets of acrylic and bound them together using the acrylic weld. The box ended up fitting perfectly into the base that we milled out which was incredibly satisfying.


Programming the Motors
X & Y Axes

Building on the x-axis from a few weeks ago, we programmed the stepper motor for the y-axis . The rods tilted a bit when the y-axis moved, so we secured the linear rail more and shortened the rods.

Z Axis

We also tested the z-axis - we put a micro servo into the servo holder at the back end of the y-axis. When the servo rotated, it would slide the brush holder up the brush slider.

Putting It All Together

Now it was time get the x, y, and z axes to move together and dip ink into water! We used classes to keep the code organized and to not have to rely on delays. Here is the pseudo code:

  1. When the machine turns on/resets, move the x-axis until the limit switch is pressed, then move the machine to the center of the linear rail.
  2. After the x-axis is zeroed, move the y-axis until the limit switch is pressed, then move the rods until it is centered (i.e., the brush slider & holder are in the center of the water basin).
  3. Dip the left brush (loaded with colored ink) into the water.
  4. Move machine along the x-axis until the right brush is in the same position as where the left brush was previously.
  5. Dip the right brush (loaded with surfactant only) into the water.
  6. Move machine along the x-axis until it is back in its original position.
We also wanted to connect the machine to a web interface so that you would be able to control the number of times the brush dipped into the water. To do so, we set up a Firebase server and instead of using the Arduino Uno as we had did the whole time, we swapped it for an ESP32 so that the machine could interface directly with the Firebase app.

Meet Arigeta: A Machine-Augmented Suminagashi Experience



Bonus Content

Did you really make a great project if you didn't have fun along the way? Here are some moments that amused us :)

IN CASE YOU WERE WONDERING WHY THERE WAS A FROG ON OUR WEB INTERFACE...
I'LL JUST LEAVE THIS HERE.
A SERVO GONE ROGUE...