Tiny DDS – Open source DDS generator

Summary of Tiny DDS – Open source DDS generator


This article details a hobbyist's project to build a compact, low-cost function generator. The author prioritizes ease of use, safety (12V DC operation), and specific output ranges (0–1MHz, 1Vpp–10Vpp). After evaluating various methods like analog chips or FPGAs, the AD9834 DDS chip was selected for its ability to generate both sine and triangular waves affordably. The design aims to balance performance with budget constraints suitable for non-professional use.

Parts used in the Homemade Function Generator:

  • AD9834 DDS chip
  • Ebaysourced components

Description

The homemade function generator is a quite common project on the internet. We can find different ways to do it:

– The quick & dirty way based on a DDS module bought on eBay
– The analog version based on a MAX038 / XR2206
– The “clean” way based on a FPGA and a fast DAC (e.g. http://www.circuitben.net/node/14)
– The software way (e.g. Arduino + R/2R DAC)

From my side, I wanted a small one which could fits my needs without being too expensive. According to me, such generator should at least:

Tiny DDS – Open source DDS generator

– Be easy to use
– Output a signal from 1Vpp to 10Vpp (+/-5V), from 0 to 1MHz
– Have a low profile
– Without electric hazard (shall work on a 12V DC)

Choosing the DDS chip

I first started to look for a cheap DDS chip on eBay; you have to be careful because most of DDS chips have only a sinusoidal output. Since I also want a triangular output, I have chosen the AD9834. According to its datasheet, this component is able to output a frequency of 37.5MHz from a clock of 75MHz… But do not expect a clean waveform at such frequency: without an internal PLL, this signal would be defined by only 2 points.

From my personal experience, I consider that a waveform shall be defined by 10-20 points to be well restituted. Relying on a 75MHz clock, the maximal output frequency would be 7.5MHz… This is not a very good performance for a professional equipment (even if the cheapest generators do not go above 4MHz), but it is quite reasonable for a hobbyist project.

The AD9834 can be found at $5 on eBay.

 

For more detail: Tiny DDS – Open source DDS generator

Quick Solutions to Questions related to Homemade Function Generator:

  • What are the different ways to build a homemade function generator?
    Methods include using a DDS module from eBay, an analog version with MAX038 or XR2206, a clean FPGA and fast DAC setup, or a software approach like Arduino with an R/2R DAC.
  • Can this generator work without electric hazards?
    Yes, the project is designed to operate safely on a 12V DC power supply.
  • Does the AD9834 support multiple waveform types?
    Yes, the AD9834 was chosen specifically because it can output both sinusoidal and triangular signals.
  • How many points are needed to well restitute a waveform?
    Based on personal experience, a waveform should be defined by 10 to 20 points to be well restituted.
  • What is the maximum output frequency achievable with a 75MHz clock?
    With a 75MHz clock and relying on 10-20 points per wave, the maximal output frequency would be 7.5MHz.
  • Is the AD9834 chip expensive?
    No, the AD9834 can be found at $5 on eBay.
  • What is the required output signal range for this project?
    The generator should output a signal from 1Vpp to 10Vpp (+/-5V) ranging from 0 to 1MHz.
  • Why was the analog version not chosen?
    The author wanted a small, easy-to-use solution that fits their needs without being too expensive, leading them away from other methods.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter