Inspiration
We wanted to create a musical instrument that could make a wide array of sounds, but that was also easy to use.
What it does
This instrument allows the user to control the tone, amplitude, envelope, and duration of a note by turning the dials.
How we built it
The project was prototyped on a breadboard. We discovered that the quality of the audio and electrical connections was lacking, so we decided to solder on perforated board (green) and breadboard-style protoboard (blue). We were able to make a compact design on the green protoboard, but the blue protoboard was faster because of the existing copper traces the connect pins with. An Arduino serves as the microcontroller and was programmed in C with Microchip Studio and avrdude.
Challenges we ran into
We also had to create an IO expander because the uno did not have enough IO ports for all of the encoders that we wanted to use. The breadboard connections weren't very reliable which caused many issues that weren't actually related to our design or code. Designing the circuitry for the encoders was also quite complex. A concussion and 2 covid isolations were also challenging.
Accomplishments that we're proud of
The final result is easy to use but can create loads of different sounds. You could replicate almost any sound wave with this. The envelope shape adjustments were particularly cool because it's still the same note, but they each sound different.
What we learned
We learned how to use the AY-3_8910 which required changing the port address and then writing to a variety of different registers. As an entirely foreign IC this took a lot of time reading the datasheet. We also learned how to build an audio amplifier, encoders, and an IO expander. Then we figured out how use I2C to communicate between these components.
What's next for BitBeat Sequencer
There are a lot of features that we have hardware built for but haven't implemented the software. We'd like to write to all three channels so they can each be playing a different note at the same time. We'd also like to build the 8-step cycle functionality so you can program an entire melody by adjusting each of 8 notes in the sequence (24 if all three channels are going at once).
Log in or sign up for Devpost to join the conversation.