Electrical Design

The electrical component is what the user interacts with the most. It consists of an etch-a-sketch style plotter circuit and an array of button in the layout of a piano keyboard. The etch-a-sketch circuit is used to create the image that is responsible for the tone of the instrument, while the keyboard acts as a conventional piano keyboard.
Etch-a-Sketch Circuit
The incorporation of an Etch-a-Sketch style circuit into a synthesizer to influence the visual representation of sound on an oscilloscope was done to have an intuitive control for the user. Much like the nostalgic drawing toy, this circuit allows the player to actively control and shape the sound waves' visuals by manipulating knobs resembling an Etch-a-Sketch's dials.
Two potentiometers are connected to the Arduino, which then outputs the potentiometer values in serial to communicate with the computer. There is also a button to clear the existing visual and start a new one, which is also communicated through serial. The Arduino’s internal pull-up resistor is used for the button. You can learn more about the Arduino on Firmware Design.
Keyboard Multiplexer
In order to have a keyboard that is usable for the purposes of music, at least two octaves (24 individual notes) were deemed necessary. This was a challenge, as the Arduino we have does not have 24 pins that can be used for the keyboard circuit.
In order to solve this problem, a multiplexer circuit is used. The Arduino sends a signal to four columns of six switches sequentially. Thus, only one switch is active in a row of switches at a given time, and since there are six rows, six switches are active in total at once. Then, the arduino reads which row of switches are active for a particular column that is activated at that time. The sequential actiavtion of columns are done as quick as the arduino code executes, which is responsive enough for it to be played musically. As there are four rows and six columns, only ten pins are used in total, which makes it feasible to implement with an Arduino.
