Virtual Analog Synthesizer Implementation by Use of the Lopass Gate ECE4007 Senior Design Project Section L01, Home Brew Synthesizer Group Project Advisor, Dr. David Keezer Ron Grier, Team Leader Temitope Alausa Shawn Bainbridge William Walker Submitted September 21, 2010
Table of Contents Executive Summary... 3 1. Introduction... 3 1.1 Objective... 3 1.2 Motivation... 3 1.3 Background... 4 2. Project Description and Goals... 7 3. Technical Specification... 8 4. Design Approach and Details... 9 4.1 Design Approach... 9 4.2 Codes and Standards... 13 4.3 Constraints, Alternatives, and Tradeoffs... 13 5. Schedule, Tasks and Milestones... 13 6. Project Demonstration... 14 7. Marketing and Cost Analysis... 15 7.1 Marketing Analysis... 15 7.2 Cost Analysis... 16 8. Summary... 17 9. References... 17 Appendix A... 18 Home Brew (ECE4007L01) 2
Executive Summary The blackbachs synthesizer will be a device used by musicans, music producers, DIY enthusiasts, and audiophiles to enhance the usability and flexibility of producing music. The blackbachs offers audio enthusiasts a virtual analog synthesizer without sacrificing the warmth of analog sounds. The product will utilize MIDI-over-USB control to send information to a MCU which will in turn control the analog hardware. The interfacing of the analog and digital modules will be handled through the use of an Arduino Duemilanove development board, which will also serve as a Voltage Controlled Oscillator. The MCU will send a control voltage and a PWM signal containing wavetable information from the VCO to a LoPass Gate. The Lopass Gate shall implement a VCF, VCA, and a combination of the two as well as perform D-to-A conversion for the MCU. Moreover, full programming capability will also be a feature of the blackbachs with 32-64 presets, a LCD display, and additional memory for custom user presets. The target price of the blackbachs will be between $250 and $300 per unit so that it will be less expensive than current feature-heavy monophonic analog synthesizers. There will be two versions of the blackbachs offered to target musicians, music producers, and DIY synthesizer enthusiasts. There will be an assembled version of the blackbachs targeted at music professionals, in addition to a DIY kit for synthesizer enthusiasts including prefabricated parts and assembly instructions. Home Brew (ECE4007L01) 3
1. Introduction Team Home Brew is requesting $440 to design the blackbachs synthesizer that produces authentic analog sounds, taking advantages of flexibility and ease of use found in modern virtual analog synthesizers technology. The system consists of a microcontroller that converts a pulse width modulated (PWM) signal from digital to analog. The converted signal will be sent to a lopass gate (LPG) where the filtering and amplification will be done. The system also consists of a MIDI interface that will connect a user input to the blackbachs. The synthesizer is targeted towards audiophiles, do it yourself (DIY) enthusiasts, and musicians who desire sounds that cannot be replicated digitally. 1.1 Objective The objective of the Home Brew design group is to create a synthesizer that produces analog sound but takes of advantage of the flexibility and ease of use found in modern Virtual Aanalog synthesizers. The blackbachs synthesizer will be capable of producing sine, triangle, square, and saw tooth waveforms. The synthesizer will combine both analog and digital circuitry and allow users to control rotary encoders and switches that determine the preset parameters. These preset parameters will control the analog circuitry. User input from a MIDI keyboard will then produce the desired waveform based on the settings of the preset parameters. Figure 1 is a block diagram that shows how the blackbachs will be implemented based on the preset parameters and inputs from the MIDI keyboard. Figure 1. High-level block diagram of the blackbachs synthesizer. Home Brew (ECE4007L01) 4
1.2 Motivation Interest in the development of low-cost virtual analog synthesizers comes from the demand for the sound characteristics produced by analog synthesizers. Musicians constantly demand the warmth and imperfections in sound produced by analog synthesizers. While there are a number of virtual analog synthesizers on the market, many take the approach of the using custom DSP algorithms and ASICs to model the characteristics of sounds produced by analog synthesizers [1]. The process of building custom chips for a design raises the production cost, resulting in these costs being passed on to the consumer. In the case of synthesizers utilizing a mixture of analog and digital modules, a problem arises when using vintage components to model the sound associated with analog synthesizers. Many vintage parts are out of production, making these components hard to source and expensive [2]. This leads to the issue of how can one closely model the sounds associated with analog synthesizers in a low-cost manner with parts that are easy to source. A clear-cut solution does not exist for this problem, but avoiding custom microprocessor designs reduces the complexity and price of the project. Determining which synthesizer modules provide an advantage when implemented digitally compared to their analog counterparts is also another factor. Target consumers for the blackbachs synthesizer include musicians and DIY enthusiasts searching for a virtual analog synthesizer that does not compromise the imperfections and aesthetics associated with analog sound for the sake of building a low-cost device. These issues motivate the production of the blackbachs synthesizer as a foray into the concerns associated with virtual analog synthesizer design. 1.3 Background History and Development of Synthesizers In the 1980s, applications for digital circuitry crossed into electronics for music synthesis. Digital synthesizers became popular and basically replaced the analog synths of the 1960s and 1970s. The DSP sound synthesis algorithms, along with digital computer technology, led the way to a new age of polyphonic digital synthesizers. In the 1990s, cheap second hand analog synths became less Home Brew (ECE4007L01) 5
expensive than current digital versions and musicians began to revisit the old analog synthesizers. This paradigm shift allowed the sounds of the analog electronics to become prevalent once again and audiophiles and DIY enthusiasts alike, longed for the analog synthesis sounds produced two decades before. With the rebirth of analog sound and the technology available to drive the sound digitally, the blackbachs synthesizer will use a microcontroller to drive analog components. This fusion will allow the affordability and ease of using digital electronics, while granting the user the nostalgic sounds of analog synthesis. The Current Synthesizer Market Currently, synthesizer manufacturers have created analog synthesizers with digital controls. These analog/digital hybrid models give users a greater flexibility while continuing to offer authentic analog sound quality. Popular models include the Oberheim OB-MX, Moog Voyager and the Shruthi-1. The OB-MX is a modern synthesizer with an analog audio path. The interface is user friendly and allows for easy programming of unique sounds. The OB-MX provides analog sounds while being programmable for user defined presets and MIDI compatible. Underlying Technology LPG The Lopass Gate was created in 1970 by Don Buchla in the form of the Model 292 Quad Voltage-Controlled Lopass Gate [3]. The Model 292 is a vactrol based circuit that gives the user options to switch from a VCF, VCA, and a setting that takes advantage of both circuits. The electrooptical coupler based circuits in the Lopass Gate gave Buchla his trademark sound due to the natural slewing of the vactrol. This slewing of the vactrol makes the attack soft and has been described as natural [4]. Since the advent of the Model 292, variations of the Lopass Gate have enabled resonance control and a dedicated crossfading output [5]. Voltage Controlled Oscillators Home Brew (ECE4007L01) 6
A voltage-controlled oscillator (VCO) allows the user to define input waveforms. Based on a control voltage applied to the input of the VCO, the pitch of the waveform selected can be varied. VCOs have been used in synthesizers since the 1970s and are the primary component for waveform synthesis. The MIDI Protocol The MIDI protocol is a series of numerical values, ranging from 0 to 255, allowing for the digital music control events to be understood by hardware and software platforms [7]. Designed for use by keyboard-based instruments, the message structrure is oriented to performance events, such as picking or striking a note. Voice selection in MIDI entails selecting a key, sending a Note-On message o an input port of a microcontroller, and processing the message through implementation of the MIDI protocol in program code. Arduino Microcontroller Development Platform Arduino microcontroller development systems are based on the Atmel AVR family of 8-bit microcontrollers; these microcontrollers come pre-installed with an Arduino bootloader, which serves as a communication hub between Arduino's software and the AVR's hardware. Because of this, Arduino's software libraries are written in the C programming language and are compiled using avr-gcc and avrlibc, a widely-used compiler and C library for Atmel AVR microcontrollers, respectively. The software libraries provided by Arduino establish the layer of abstraction of programming Arduino systems versus others on the market. The aforementioned Arduino software libraries are available by use of the Arduino programming language [9]. 2. Project Description and Goals The blackbachs synthesizer will be a full-fledged synthesizer with digital control. Users will Home Brew (ECE4007L01) 7
determine the desired sound by setting up the blackbachs internal preset parameters. These preset parameters will be controlled by rotary knobs and pushbuttons located on the front panel. A MIDI keyboard will be interfaced with the blackbachs allowing users to simply press a key and obtain output featuring analog characteristics. The blackbachs synthesizer will the following features: Tone Generation Programmable Presets Intuitive User Interface and Controls Internal Storage for Wavetables and Presets Low Latency Response from Input Clear Model of Analog Non-Idealities and Sound (Warmth) MIDI-over-USB input capabilities The target price of the blackbachs will be between $250 and $300 per unit. There will be two versions of the blackbachs offered to target musicians, music producers, and DIY synthesizer enthusiasts. There will be an assembled version of the blackbachs targeted at music professionals, in addition to a DIY kit for synthesizer enthusiasts including prefabricated parts and assembly instructions. 3. Technical Specification Table 1 and Table 2 provide technical and physical specifications for the blackbachs synthesizer, respectively. Home Brew (ECE4007L01) 8
Table 1. Technical Specifications of The Blackbachs Synthesizer Specification Audio Latency from User-Input Number of Programmable Presets Number of Voices Resolution of Oscillator Waveforms Number of USB Input Ports Microprocessor Type System Memory System Clock Frequency Input Voltage Value 30ms (Maximum) 32-64 Presets One Voice 8-Bit Resolution One Port Atmel ATmega328 MCU 32KB of Flash Memory 2KB of SRAM 1KB of EEPROM 16 MHz 15V (maximum) Table 2. Physical Specifications of The Blackbachs Synthesizer Specification Case Dimensions (m/in) Weight (kg/lb) Value TBD TBD 4. Design Approach and Details Figure 2.. Detailed lock diagram of the blackbachs synthesizer. Home Brew (ECE4007L01) 9
4.1 Design Approach Central MCU System As the project is comprised of both analog and digital modules, the interfacing of these modules will be handled through the use of a microcontroller development board. The Arduino Duemilanove development board has been selected for this task. The Duemilanove includes the Atmel Atmega328 microcontroller, which has a processor speed of 16MHz. This clock speed will allow for audio processing and production to take place on board when applicable. Other features and uses of the board will be highlighted in the upcoming sections. Obtaining User-Input The task of handling user-input from the blackbachs is broken into two subproblems. The first subproblem is how to produce a waveform based on user-input, and the second is developing a method of converting front-panel selection parameters into control voltages. Generating a waveform based on user-input will be accomplished by use of an external MIDI controller such as a keyboard. Messages from the external MIDI controller shall be sent by MIDI-over-USB technology, which requires the use of USB programming libraries specific to Atmel microcontrollers, such as the Lightweight USB Framework for AVRs (LUFA), provided by Dean Camera [10]. Retrieving the values from the frontpanel will be handled based on if the particular control is digital or analog. Each analog control for the synthesizer (i.e. in the form of slide/knob potentiometers) will be connected to one of the Arduino's six analog inputs and processed by Arduino's A/D converter. After performing the conversion, the value shall be scaled for the VCO module using a formula yet to be determined. The same process will take place for digital controls (i.e. rotary encoders), except each control will have one of the Arduino's eight digital, non-pwm I/O pins as a dedicated input port. The signal will not need to be processed by the A/D converter, but will need to be scaled for the proper module it will be sent to [11]. Once the control parameter has been obtained in a digital form that has been processed by the board (i.e. has been scaled based on formulas yet to be determined), these values will be either routed to the appropriate digital Home Brew (ECE4007L01) 10
module (i.e. the VCO) or converted into analog control voltages and sent to the appropriate module (i.e. the LPG). The end-user will be able to control will be waveform selection (i.e. to select between sine, square, sawtooth, and triangle waves) and preset selection (of one of the 32-64 presets that will be able to be programmed), as well as output volume control. Other user-controlled sound parameters are still being discussed, but will focus on changing the spectral makeup of the output waveform (i.e. filtering). Additionally, decisions will be made on which control parameters will be in the form of analog controls as opposed to digital. Rotary encoders will only manipulate controls based on a preset selection. Rotary encoders may be turned an infinite amount, while potentiometers have finite limits on how far they may be turned left or right. An example of a control parameter that can only be manipulated by use of a rotary encoder would be waveform selection, as different presets have dependencies on different waveforms. On the other hand, a control that has the ability to be analog is output waveform volume control; this control parameter shall be independent of the preset selected. Analog controls are desirable are desirable are for nostalgic and aesthetic value to the end user. In fact, Dave Smith instruments, manufacturers of the highly-acclaimed Prophet-V analog synthesizer still manufacture new synthesizers with analog controls for this reason [11]. PWM Output as D/A Conversion for Control Voltages Home Brew (ECE4007L01) 11
Figure 3.. Creating a PWM waveform from a timer source with compare value. While the Arduino does not have a dedicated D/A converter, D/A conversion can be done by use of filtering PWM outputs. Given the Atmel Atmega328 chip has three on-board timers, one of these timers will be used to count to a set number defined to be set number (this number will be referred as the upper bound), and overflow after this number has been reached, effectively determining the frequency at which the PWM signal will be created. An on-chip comparator register will store a value between zero and the upper bound, where when this value is reached, the PWM signal is raised high until a timer overflow occurs. Given the operating voltage of the Arduino board is 5V, after filtering the PWM output for a DC value of the signal (or average of the PWM), a control voltage of 0-5V will be produced on one of the six digital I/O pins with PWM output capability. Figure 3 shows the process described of using a timer source to create a PWM waveform [12]. An experiment will also be conducted determine if filtering of the PWM signal can be done by the LPG as it contains a Vactrol (a photoresistor/led combination) at the control voltage input, in which the encapsulated LED may be able to perform the lowpass filtering needed to obtain a control voltage. This experiment will require the use of either the Arduino board or function generator set to Home Brew (ECE4007L01) 12
produce a PWM signal, where the signal will be ran into a breadboard implementation of the control voltage input of the LPG. A test signal created by another function generator somewhere in the musical note range (i.e. 16-4978Hz) will be fed into the signal input of the LPG. The PWM signal's duty cycle will be varied, and the response of the LPG with respect to the input signal will be measured on the oscilloscope to determine if suitable filtering has taken place. If there is no noticeable change in amplification/spectral makeup of the output signal, then an analog lowpass filter will be built for the PWM outputs of the Arduino board. VCO The VCO will be implemented digitally, and two specific methods as how to achieve this are currently under consideration. The first would be to implement the VCO on the Arduino board. The other involves connecting a timer to a EPROM chip, and connecting the output. Both methods involve the concept of direct digital synthesis. Direct digital synthesis creates a waveform based on sample values in a lookup table which must be sent through a D/A converter. Each of the two methods has its advantages. The advantage of the first method is everything is done on the Arduino board which cuts down on space and wiring complexities for the synthesizer. On the other hand, the second method is desirable as the quality of the waveforms produced by the module will not be dependent on the other processing the Arduino board must accomplish. In addition, the 1KB of EEPROM on the Arduino board can be set aside for programmable presets. Figure 3 shows a block diagram of how an off-board VCO would work. Home Brew (ECE4007L01) 13
Figure 4. Block diagram providing a high-level implementation of the second design for the VCO. LPG Lopass gates are analog synthesizer modules originated by synthesizer designer Don Buchla. Its most common usage allows for a grainy sound with percussion-like timbre. Its unique analog characteristics have been studied over the years and have yet to be replicated digitally, which is why this module will be analog in the design. The LPG has three switchable modes of operation: as a VCF, VCA, or both. The term both is not meant in the strict sense as a linear combination of the VCF/VCA, but as a mixture of the two modules in one, but with weaker characteristics that would be present if each were by itself, respectively./ /The reason a LPG would be desirable for the design as opposed to using discrete VCFs and VCAs is a cut-down on space and wiring complexity. In addition, while the LPG with both the VCF and VCA enabled produces unique characteristics not available to a cascade of a VCF and VCA. This uniqueness and the resulting desirable effects of this design have led to updated versions of the original design, adding controls for parameters not available on the original module (such as resonance). There has not been a decision made as to whether the group will design a new LPG based on the original or updated versions of the design, or if a PCB-ready updated design will be incorporated in the design. Currently, the second option appeals as designing an updated LPG can take Home Brew (ECE4007L01) 14
a variable amount of time from as little as three weeks to three or four months. Figure 5. High-level view of the LPG, detailing its modes of operation. 4.2 Codes and Standards A small subset of the MIDI protocol will be utilized by the blackbachs synthesizer. MIDI events/messages will be received over a USB cable with a Standard-A connector. Raw audio input and processed output are then transmitted over a standard ¼ TRS-connector input jack. Power will be supplied through a standard wall socket and a third-party power supply, supporting the U.S. standard 120V at 60Hz AC input. Audio signals produced by the synthesizer will l be limited to 0-5V by the 5V operating voltage of the Arduino board. Digital circuitry is to run at TTL levels. Program code shall be written in the C programming language to comply with embedded design and application standards. 4.3 Constraints, Alternatives, and Tradeoffs The constraints, alternatives, and tradeoffs between implementing the digital VCO on the MCU development board versus off-board were previously discussed in Section 4.1 of the document. Home Brew (ECE4007L01) 15
5. Schedule, Tasks and Milestones The project will be divided into four phases. For each task, an individual or the entire team are primarily responsible to ensure completeness. Detailed information of who is responsible for each task is contained in the Gantt chart. To ensure completion of tasks, weekly group meetings are planned. The task schedule is shown in Table 3 below. The table in form of a Gantt chart is located in Appendix A. Table 3. Project Milestones with Respective Schedule and Duration Task Name Duration Start End Proposal 5 days 09/16/10 09/21/10 Programming in C 14 days 10/15/10 10/29/10 Hardware/Soldering 19 days 10/13/10 11/01/10 Debugging 43 days 11/03/10 12/06/10 Enclosure Design 21 days 11/03/10 11/24/10 Demonstration 0 days 12/14/10 12/14/10 Final Presentation 0 days 12/15/10 12/15/10 6. Project Demonstration A demonstration of the blackbachs synthesizer shall be demonstrated in the ECE Senior Design Lab in the third week of December. The following functions of the blackbachs synth will be demonstrated: MIDI Keyboard Power from Device MIDI Keyboard Latency Monophonic Voices Generation of All Four Waveforms: Square, Sine, Sawtooth, Triangle LPG Modes: Freq (VCF), Amp (VCA), BOTH LCD Display Connectivity Four Default Presets Ability for User to Program Presets Home Brew (ECE4007L01) 16
William Walker will demonstrate the MIDI functionality by powering the MIDI keyboard by turning the blackbachs synthesizer power switch to the ON position. The keyboard will then be pressed one key at a time to establish the different monophonic voices. MIDI keyboard latency will be measured by attaching an oscilloscope to the input and output waveforms of the blackbachs synthesizer and propagation delay will be determined. Temitope Alausa will switch the waveform knob and discuss the different waveforms and the respective sounds generated. Ron Grier will exhibit the programming capability of the MCU by switching through four of the default presets and programming a preset of his own. Further, programming the presets will also serve to demo LCD Display connectivity. Shawn Bainbridge will switch the LPG modes and sweep the FREQ, AMP, and BOTH knobs and discuss the different sounds produced by each mode of the LPG. 7. Marketing and Cost Analysis 7.1 Marketing Analysis Synthesizers are used by audiophiles, musicians, DIY enthusiasts, and casual users to generate desired sounds. Analog Synthesizers are still available for purchase from musical instrument providers such as Dave Smith to old school audiophiles on EBAY. The Mopho synthesizer from Dave Smith Instruments is an affordable, monophonic synth that has a 100% analog signal path and retails for $800. The Mopho has two oscillators capable of producing sawtooth, triangle, saw/triangle, and variable pulse width square waves, with hard sync. Additionally, three envelop generators, four LFOs, and full programmability with three banks of 128 programs are some of the features of the Mopho [1]. Most analog synthesizers do not have computer interface functionality, but have 1/4 audio jacks, RCA input/output connectivity, and headphone output. The Mopho has MIDI in/out/thru, USB interfacing, sustain pedal input, expression pedal input, and left and right audio outputs [1]. A modern digital/analog hybrid monophonic synthesizer is the Shruthi-1. This monophonic synth uses one MCU with external memory and employs digital control of analog hardware. The available analog hardware Home Brew (ECE4007L01) 17
for the Shruthi-1 consists of a board that uses an analog OTA-based 4-pole VCF/VCA. Further, the Shruthi-1 has MIDI input/output capability [2]. The blackbachs will not be as elaborate and expensive as the Mopho by Dave Smith Instruments, but will utilize digital control of analog hardware like the Shruthi-1. The blackbachs will utilize MIDI-over-USB control to send information to a MCU which will in turn control the analog hardware. Moreover, Full programming capability will also be a feature of the blackbachs with 32-64 presets, as well as additional memory for custom user presets. The blackbachs will combine professional quality sound clarity with entry level pricing. The target market will range from moderate musicians to seasoned professionals and the price point will be competitive at around $300 per unit sold. 7.2 Cost Analysis Engineering costs consist of design hours, meeting hours, report hours, construction hours, and testing hours. Table 3 shows the expected hours and associated costs. Table 4. Costs of Engineering Time Engineering Time Quantity Unit Price Total Price Temitope's Time 136 Hours $30.00 Per Hour $4,080.00 William's Time 136 Hours $30.00 Per Hour $4,080.00 Shawn's Time 136 Hours $30.00 Per Hour $4,080.00 Ron's Time 136 Hours $30.00 Per Hour $4,080.00 The total price of the end-product shall be $300.00. This value is projected under the assumption of 500 units are to be sold over a five year period. The manufacturing process shall consist of part-time technicians, and thus no fringe benefits would be required. All parts are assumed to have been purchased during the same order and surplus to be stored for future manufacturing. Table 4 breaks down the costs for manufacturing one unit. Home Brew (ECE4007L01) 18
Table 5. Costs of Parts Required for Manufacturing Item Quantity Unit Price Total Price Per Part MCU Dev Board 1 $30.00 $30.00 LPG 1 $15.00 $15.00 EEPROM Chip 1 $3.00 $3.00 D/A Converter 1 $13.21 $13.21 LCD 1 $30.00 $30.00 Slide Potentiometer 3 $2.95 $8.85 Knob Potentiometer 3 $1.50 $4.50 Rotary Encoder 3 $2.43 $7.29 74LS 1 $3.50 $3.50 Total Price: $115.35 Overhead shall include the cost of product website maintenance, which will be recorded as $30.00 per month. Taxes and shipping charges are passed on to the customer and do not factor into this assessment. In addition, inflation is assumed to be 0.00% over the production and sales period, and thus the expected profit has been calculated to be $57,600.00, yielding a 21.00% profit. If inflation is taken into consideration, the profit margin will be lowered as a result. 8. Summary The blackbachs synthesizer will be a device used by musicans, music producers, DIY enthusiats, and audiophiles to enhance the usability and flexibility of producing music. It will provide an intuitive user interface with MIDI control, analog knobs, and rotary encoders to enable user defined presets. An MCU will be utilized to produce waveforms and augment control of a Lopass gass gate.the LPG shall implement a VCF, VCA, and a combination of the two as well as perform D-to-A conversion for the MCU. Home Brew (ECE4007L01) 19
9. References [1] Alesis Corporation, A6 Andromeda : 16-Voice Real Analog Synthesizer Frequently Asked Questions, 2010. [Online]. Available: http://www.synthfool.com/docs/alesis/. [Accessed Sept. 20, 2010] [2] Buchla and Associates, Quad Voltage-Controlled Lopass Gate Model 292, 2010. [Online]. Available:http://www.buchla.com/historical/b200/index.html. [Accessed Sept. 21, 2010]. [3] Simple Answer, DIY: Buchla Lopass Gate, 2010. [Online]. Available: http://www.simpleanswer.com/diy.html. [Accessed Sept. 21, 2010]. [4] NR Music, Synthesizer and Guitar Effects DIY, 2010. [Online]. Available: http://www.naturalrhythmmusic.com/lopass.html. [Accessed Sept. 21, 2010]. [5] Electro-Acoustic Research, The Model 13 Dual Timbre Gate, 2010. [Online]. Available: http://www.ear-group.net/model_13.html. [Accessed Sept. 21, 2010]. [9] Arduino HomePage, 2010. [Online]. Available: http://www.arduino.cc. [Accessed Sep. 7, 2010] [10] Dean Camera, Four-Walled Cubicle, LUFA (Formerly MyUSB), 2010. [Online]. Available: http://www.fourwalledcubicle.com/lufa.php. [Accessed Sept. 13, 2010]. [11] Dave Smith Instruments, Prophet '08 PE Keyboard Synthesizer Overview, 2010. [Online]. Available: http://www.davesmithinstruments.com/products/p8pe/. [Accessed Sept. 9, 2010]. [12] Evil Mad Scientists Laboratories, Quick and Dirty D to A on the AVR: A Timer Tutorial, 2010. [Online]. Available: http://www.evilmadscientist.com/article.php/avrdac. [Accessed Sept. 19, 2010]. Home Brew (ECE4007L01) 20
Appendix A Figure 6. Gantt chart displaying the proposed schedule of project. Difficulty Legend: *** - hard ** - medium * - easy Home Brew (ECE4007L01) 21