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
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.
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.
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:
- 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.
- 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).
- Dip the left brush (loaded with colored ink) into the water.
- Move machine along the x-axis until the right brush is in the same position as where the left brush was previously.
- Dip the right brush (loaded with surfactant only) into the water.
- Move machine along the x-axis until it is back in its original position.
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 :)