TML 2020 #04: Developments in Control and Concepts

by fingerplayers

This journal is an entry in The Maker’s Lab journal series. Click here to read the previous entries.

Refining The Controller Of My Eye Mechanism

In September, I focused mainly on how the puppeteer will control the eye mechanism. There were three types of controllers that I looked into:

  • Keyboard Control
  • Use of CCPM Servo Consistency Master
  • Joystick control
Figure 1: Relationship between controller and servo motors on the eye mechanism

For the keyboard input, I used Processing 3, a software sketchbook, to send signals to the Arduino Board, which then triggers the eye movement. Processing 3 is a free to download and open source software that helps with programming. ( However, the disadvantage that came with this was the lack of subtle eye movement control (see Video 1). The eye movement is jerky.

Video 1: Eye mechanism movement using keyboard input

The Cyclic-Collective-Pitch-Mixing (CCPM) Servo Consistency Master, purchased from Taobao, resolves the issue of smooth movement but comes with its own set of disadvantages. The CCPM module is originally used to test servo motors for remote-controlled vehicles like helicopters, cars or boats, but seems to work well in the eye mechanism. However, because the CCPM module is connected directly to the servo motors, the servo motor controlling the up-down motion of the eye is controlled by one of the CCPM modules and the servo motor controlling the left-right motion of the eye is controlled by another module. This would be an issue for puppeteers as they would have more things to control.

Video 2: Eye mechanism movement using CCPM Servo Consistency Master

The joystick control solves the disadvantages of both controllers but I had difficulty figuring out the code – I modified an open source “joystick to servo motor” code. The joystick works on an X and Y axis. Because it was too sensitive, I feel that it was not as well-controlled as the servo consistency motor. (More explanation and a video later on in the post)

New Structures And Materials

With the additional of controls, I also had to tweak the up-down servo motors at the back. In the original design, the back motors were housed back to back. This causes the eye movement to turn in opposite directions (see Video 2 above). Using the same CCPM module, one eye ball was turning upwards while the other eye ball was turning downwards and vice-versa.

To resolve this, the back servos were reduced to one and its arms extended using metal strips. To increase its stability, two more metal strips were used and secured to a metal rod using epoxy putty. It took me several attempts to build a working design.

Figure 2: First attempt in creating the metal rods

The structure for the back servo motors was unstable and twisted in different ways when the servo motor was in action.

Figure 3: Close up of the unstable structure – I was lazy and used hot glue gun (please use epoxy, it’s worth the wait)

I then added two metal strips to hold the rod in place. I initially used fishing line to attach the metal strip to the servo motor arms but found that the fishing lines are starting to stretch, causing inaccuracy in the movement. It was later replaced by really thin stainless steel rope or ‘thread’ that was introduced to me by Silei, who is also a theatre designer and maker. (Thank you!). They were a lot sturdier and stronger, but the thinness allowed them to be flexible enough.

The size of the base plate was also reduced significantly. I placed the servo motors on the outside of the wooden base plate this time for better access to them. The reduction of materials used lightened the structure.

Figure 4: Newer and smaller base plate vs old and larger base plate
Figure 5: New and improved version with stainless steel lines
Figure 6: Current working prototype with the CCPM.

Video 3 and 4 shows the back and front of the current working prototype using the CCPM module. I learnt about the CCPM module through a Stan Winston Eye Tutorial. Although it had its limitations, I regret not finding it earlier because I had spent so much time figuring out the coding and did not know that this could be easily achieved with a pre-programmed CCPM.

Video 3 & 4: CCPM Modules attached to the servo motors in the new structure
Video 3 & 4: CCPM Modules attached to the servo motors in the new structure

While working on the joystick module, I found that I bought the 360º servo motor, which could not be used in this instance. The joystick triggers its 360º movement (See Video 5). I would say that the joystick module offers a much simpler control for the puppeteer and would be something I want to resolve.

Video 5: Joystick control attached to servo motors (Currently too sensitive and 360º servo motor spinning non-stop)

Designing The Exoskeleton Wearable

In the next part of my research on passive manipulation, I will be measuring the posture of the puppeteer. This was very much inspired by the structure of the exoskeleton, which reminded me of back braces and posture correctors.

Analogue + Digital

For the measuring device, my initial plan was to use both analogue and digital inputs. Feasibility aside, the measuring device (input) will be built onto the back brace and a circuit will be built to the back of the device.

Figure 7: One possible design of back wearable

There will be a circuit around each pulley connected to the Arduino (to receive signals). The pink-green line is made of stainless steel and secured to the left and right arms. The pink part indicates an insulator (built in to break the circuit). Each time the puppeteer moves their arm, the line closes the circuit in the pulley and sends a “1” to the Arduino and triggers a movement on the puppet. When the insulated part of the stainless steel line goes through the pulley and sends a “0”, the puppet movement will stop.

Figure 8: Another possible design of back wearable

The other alternative to this is the use of a 3-axis Accelerometer and Gyro Sensor to measure the posture of the puppeteer. When the reading is within a pre-programmed range, the Arduino then outputs the signal to the puppet and triggers some movements.


I have been having difficulty conceptualising on the second mechanism. I also found myself working on the eye mechanism a lot longer than I had expected. On hindsight, it was perhaps an excuse to avoid having to face the second part of this lab. My professor and the people around me often tell me that self-doubt is part and parcel of research, and that there will be light at the end of the tunnel. This isn’t related to The Maker’s Lab and my research, but I want to share this interview of Ira Glass (refer to his interview here from 00:00 to 02:05) on the creative gap. I always go back to listening to this whenever I have doubts. The entire interview on storytelling has 4 parts.

“..It takes a while, it’s gonna take you a while — it’s normal to take a while. And you just have to fight your way through that[.]”

Self-doubt does not discriminate and creeps into your life when you least expect it.

To quote the people around me, “There is light at the end of the tunnel!”

This article is a monthly reflection by Sim Xin Feng, the maker of our inaugural The Maker’s Lab as part of an ongoing 9-month experimental laboratory. The Maker’s Lab is curated and managed by Daniel Sim, a core team member of TFP. The ideas and reflections within the article are drawn from Xin Feng’s observations and discoveries as a maker, designer and researcher. Instead of being taken as conclusive, we hope that they serve to be a starting point for thought-provoking conversations and perhaps even debates. We would love to hear from you and can be reached at You can also share with your comments below.

If you wish to follow Xin Feng on her journey with The Maker’s Lab, click on the ‘Subscribe’ link below now!