+++ date = "2017-10-16" title = "Signal 1 - DIY Signal Generator (Part 1)" tags = ["audio", "design", "electronics", "signal-1"] description = "This is part 1 in a series of posts showing you how I build a digitally controlled signal generator based on the AD9833." slug = "signal-1-diy-signal-generator-part-1" +++ **Signal 1** is the name for my first _signal generator_ project. The goal for this project is to create a device that can output clean sine waves in the 10 Hz - 100 kHz range. The primary use is testing audio equipment, like amplifiers. This is what I'm looking for: * Sine wave * 10 Hz - 100 kHz minimum, easily adjustable * Line level output (100-600 Ohm output impedance; 2Vpp) * Display of frequency and Vpp settings Bonus features: * Other waveforms, like triangle and square wave * Larger frequency range * PWM support * Graphical display for all kinds of information There are at this point two pieces of hardware I have selected: **AD9833 Programmable Waveform Generator** is a nice chip that can more than handle my simple needs. If it can go up to a 16Mhz square wave, that'd be great, but not necessary. It's also inexpensive when bought from China as a breakout board. I'm not usually a fan of there boards, but to for prototyping they should be fine. The AD9833 communicates for SPI, so I'll need a microcontroller to handle that. ![The AD9833 Breakout Board](/img/signal-1-ad9833-breakout.jpg) **ATMega xxx** is a logical choice for me. I'm not tied down to Arduino, so writing C directly in the _Atmel Studio_ would be OK. Having a microcontroller present also opens up the possibility of having a decent screen (maybe even touchscreen) on this project. For now, I've ordered a few AD9833 breakout boards from China and I'll start working on a block diagram of the entire system soon, which you can read about in Part 2 of this series.