Final Project Documentation – The Solar Snake Charmer

Project Idea:

  • My Final Project was based on the idea of the Snake Charming. I came up with that idea through research, as I wanted to create an interactive installation, in which humans can directly affect the output of the installation. The idea of snake charming went along that perfectly, as in real-life, a human snake charmer trained the snake for the show where he/ she directs snake how to move. This, in reality, resembles the master-slave relationship.
  • As this is a solar-panel based class, another relation that I drew with my idea and usage of solar-panels was directly recreating dependent relationship between the snake and the sun in nature. Through my research, I found out that snakes particularly like to tan in the sun, and when the sun is gone, they hide and patiently wait another day.
  • Thus, in my project, solar panels will pay the role of doing exactly that – control the “overall” life of the snake. In the same time, human (snake charmer) is able to control whether there will be solar panel “light” or not, and thus, able to control the direct movement of the snake, as the snake charmer in the real life is able to do.

Project Development:

  • I started by simply sketching what the solar snake should look like – it would be created using several linearly aligned paper cups in a row, followed by several motors out of which each one would be attached to each individual paper cup. This is how the sketch looked like (below):

Here is the further description of the sketch above in more detail:

  • There would be the total of five paper cups, connected with the fishing wire. Fishing wire in each cup, specifically located around the bottom of the next cup within the current cup, would be mounted using thick cardboard mounts, in order to restrict the movement of the cup it was mounted to. I designed this in a way so no cup would ever fall out from another cup.
  • Each servo motor was also connected with the cup using fishing wire. Servo motors would be placed within the laser-cut box, in order to be hidden from anyone who was interacting with the snake. The reason for that was to make it look less messy.

Ideation Process:

  • I started by asking the professor to help me find the mount (picture below) on which I could put the DC motors into, so the motors could be stable at all times. Professor also helped me in teaching me how to 3D print the mount, from the work on Tinkercad to Cura, which was a great learning experience, since it has been over a year and a half since I last 3D printed something.

  • I printed together six pieces of the DC motor mount, which took me about 5 days in total (considering the fact that many other students were using 3D printers and that 3D printers kept breaking down).
  • During that time, I started working on testing different types of cups (glossy walls paper cups, non-glossy walls paper cups, plastic cups, etc), and I decided to go with the glossy walls paper cups, as those have proven to be the most durable during different types of movement. The tests that I performed on cups was shaking them, throwing them and trying to crack them. These are the type of paper cups I decided to work with:

  • After the type of cups has been determined, I connect them by using the fishing wire and create the mounts within each cup. I encountered a bit of a problem when creating the cardboard mounts, as they were supposed to be glued on top of the fishing wire using a hot glue gun, which kept melting the fishing wire. However, by turning the hot glue gun on and off I was able to keep it at a temperature which was appropriate for gluing and not melting it.
  • Afterward, the motor mounts were printed, I placed the DC motors into them. This required a little bit of filing inside of the mounts, as at first they were too tight for the motor to stability be inserted.
  • Since I have decided to directly connect the solar panels with the DC motors, at first, that was a bit of a challenge, as in class, we always used a breadboard, capacitor, resistor, etc, in the process of doing so. However, after detailed research about it online, I managed to do so.
  • I created a spring using a straight metal wire in order to connect the mount with DC motor to the “cup” of the snake. After I did that for the each DC motor and the cup, I realized that by the movement that DC motor was creating, the spring would fall out, so I had to use the hot glue to both secure its position on the paper cup, as well as on with DC motor mount. This also greatly helped with the consistency of the cup movement.
  • One major problem that I encountered was that the 5V solar panel capacity was unable to support a single DC motor. What I mean by that is once the solar panel responsible for that specific motor would the covered, and then uncovered again, the motor itself had to be stimulated to move again. However, when I have put two 5V solar panels to a single motor, this would not be the case, but rather, when both solar panels were uncovered, the motor would start again by itself.

