Shortly after the start of this year, my chemistry teacher had informed me of a summer internship opportunity at Sonoma State University. I was eager to apply, and at the end of April, I was overjoyed to learn that I had been accepted into the SSU STEM Internship Program. Being one of my top choices for a project, I was selected to work with Dr. Farid Farahmand on “Programming Your Roomba.” With no experience in computer programming or electronics, I was eager to learn about this particular area of science and engineering.
The Project description read as follows: “Roomba is the first intelligent vacuum that uses robotic technology to clean floors. A unique feature of Roomba is that it can easily be hacked! In this project the intern will learn how to reprogram Roomba and convert it into an intelligent robot; drive the Roomba with a cell phone or use it as a musical instrument or plotter. Through this research project, the student will gain hands-on experience in robotics and wireless technologies.”
As aforementioned, the purpose of this project was to gain experience with robotic and wireless technologies; however, this project has provided me with much more than just experience in those fields.
I began work with Dr. Farahmand on June 9, 2010, and have worked steadily on the project since. The first weeks involved a quick overview of the project and mine as well as Farid’s expectations of what should be accomplished during the course of the summer. We began with lessons in computer technologies, wireless devices like Bluetooth, simple binary and hexadecimal codes, and basic communications systems. Once a firm foundation in these areas of knowledge was established, we moved into exploring the Roomba and its technology. From then on, I learned the fundamentals of computer programming and eventually created programs of my own to control the Roomba vacuum cleaner. As the project continued, we decided to design and build a functional arm to be placed on the Roomba, the most difficult part of the project.