For my mid-term project of Cooking with Sound. I built an brass tube instrument that control by Arduino.

First, I’m going to use brass tube to build a percussion instrument. After search online, here is the formula to calculate the length:

Length= 4*Speed/frequency   (For closed tube)

And refer the relationship between frequency and music pitch to calculate the length of tubes I need.

Here is the brass tube I cut.


Thanks Kylin a lot for helping me drill the tubes and box.


But, it turns out that those tubes generated much higher frequency than I expected. Maybe the material and wall thickness also plays an important role in generating sounds.

One more things, the closed tube can only generate 10 ~ 12 Hz lower frequency than a open tube. I thought maybe change a tape could make a difference.


But foam combine with tape could only lower 30Hz of frequency the tube will generate. ( I just trying to shorter the length of tubes for they generate such high frequency.) And maybe a closed tube means the same material to sealed one end.

So I have to test each tube and adjust the frequency one by one to make sure it generate right pitch.



Next step is to build box for tubes and servos. I am going to use servos to hit each tube.


At first, I thought using screws to stabilize pipes might help me produce a better sound and a more stable instrument that won’t shake to much. Each pipe is screwed into the bottom  of a box with servo mounted in the other end. The empty space in the right lower corner is used to place breadboard and Arduino. But they produced a dead sound that was low frequency and low volume.With this design, most vibration is absorbed by the box rather than being produced to sound. So we have to hang those tubes in order to get clear and beautiful sounds.


The conclusion was, we would have to hang those pipes. Using the material we got, we might simple tweaks in design. We drilled holes in the short side of the box and hang the pipes.


Servos were mounted in the bottom.


It sounded much better, but we had no room for Arduino and breadboard in the box. And the servos here are unstable. So I make a prototype to set servos.



And the 6 servos works well right now. Next step is to find a better box and drill the holes. Then hand all the tubes.



Measure the length of hit bars I need. Laser cut many length to test.


When I finally setup 9 servos here, I found most of my servo stop working. Looks like the problem came from power supply: the Arduino could only provide 1A current that could not power up all 9 servos. So I have to change the inside structure of servo box.


Here I’m using MicroDuino instead of Arduino for it’s small size that can fit the small space I left. And stick two 3.7V batteries and place them in the corner. Add a button to open and close the circuit.

Here comes the final product:


Leave a Reply

Your email address will not be published. Required fields are marked *