As I have longed to create an analog synthesizer for quite awhile, I chose to build one for my final project, where it is comprised of two triangle oscillators and a low pass filter. It is playable through the utilization of potentiometers, where they control the oscillator frequency, oscillator amplitude, filter cutoff frequency, filter resonance, and system output. Perhaps the closest representation to this build are the Eurorack 500 series synthesizer modules. Though, my intent with this project is to have it fabricated in a tabletop fashion, typical to synthesizer keyboards.
Regarding inner components, the oscillator and filter circuits will be contained within a 2" x 3.3" PCB. While the enclosure has yet to be fully realized, I will be utilizing the remainder of this semester to design it within Vectorworks. I will attempt to maintain a minial aesthetic, similar to my initial rendering. The material will solely consist of oak, pertaining to both enclosure and knobs. Additionally, labels will not be present, as I intend to promote the exploration of the instrument.
The circuits were designed around ALFA RPAR's AS3340 and AS3320 ICs; the former is a voltage control oscillator and the latter is a voltage control filter. The utilized resistors and capacitors for the AS3340 were handled in accordance with the manufacturer's technical document. Regarding the AS3320, the design mirrored an older CEM3320 (original IC) low pass design. It must be noted that the amplifier module for the system output will not be included in the final design, as it was only utilized for demonstrative purposes. However, the potentiometer for this output will be included in the project.
Regarding the construction of the prototype, I began with individually building each oscillator and filter within breadboards, followed with breadboards for the the filter's potentiometers and system output. As I had not built an analog synthesizer before, separating each component allowed for an efficient means of troubleshooting within the building process.
Upon verifying the functionality of each component, the project was rebuilt with the utilization of perf boards. The primary reason for this choice pertained to the excessive noise that was generated during the breadboard process.
It must be noted that sockets were utilized within this final prototype, as they provided a means of ensuring the safety of the ICs during the soldering process. Furthermore, these ICs can be easily removed if the ICs become a necessity for another project. Additionally, smaller sockets were cut in half and utilized for establishing connections between the circuits. While this approach provided a quick means of troubleshooting for the final prototype, they also acted as a means of modularizing the components for circuit exchanging.
Regarding power, the utilized ICs required both negative and positive (15v) voltage for functionality; hence, two power supplies were required. An additional power supply (via Arduino) was also necessary for this work, as the control voltages and system output amplifier required a smaller voltage source (5v and 3.3v).
It must be noted that this process granted a further appreciation in prototyping circuits for audio, as distortion and noise plagued the system within the initial breadboard build. Additionally, the safe handling of ICs within this process also became more critical throughout the work, as it appears that I damaged one oscillator IC and one filter IC. I am currently under the impression that this damage was caused through either improper cicuit connections or power handling (on/off).
As mentioned within the introduction, the design of my PCB is rather small with its 2" x 3.3" dimensions. This design choice was made for flexibility in the creation of the enclosure and potentiometer holder. With that said, creating this small profile took a great amount of time, especially since I intially intended to design it without vias. However, under the guidance of my instructor, I forgoed this notion and utilized the other side of the board. This alteration then allowed further flexibility in the design, therebye allowing for a smaller profile.
Regarding components, capacitors, resistors, ICs, and connection points solely exist with the PCB. All other elements, such as the potentiometers and power supplies, will be connected after the PCB has been fastened within the enclosure.
The following links contain the Eagle files for my PCB design:
When the ITP facilities reopen, I am intending to utilize a CNC for the enclosure and knobs. Additionally, I am highly considering the creation of a through hole design for my PCB. While SMDs can grant a smaller profile, I am curious how small I can create my PCB in this alternate manner.
It must be noted that I have not solidified the power connectors for my project. While the current setup can be functional with the input points, I would like to investigate other options for a more secure power connection.
Lastly, I am also planning to investigate spring reverb and distortion designs. As the current audio capabilities of this project are somewhat limited, it would be nice to allow the user to further alter the generated signals.
The first draft of my Eagle schematic has been completed for my final PCB design. The following downloadable links pertain to this project:
The following prototype was designed in accordance to Week 6's final project presentation. It must be noted that there were some slight adjustments to the power supply. I'm under the impression that the utilization of breadboards within this setup are causing powering issues, in addition to extra noise.
I'm intending to transfer the circuit components to perfboards within the near future.
Other (prototyping purposes)
For this week, we students were tasked to create a prototype of our final project. While I intended to finish this assignment, I ran into technical issues due to the nature of the project.
Specifically, supplying power to my synthesizer has been challenging throughout my process. For the utilized integrated circuits (osc and filter), negative voltage (-15v), positive voltage (+15v), and ground needed to be properly handled for functionality purposes. Furthemore, I'm finding that managing these feeds is essential within the troubleshooting area.
I'm currently under the impression that amperage drops within the breadboard connections might be the cause of this issue, as a slight increase from 5 milliamps to 8 milliamps in one of the power supplies (-) resolved the connection between the single oscillator module's output and filter module's input.
In a related matter, I carelessly overlooked the final output of the system, where a direct connection to my headphones dropped the supplied power, causing the setup to not function. An additional discrete 5v supply from an arduino, utilized in conjuction with an audio amplifier, resolved the issue. It must be noted that this 5v supply was also utilized for the oscillator's frequency control voltage.
The following video displays the current setup:
By the end of next week, I'm hoping to add the additional oscillator, implement the summing amplifier (oscillator summing) via op amp, and source the additional 5v from the main power supply. I'm under the impression that the additional oscillator might be the biggest hurdle due to the power issue. If I'm unable to implement this component within the system, I'm intending to replace it with another synthesizer component, possibly pertaining to the manipulation of the first oscillator's control voltage.
As our class has temporarily become online only, we students were asked to submit a video presentation regarding our proposed final project.
Slides per request:
For class, we students recieved information pertaining to basic electronics, pertaining to the theory and components. Additionally, we were instructed to begin brainstorming ideas for our final project. We students will present our ideas in the following class.
For our fourth week of class, we students were tasked to complete our individual letters for the class marquee sign project. As we students had finished the design of our circuit and board layout, milling the circuit board, soldering the components, and uploading the code were on the plate.
Regarding project files, the following download links contain the finalized elements:
As the virtual design of my letter had been completed the prior week, I began the remainder of this project with the OtherMill. Upon interfacing my laptop with the mill, I set the appropriate parameters for the process, entailing board dimensions, bit selection, and base plate configuration. Thereafter, the milling commenced.
After finishing my letter and discussing the process with a fellow classmate, I unfortunately designed the wrong letter. Hence, it was necessary to redesign the circuit for the proper letter. Upon finishing the redesign, milling commenced... again.
After beep-testing the circuit for proper continuity, I began gathering the surface mountable components and solder paste for board application.
Upon attempting to apply the paste with a thumb tack, I began having difficulty regarding the proper placement on the solder locations. This was due to the small form of the circuit board. To alleviate this situation, I decided to utilize the provided stensil instructions.
After finishing the stensil, solder paste was applied to the board. Thereafter, all components were added to the piece with a pair of tweezers. Upon finishing this step, the board was placed on the coffee mug heater for a couple minutes, followed with the utilization of a heat gun (260 degrees) to melt the solder.
Upon confirming the proper installation of the soldered components with beep testing, I began the programming process with a ATTiny85 and mirrored circuit board layout within a breadboard.
After finalizing the programming, solid core wires were soldered to the circuit board for both the ATTiny85 and capacitive sensor. Thereafter, the the former's wires were connected to an Arduino UNO for bootloader flashing, followed with the microcontroller programming.
Upon successfully loading the program to the ATTiny85, I tested the sensor (capacitive sensor) for the animation triggering.
While the sensor's exposed wire provided a means interacting with the controller, the weight and physical handling of this wire caused the copper trace to lift off the board. Unfortunately, I was forced to remove this wire, as I did not care to further damage the board. However, it must be noted that the sensor still works through the touching of the leftover solder.
While I was primarily content with my first attempt at designing a circuit board, the unfortunate, mentioned sensor issue at the end of this project caused a slight damper. With that said, any future iterations of this work will be handled in a manner where this sensor is designed with a strong, stable characteristic.
Within our third week of class, we students were introduced and granted instruction pertaining to the PCB design software Eagle. Futhermore, we began the creation of our circuits for the Marquee sign class project, where each student creates a circuit for their assigned letter.
For this week's assignment, we were tasked to finish our letter creation, abiding to the provided guidelines. The following links contain the required project files:
As mentioned, the creation of my PCB marquee letter began within class lecture, as our Eagle tutorial was handled in conjunction with our assignmnet. And regarding this instruction, we were introduced to various tools within the software, particularly focussing on components and the connections between these components.
Upon finishing this particular design element in class, we began focussing on the board layout for our letters. To say the least, the initialized Eagle board setup for our circuit required some additional organization.
After a bit of effort...
...the finalized PCB design was finished.
It must be noted that the utilization of the layer menu, turning on and off components of the board, allowed for smoother navigation within the environment. Additionally, various rearrangements of the components allowed for a design without the utilization of "vias."
This second week pertained to information and the utilization of the ATtiny85 microcontroller. Within the class session, we students setup an Arduino Uno as an ISP to flash a bootloader to an ATtiny85. Thereafter, we uploaded additional code to the ATtiny85 in a similar manner to how we would normally program an Arduino.
Regarding our assigment, we students were tasked to develop an ATtiny85 jig, where we would utilize a perfboard directly connected to an Arduino Uno. Furthermore, we were also tasked to utilize this jig to program any interactive setup with this particular microcontroller.
As I cared to develop my jig in a manner directly reflective of the in-class lab, I began the process of mirroring the breadboard component connections to the perfboard. It must be noted that this approach pertained to the utilization of an LED, where I could quickly test if the ATtiny85 bootloader and programming instructions are functioning correctly.
To start, we aligned headers directly onto the Arduino Uno and soldered the perfboard on top of these headers. This approach allowed proper alignment of the necessary pins for the jig. Afterwards, the IC socket and ground cable were attached.
Thereafter, the power connection was handled.
This step-by-step processed continued, attaching all capacitors, resistors, and LED to each pin.
Upon finishing the soldering, I attached the jig onto the Arduino for testing. Regarding this testing, I followed this step-by-step process: set the IDE's board selection to an "Arduino Uno", load the "ArduinoISP example", upload the "ArduinoISP example" to the Uno, set the Programmer to "Arduino as ISP", set the IDE's board selection to "ATtiny25/45/85", set the clock to "8MHz", utilize the IDE's "Burn Bootloader" function, and finally, utilize the "Upload Using Programmer" function. Upon following this process, I successfully uploaded a quick blinking script to the ATtiny85.
ATTINY85 INTERACTIVE PROJECT
For the interactive project component of the assignment, I chose to program the ATtiny85 with a potentiometer and an array of LEDs, where the former would trigger the flashing rate of the latter. Additionally, I planned to utilize a 9 volt battery for the battery source, requiring the utilization of a voltage regulator.
To begin the process, I began soldering the LEDs and associative resistors (330 ohms) to a small perfboard. Additionally, I ran stripped solid core wire across the positive end of the LEDs (in parallel) and across the resistors to establish the ground. Afterwards, I attached the IC socket to the perfboard.
Thereafter, the grounding pin was connected to the LEDs' resistors' ground.
Then, the voltage regulator with heat sink, turning 9 volts to 5 volts, was attached to the perfboard. Within this process, the regulator's ground and output voltage were also established to their coordinating areas.
Next, the potentiometer was soldered to the perfboard, with the voltage-out connected to the associtive socket pin. Additionally, the connection between the IC socket pin and LED array connection was established.
Ground and power was then soldered to the potentiometer, followed with the connection between the 9 volt battery and the voltage regultor.
And after uploading the code for the flashing LEDs, controlled by a potentiometer, I was met with success. It must be noted that I the length of the 9 volt's cables were shortened prior to testing.
I was very surprised about the simple nature of programming a microcontroller through the utilization of an Arduino and its IDE. I am looking forward to future work within this area.
For our first week of class, we students immediately jumped into the handling and untilization of SMDs through the building of a battery charger. Additionally, we were asked to review both Arduino circuit board components and programming through provided web links.
BATTERY CHARGER PROCESS
To begin the construction of the USB charger, we gathered each independent component. Thereafter, we placed these components onto a double sided piece of tape and labeled each one for organizational purposes. It must be noted that the provided circuit board was milled by the instructor. In addition to these electronic components, we were provided both a pushpin and dollop of solder paste, where the former would be utilized to spread the latter onto the circuit for soldering.
Thereafter, we began the process of placing each component through the utilizaiton of prior mentioned technique. We first applied the solder paste to each area where the surface mounted component would be utilized. Then, we placed each piece onto the board, verifying the proper direction within the process. It must be noted that the IC for handling the charging process was not included in the prior work.
To handle the mentioned IC, we students utilized a Manncorp's SMT Place 2000 to manually place the component onto the board. Thereafter, we placed the assembled circuits onto a coffee warmer pad to bring the paste's flux to its melting point. Aftewards, a heating gun, set to 315 degrees, was utilized in a perpendicular manner to solder the components onto the board.
Upon finishing the last step, the board was tested with a rechargeable battery in conjuction with a USB power supply.
After reading both listed pages regarding the Arduino components and programming, I became extremely grateful for the previously taken ITP courses revolving around electronics (PComp and Electronics for Inventors). Furthermore, my computer science background also assisted with the digesting of the Arduino programming component.
With that said, my comfort level pertaining to the means of programming a new ATMega328p is rather low, as I have yet to partake in this activity. This issue specifically revolves around the protocols (SPI + UART) and the programming setups.