Future Improvements:

  • Plan early with things that are popular. Start using 3D printed much more ahead of time for finals, in order to avoid the hurry from other students who are also trying to use the printer as well. Also, this is a good idea, because when many students use 3D printers in a row, 3D printers tend to break down, which slows down everyone’s process, in order to get 3D printers fixed.
  • Sometimes, there are minor issues with the 3D print of the design which was initially put to be printed, so it is also important to print early, in order to have enough time to print several more prints in case if any of the prints are flawed (bad plastic, wholes in prints, etc).
  • Using the right materials. Use cotton string instead of the fishing wire, which tended to melt when I applied hot glue gun to it, in order to create the mount present within each cup. Going into the project, I haven’t given this too much thought, however, if I was to do it again, I would experiment and try different types of wires (fishing, cotton, flexible metal, etc) in order to find which one would be the most durable, flexible and convenient to work with later on in the process.
  • Scale your project right. Try out the solar panels prior to your determining how many paper cups, DC motors, etc, will be used in the project since solar panels themselves are the main source of energy charging the DC motors. Since these exact 5 Volts solar panels were used in class during one of our in-class labs, I remembered some of them not working correctly, however, I did not do a basic test before starting, which could have saved me a lot of time later on and would significantly improve my projects’ scalability calculations to start with.
  • Start small, then grow. I started determined to use all five paper cups, but I only ended up using three, because of solar panels out of which two were required to charge each DC motors, which summed down to only using three DC motors, and thus three paper cups.

Here is the link to my Final Presentation presented in class. The presentation contains specifically a more detailed description of materials that I have started with, switched during the process, and eventually ended up using in my final design.

Solar Contraptions: Final Project – Maya Wang, Professor Mikesell

Final Project Title: Solar Theremin

Maya Wang


I followed through with my original idea of adding solar panels to my NIME pitchmaker. I predicted that using solar panels to control the voltage that the 555 timers received would alter the pitch or volume of the pitchmaker, making it a kind of theremin.

Idea Documentation:


Circuit & Wiring:

I kept the component and circuit diagram from my previous NIME project, but I had to re-wire and connect the components again to make it neater and more secure. Now, instead of the 9-volt battery connection, I soldered solar panels in series and used that as the power source. The circuit was complete and worked, even though the solar energy only really controlled the pitch of the pitchmaker.

Circuit Housing:

I used foamcore to make the box that the circuit was housed in, so that it would look neat. I measured out the minimum length, width, and height of the circuit + speakers so that I would use as little material as possible. The box was fairly straightforward, and I only had to cut out a few pieces to fit the solar panel, breadboard, speakers, and potentiometer.


IMA Show:

Final Thoughts:

I made a functioning and interesting “instrument”, and even though it’s not complicated, I think the beauty of it lies in its simple design. It received a lot of attention during the IMA show, and people seemed to enjoy playing/experimenting with. I’m glad I was able to augment a project that I originally wanted to experiment further with.

Solar Contraptions Final Project: Freeform BEAMbots

Originally, my idea for the final project consisted of creating a sort of “Pummer Ecosystem” which constituted of a closed box or environment which contained various pummer freeform robots inside. The box would then have a small window or slider which could be opened by the user and used to cover the pummers’ solar panels, activating their light and sounds. In preparation for my first freeform bot I first recreated the pummer circuit on a breadboard to test my components, based on the following circuit diagram. As listed in a previous blog posting, doing this circuit took a little longer than a lab session, solely using the breadboard and with no freeforming involved.  This was a clear indication regarding the time commitment and patience involved in carrying out this project.

Image result for pummer circuit diagram

Before starting my freeform pummers, I looked at images of others’ pummers online to have a sense regarding the overall aesthetic of BEAM robots. I realized that a minimalist, reductionist approach was the most appealing, showing the circuitry and wiring behind the robot in an organized and clean fashion. These are some of my favorite pummers that served as inspiration for my own:

Helioform BEAM Robot

BEAM bot #1: Single LED Pummer with 3300uf capacitor & 2.5V Solar Panel

