We wanted to create a project from scratch that involved higher level software/programming to lower level hardware. The main goal was to make it as cool as we could while minimizing our use of APIs. It was a way to learn how to communicate with lower level hardware using higher level software and the different technologies in between to make it happen.
What it does
An multi-threaded Android app client has a 8x8 matrix that communicates with a multi-threaded python server that is able to transmit a 8x8 array that corresponds to the different bits that operate the way LED lights operate and sound coming from a Raspberry Pi. That array data is sent from the Android server to the Python server to operate the hardware on the circuit board.
How we built it
Our design began with an array of 555 timing chips set up in an astable oscillating mode with different capacitances and resistances in order to produce a range of frequencies that map into the 8 notes of a D scale. These frequencies were filtered and passed through bipolar junction transistors to allow them to be controlled by the Raspberry Pi, and the output of each transistor was sent to a summation junction. After summation, the combined signal was sent through an amplifier in order to maintain a stable current and sent through a low pass filter in order to reduce noise. The final signal was finally sent to an 8 ohm speaker for final output.
The way to operate it is by using a Android mobile app that acts as a multi-threaded client that serializes data into a JSON format to pass on into a multi-threaded python server that can interact with the hardware on the raspberry pi. we can change the order of the lights and all the different frequencies from the mobile app.
Challenges we ran into
The biggest challenge software side was making the data communicate between the different languages and how the data is formatted differently between them. A second big problem was finding out how to translate the hardware concepts to work with the higher level software.
Accomplishments that we're proud of
We are proud of it all! each one of us did something new and challenged ourselves with building something completely by scratch. We all learned something and now are more experienced because of it.
What we learned
We all learned new concepts for our majors. We are a team of electrical engineers and computer scientist. Together we combined both majors into a project and learned how to work together on different levels of computing.
What's next for SoundBytes
We plan on working together again for another hackathon!