Final Project: Arigeta Suminagashi Machine

Inspiration and Project Goal

For the final project, I collaborated with Rebecca Brand. 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.

Image
Image

Materials

  • Marbling Ink Kit
  • Rice paper
  • 2 x calligraphy brushes
  • Linear rail
  • Photo Flo
  • Acrylic panels
  • Acrylic weld
  • Syringe
  • 2 x NEMA 17 bipolar stepper motor + A4988 driver
  • 2 x micro servo motors
  • 2 x limit switches
  • Arduino Uno (later switched to ESP32)
  • Image

    Tools and techniques

  • 3D design and printing
  • Laser cutting
  • Microcontroller programmming (Arduino and ESP32)
  • Electronic input and output
  • Wireless networking (Firebase server)
  • Hand tools
  • CNC milling
  • Prototyping

    General experimentation

    During Week 9 & Week 10 assignments, we started experimenting with different ways to operate our machine, including a 3D-printed syringe dispenser and building out the x-axis of the 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.

    Experimenting with dispenser methods

    In Week 11, we experimented with suminagashi ink and tested dripping ink into water with a brush, syringe, and tube. We ultimately decided to stick with the traditional method and go with the brush.

    Image
    Image

    3D modelling 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.

    Image
    Servo motor holder, brush slider, brush holder
    Image

    Wood base

    We decided to create a wooden bavse 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.

    Image
    CNC process
    Image
    CNC result
    Image
    Eletronics fit perfectly!

    Water basin

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

    Image
    vacuum forming process
    Image
    vacuum forming result
    Image
    mini acyrlic box prototype

    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.

    Image
    Image
    Image

    Programming the motors

    X- and 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 coloured 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


    Image


    Image

    Image

    Bonus

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

    Image
    In case you were wondering why there was a frog on our web interface...
    Image
    I'll just leave this here.
    servo gone rogue...