To start my pummer, I greatly depended on this tutorial posted on on building a flower-shaped pummer. This tutorial was extremely helpful in materializing the circuit diagram into a freeform robot, especially in soldering to the extremely fragile bicore (whose legs broke off really easily, adding to the difficulty of this task).

As I ventured into creating my first freeform pummer, I gradually started to realize the ambition of this project, especially in terms of the complexity of creating freeform robots that both work correctly and are visually appealing. It had been a year since I last worked in the area of physical computing, and I had no previous experience in freeforming. As such, the first iteration of my first pummer took about two full days to complete (with many sloppy soldering jobs in the process). For this pummer, I decided to use a 3300uf capacitor and a single red LED.

I started by focusing on the soldering and wiring correctly, rather than on the bot’s appearance.


Video link:

After ensuring that the components worked correctly, I proceeded to create the structural form. My main approach for this first pummer was to use the biggest component, the battery, as a base and attach the smaller components unto it. The following images demonstrate this process:

After creating the first pummer, although it was yet not in its fully polished state, I decided to limit the scale of my project. Given the amount of time to finish this (rather sloppy) version of a BEAMbot, I decided to instead make another pummer and an extra symet freeform circuit, focusing on their freeform quality – their appearance and functionality. Upon further consideration, I also realized that it was counterintuitive to create freeform pummers (which are so appealing due to their appearance) to then hide them in a dark box.

BEAM bot #2: Dual LED Pummer with 1000uf capacitor & 3V Solar Panel

As I was more familiar with the whole process, this second pummer took less time to complete and had better soldering. In contrast to the first robot, this one contained a 1000uf capacitor and had two LEDs instead. I was pleasantly surprised that the two LEDs and the buzzer all worked correctly, as it gave more personality to the robot.

BEAM bot #3: Flower Symet

Making  a symet for my last robot was a refreshing experience, especially as its circuit diagram is significantly less complicated than that of the pummer.

Image result for symet circuit diagram

Like with the pummers, I first tested out all my components in a breadboard before freeforming them to avoid additional time spent debugging the soldered components. For this robot, I based the initial soldering of the 3904 and 3906 chips on the Junkbots, Bugbots, and Bots on Wheels book. However, as my motor deferred from that used in the book, I instead found a 3D printed base on the junk shelf and used it to frame the rest of my circuit. As shown on the images below, I decided to follow the circular shape of the base and proceeded to do the power and ground sections following this same shape, with soldered transistors in the middle. For the stem of the flower, I found an already coiled piece of wire and placed the motor on top. Finally, as I wanted to minimize the amount of weight the motor had to move for the petals, I decided to use a thin wire and shape it in the form of two petals. After doing the other two robots, I felt very comfortable while freeforming this symet and creating the shapes as I desired instead of strictly following a tutorial or guidebook.

Polished robots:

After creating the first iterations of these robots, I then polished them by cutting unnecessary wires, shortening others, and adding colored tape or colored wire in certain parts of each robot. The following are the final outcomes for each robot:

“Scorpion” Pummer


“Frog” Pummer


“Flower” Pummer


Additional images of final BEAMbots: 

Reflection and possible improvements

Overall, although a different outcome from what I initially intended, I am really proud and satisfied with this project. I was very fixated with the idea of creating a “Pummer Ecosystem” in the beginning, but eventually realized I had underestimated the complicated and painstaking nature of freeforming circuits. Scaling my project down halfway was definitely a good choice, as it allowed me to have enough time to properly complete the three robots on time. Working on this project definitely developed my patience and cautiousness, especially as working with some of the circuits’ components (such as the bicore’s legs) required great care to work with. It also expanded my view on physical computing and BEAM robotics in contrast to the Arduino, as I was able to actually understand the use of components such as capacitors and transistors in a circuit rather than simply relying on code. The added nature of using solar panels to power such robots also added great value to these self-sustaining bots.

In terms of improvements, if I had more time and items, I would probably have liked to create more iterations of the previous robots to try to get to the sleek and minimalist appearance of the pummers that served as inspiration for my robots. 3D printing components or perhaps using the laser cutter as well would have helped in reaching that aesthetic as well. However, I am overall really satisfied with the current appearance of these BEAMbots and their “personality”.

Solar Contraptions: Final Documentation

For my final project, I have followed the original idea of creating an abstract drawing device powered by motors.

Original idea:

To design a simple robot that can draw or create something on a canvas. It can either carry a brush or pen which is dragged across the ‘canvas’, or use another medium like charcoal to create a trail. I’m not very good at drawing, but I love creating things and see a lot of beauty in abstract art. I don’t think this robot would need to be heavily programmed, but I would love for it to stay within certain bounds while drawing/creating.

Professor Mikesell provided me with a valuable resource partway through the project execution period, a kit made drawing device powered by two motors. This concept inspired me and thus I tailored the direction of my project moving forward to it. I intended to use the same materials provided in the kit, along with some of my own to modify it into something with two motors, one which controlled the spinning of the canvas, and another which controlled the movement of the pencil.  The two independent motors would be connected to independent solar panels, and thus throttling the light received by each results in a different movement and pattern.

I met a few challenges while attempting to achieve my final product, the main one being dysfunctional motors and solar panels. After designing several prototypes, I got stuck on the ‘testing’ phase due to the faulty motors and solar panels. Limited supply of both caused me to interchange materials and repeatedly do trial and error.

The additional motor and solar panel, powering the canvas can be seen on the left.

Given more time, I would stock up on the necessary materials and troubleshoot beforehand so as to make the project execution more seamless. It was quite simple for me to come up with the project, however, actualizing it was more complicated than I thought. I intend to spend more time analyzing the relationship between the motor  and the creation on the canvas.


Class 9 – Making the Magnet Pendulum

Assignment: Making the Magnet Pendulum

I found this lab one of the most entertaining ones that we did in class so far. This was because we used the pendulum as a part of our design. I also found it a bit easier to assemble the circuit, because it was fairly similar to the circuit we did in one of the previous projects, particularly “Building a Symmet on Breadboard” and “Making Miller Solar Engine”.

I started by placing the capacitors, resistors, LED and the remaining components on the breadboard. After that, I applied jumper wires. What I struggled the most was inserting the pendulum into the breadboard, as the wires from both of ends of pendulum were very tiny.

After that, I added the solar panel to the board itself.

At first, I had a bit trouble making the pendulum move correctly, however, I realized that my solar panel was not wired correctly to the breadboard, so I went and re-connected it. After, it worked well. Here is the link to it all.

Class 8 – Making Miller Solar Engine

Assignment: Make a Miller Solar Engine. This is a good documentation of BEAM circuits.

For this assignment, I started by examining the circuit below from our Textbook.

The most complex part of the circuit was connecting the appropriate elements (diode, two 2N objects, and the motor) in the correct order. In this project, the most challenging part was when the circuit was not working for a reason that I was unable to understand. After talking to a professor about all the possible reasons why it wasn’t working, which included changing the capacitor, solar panel, and the motor, we were still unable to make it work as desired. This is how the circuit produced in class looked like. And here is the video of it working.

A day after, I tried re-assembling the circuit in order to try to understand why it doesn’t work. However, even after taking everything apart and putting it back together, I couldn’t understand what was wrong with it. I hope that in the future, I am able to overcome this type of unexplainable problems and I practice making more circuits.

Class 8 – Making a Pummer

Assignment: Make a Pummer

For this class, our goal was to create a circuit which was used a pummer and would go off as the solar-powered was stored in one of the two batteries. I started by examining the circuit, which initially personally seemed a bit challenging, so, later on, I asked for the professor’s help. The primary reason for this is because as a part of the circuit that we were assembling, there was a long chip with more then 5 legs on each side, so it was a bit difficult for me to position it on the breadboard and use its correct legs to connect the right parts to its specific legs.

After assembling the circuit and putting all of its pieces in what I thought was the correct position from the diagram, I had to go back and “debug” my circuit design. This was specifically related to making sure that all of the jumper wires were actually stuck in their appropriate holes on the breadboard as well that all the wires were correctly connected like the circuit instructed for them to be.

Another important thing for this circuit that I learned when I was building it was that there were two ways of connecting the buzzer to the circuit – in serial and in parallel. Each of those two ways created a different noise. When I re-connected the buzzer in parallel, the noise emitted was very abrupt and loud, while, when the buzzer was re-connected in serial, the noise was much softer and not as loud. This is how it looked in the end.

Class 7 – Potential Resources Used in Final Project

Assignment:  Visit these websites and make a post to our blog about how you might use one of the mechanisms in a solar-powered object.


After carefully reviewing these resources, I have decided to potentially use gears in my design – the gears would potentially be attached to the bottom of the each of 5 pieces of the snake to assist with the contraction movement created by the servo motors. However, I will not promise to use this, as, during the trial and error testing phase of my project, I might potentially find a more suitable mechanism to use.

Class 7 – Dissecting solar toys and Building the Symet on a bread board

Lab 2 Assignment: Document dissecting solar toys and Building the Symet on a breadboard.

I started this assignment by examining the schematic (below).

The circuit consisted of the solar cell, three power storage capacitors, motor, resistor, two 2N-particles, and a flashing LED. On the first sight, the circuit did not seem very complex, however, later on, I had a bit trouble making it work.

The power storage capacitors did not have to be of equal sizes, in order for a circuit to work. However, I only found that out later in the process of assembling the circuit, so initially, I placed three equally-sized capacitors. After the professor’s explanation, I found it more suitable to place biggest, middle-sized, and small capacitor on the breadboard, because, in this way, it saved the area for other components.

The complexity of assembling the circuit correctly increased around the area where LED, transistor, and 2N-components share the area on the breadboard. This was primarily because I struggled where I need to put the two 2N-components, as I had a hard time reading the numbers which differentiated the two on the component itself. Thus, I initially ended up positioning them wrong, so I had to switch them up.

This is how the final circuit looked like this:

Class 5 – Initial Draft of the Final Project Idea

Assignment: Prepare to present initial draft final project ideas.

For an Initial Idea of the Final Presentation, I primarily thought of doing a Snake Charming Project, which has been done before, however, I decided to modify the idea a bit. This project would belong to the category of an interactive installation and would signify how the snake is dependent on the source of life – the sun. Similarly, how it is in nature, the snake cannot live without sun, in my project, if any of the individual solar panels will be covered, the part of the snake controlled by that solar panel will stop working, signifying that same relationship present in nature.

Project Components & Description:

  • I would initially start by assembling the snake. For this, I have thought of several materials, some of which were light plastic, paper, and fabric, however, I decided to go with glossy, polished paper, which is durable, does not break easily and can withstand weight being attached to it, without losing shape. I would cut parts of the cup of different sizes in the diameter, and I would start by having 5 such parts in total.
  • One of the main reasons why I also choose to work with glossy, polished paper was so it could have small plastic servo motors attached to it with a longer see-through wire. Each motor will do a front-back contraction, which will eventually result in movement of the snake. However, ordering motors is a bit tricky because I have to pay attention to motor-to-solar pannel compatibility.
  • Next, I would need small solar-powered panels to be directly attached to each motor. I made the decision to do that so that each servo motor could be controlled with its own solar panel in terms of how it will move – when the solar panel is covered by someone’s hand, that part of the snake will not move, while others will, and vice versa. In this way, the user will get a feeling as they are a charming part of the snake not to move on their command.

Here is the draft that I made for the project.

The picture shows that the servo motors will be placed in a laser-cut box, and the solar panels will be outside of the box, looking like a form of a button, which is not to be pressed but to be covered in order to make the responsible motor move, or better to say, stop moving.

Following Steps in the Project:

  • Talk to a professor and ask for help in determining the compatibility of motors with the solar panels, while keeping in mind that motors need to be small and plastic so it could be easily attached to the paper cup.
  • Considering whether I want to involve Arduino board or not into the project.