2/24 - 3/1

A project log for Bot-thoven: A Robot Musician

Designing a Servo Motor Based Mallet System to Generate Musical Expression in Instrument Playing Robots

jason-pJason P. 04/12/2020 at 02:210 Comments


I will need to connect my servo-mallet systems to the PCA9685 servo driver.


I will connect the servo-mallet systems with the servo driver and run my Arduino code to verify that the system can strike the xylophone key at varying dynamics.


I have finished taking 15 out of 30 of my servo mallet systems and attaching it to the servo driver for testing. I was able to run my Arduino code successfully through the servos, allowing me now to have the ability to perform a 15-note range passage with musical expression.


For the upcoming weeks, I will need to continue connecting the rest of my servo-mallet systems to a servo driver whenever my second order for the PCA9685 arrives.

Problems Faced During Research

One problem I faced while pursuing my research was the use of zip-ties as a fastener between the servo head and xylophone mallet. While I initially believed that using zip-ties would be secure enough to attach the mallet to the servo motor, the zip-ties kept slipping off. To address this problem, I used rubber bands as an extra fastener for my second prototype of the servo-mallet system, which resulted in the mallet to stop slipping off of the servo horn and become much more secure. 

Another problem I faced while pursuing my research was integrating my work in the Robotics Lab with that of my partner David’s in the Computer Systems Lab. While we initially wanted to use computer vision to convert an image of sheet music into data for my robot to perform, we realized that this method may be too difficult to achieve within our timeline. Instead, we decided to take a more simple approach by using a MIDI file and converting it into data for my robot to perform.

A final obstacle I faced was the long delivery time for my parts to arrive. My order for the second PCA9685 servo driver, a part crucial to finish the next step in my project, has still not arrived yet. To address this problem, multiple orders of the servo driver have been placed in hopes that the part will arrive very soon.