05.3 mini-project: working 3D form machine [Jacky Yip]

1. Abstract

The Wave Maker is a mechanism that generates bi-directional waves in water. The Wave Maker transforms a calm water surface into a dynamic environment that is be controlled by the user.

2. Video Sketch

In-class demo

3. How the Wave Maker works

Printer Head Mechanism

A wooden paddle is attached to the printer head, which transfers the printer head movement to the water and generates waves.


The user controls the speed and direction of the printer head with the potentiometer.

DC Motor (comes with the printer)

The DC motor provides the mechanical motion for the Wave Maker.


The H-Bridge allows the Arduino to switch the direction of the DC motor’s rotation.


The Arduino is programmed to read analog values from the potentiometer. The values are then converted into an PWM analog output (to control the speed) and two digital outputs to the H-Bridge (to control the direction).

4. Initial Design

The original idea was to create a “Marshmallow Catcher” to skewer up marshmallows on the surface. The idea is similar to a claw crane where the user controls the positioning of a claw above the surface (in this case, the skewer). Once the skewer is positioned, the user hits a button and the skewer quickly lowers in an attempt to pick up a marshmallow.

5. Challenges

Creating the claw crane mechanism

The skewer crane mechanism required the crane to be elevated from the ground and move on two axes. With minimal physical construction skills, I was concerned about the stability of such mechanism.  After a discussion with the TAs, I decided to experiment with a printer head mechanism to  provide an elevated one-axis movement instead.

Poking the Marshmallow

After getting the printer head mechanism to work properly, I started building the piston structure to convert rotary motion from a servo to linear motion. The servo would move the skewer up and down to pick up marshmallows. After much effort, I was not able to build a structure that was precise and sturdy enough to execute the vertical motion while withstanding the movement of the printer head. As a result, I pursued the approach of using a solenoid.

Powering the Solenoid

According to the data sheet, the solenoid could be powered with 12-24V. Therefore, I purchased a 12V 1.5A power supply to power the solenoid. However, after several attempts, the power supply could barely make the solenoid move half an inch.

Frying the Arduino

In addition, while trying to power the solenoid, I caused a short-circuit and the Arduino no longer functioned properly. When I tried to upload code, I got an error message saying “stk500_recv(): programmer is not responding”. It was after the fact that I discovered I accidentally inserted the ground lead from the power supply to the power line on the breadboard…

6. Codes

Arduino Sketch: JackyYip_3DFormMachine

7. Parts

printer head mechanism (comes with a DC motor)

9V or 12V DC power supply

H-bridge SN754410NE

transistor TIPS-120


switch (optional, to test your h-bridge circuit during development)

wooden stick, elastic bands, tape, floating candle, water, baking tray


8. How to build the Wave Maker

  1. Get an old/used printer and extract the printer head mechanism. Make sure the structure is stable enough so that it doesn’t move when the printer head is moving.
  2. Connect the DC motor leads to the breadboard. Test it with the external power supply.
  3. Follow this tutorial to connect the H-bridge. The H-bridge allows the DC motor to spin bi-directionally.
  4. Follow this tutorial to connect the transistor and control the speed of the DC motor with the potentiometer.
  5. Wrap tape around on end of the wooden stick to create the paddle surface. Attach the paddle to the printer head with elastic bands.
  6. Fill the tray with water. Place the decorations on the water surface, and voila!

Breadboard Diagram

Circuit Diagram

An example of the final circuit

9. Lessons Learned

Salvaging used electronics

It was easier than what I initially thought to take apart old electronics (e.g., printer, toy) and reappropriate them for Arduino projects. The advantage of using existing parts is that the parts usually come with structures and connectors that are well-built and ready-to-go (e.g., the housing and track for the printer head mechanism, the gears and shaft connection for a toy DC motor).

Providing the solenoid with higher power

As mentioned before, the 12V 1.5A power supply wasn’t enough to move the solenoid. A power supply with higher voltage (e.g., 18V, 24V) and/or higher amperage (e.g., 3A, 5A) is needed. A laptop adapter may be the perfect solution…

Preventing the Arduino from frying again

After frying the Arduino once, I need to pay closer attention to how every wire is connected to the breadboard. I also have to make sure that the power and ground leads don’t touch each other at any given time.

10. Future Improvements

Further work can be done to get the solenoid skewer mechanism working to turn the Wave Maker into the Marshmallow Catcher 🙂


~ by Jacky Yip on March 30, 2010.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: