Libraries for controlling DDS RF Synthesizer Modules

After having used "DDS Modules" (based on the AD9850 device) under Arduino control in many of my amateur radio projects, I've now published some libraries to simplify their use...

There is a general library,, which uses a soft SPI interface and a special library for the Arduino DUE,, which uses hardware SPI.

A general description is here:

Hello m0xpd,

first of all I would like to say thank you for your library and the description you've posted. Great work. Easy to read, easy to follow and it also got me a watering mouth while reading it.

But now I have to bother with some questions that I would like to ask you as you seem to be "expert enough" to have all the answers. :) As I consider to create a musical instrument, a synthesizer, I ask myself if this, the chip as well as your library, would do the job. I dont know that much about how to do anything of the things I have to do, but I am keen to get it done. Right now my brother and I build a Arduino based 16 step sequenzer, and wihle researching for related stuff I found a website that sells a AD9850 breakout board which isnt that expensive. Or is the a "better" one?

Questions I have are - can I use this as I could use a "industrial produced musical instrument"? Wich means - does the chip has the capabilities to generate envelopes to produce complex sound? - how to edit the parameters if the chip is capable to do that? With potis attached to one of the pins and via shift register or such? - would I need an amplifier on the outputs of the board to connect to a line mixer? - does it really make sense to invest in a DUE if the questions above can be answered i a positve way? - is the more coffee?

Thank you for your time.

A DDS is an NCO or numerically controlled oscillator, ONLY. Whatever yopu wish to do with the ‘envelope’ must be done with gain controlled amplifiers.
The AD9850 is a sinewave output device that can manage 2 sine outputs and a square wave but it’s been a long time since I’ve read that particular data sheet.

Questions I have are

  • can I use this as I could use a “industrial produced musical instrument”? Which means
  • does the chip has have the capability (or capacity) to generate envelopes to produce complex sound? No.
  • how to edit the parameters if the chip is capable to do that? With potis ed]pot is? attached to one the pins and vi other reason than to clean up the output or level shift it… ?? What?
  • does it really make sense to invest in a DUE if the questions above can be answered in a positive way? No the function used to change frequency is SPI driven and FAST enough at an 8 MHz spi transfer rate to let you digitally control the waveshaping and envelope generation of the musical note generated by the DDS and it’s frequency and duration
  • is the more coffee? unless you’ve made a pot, None fresh

The first challenge is that musical instruments with a few exceptions don’t generate sine waves, flutes perhaps… so there will be a shaper required… Google it and you will find a whole lot more about ‘coloration’ of music or the art of adding selective distortion of / to a sine wave. Analog devices makes a bunch of different DDS devices and there are more from other MFR’s.
The code mentioned in the first post is I’m sure more about generating RF than music but the AD9850 is a fast and versatile DDS device that can be purchased wired and working on a PCB (hopefully) for less than $10.00 US, Shipped…
I’ve enclosed some miscellany from an Ebay AD9850 I bought a year or so back… there are other devices that might make better synth chips but it is certainly do-able with this device… unfortunately it is my opinion that it is beyond your skill set at this time…
This is in no way meant to discourage you, just to tell you that it is going to be a real “Project” and you really appear to need a little more education both on synth music and how/why to use a DDS device.
An AD9850 DDS makes a very stable numerically controlled oscillator variable in 12.5 deg phase steps. It can be programmed in 5 byte parallel or 40 bit serial modes and is reasonably fast to change frequency and/or phase. The final accuracy for music is well within the thermal stability of the clock oscillator supplied and is perfect for the typical uses… An L.O. for a radio or a versatile RF generator and the frequency is as stable as the ref osc is…
Btw. adjacent musical notes in a well tempered scale differ by the 12th root of two or 1.0594630943592952645618252949463
but I doubt that more that 5 decimal places accuracy is required.
Funny but I remember that from tuning electronic organs back in the early 60’s . Later Mostek made a top octave (MK 10240 IIRC) generator that used a 3.59 MHz color burst crystal… They’re available… on Ebay for $40.00 - $50.00 today but for that kind of money and Ebay’s notorious reputation for selling “Re-Branded” or plain fake chips i’d not trust it at all as the part was discontinued in the (IIRC) late 90’s and I bought one in 2002 or 2003 from RadioShack… long since gone. Much cheaper to connect an AD9850 DDS to a Pro Mini and store the ‘notes’ as binary data with a byte for the required octave… the math is simple enough and easily done with longs.
Edited for content and clarity… Doc

AD9850.rar (798 KB)

Hello Docedison,

thank you very much for your answer.

As I see, I should not write into forums at 5 am. :) Too many typos, my bad.

However, I understand what you are talking about. What I like to to do is to build a musical step sequencer to let them trigger some of my sequencerless analog synths. Therefore I would need CV/Gate on a Doepfer MS-404, maybe on my Roland MC-202, wich has an internal sequencer and should be modified to bypass it, and, for sure, the devices from the Italian Company Coron. They are intended to be triggered through their internal piezo element, that I already bypassed to get them triggered from two Roland TR-606 drum machines, which is quite nice, but somewhat boring as this way I just have a trigger and no note input. So they always play just one note, triggered to the TOM sounds of the 606s.

My idea was to build a seqencer of my own that feeds those analogs with the needed signals. There are many projects to find trough the net that deal with seqencer stuff. I study them carefully, still learning about programming though, and I believe that I will be able at least to get the synths play different notes and tone length. Maybe, after I learned more, I can add more features like filter tweaks or such things.

As I said, I was searching the net and saw a shop selling the chip mentioned already, and so I asked myself why not also to build a synthesizer using a Teensy that I have here already. And while thinking about it I found this post and dropped my questions.

To make a long story short, I am open for suggestions for my project. :) I do know about musical synthesizers and sound synthesis, (but I have to say that I knew more about it in my younger years), but I am a newbie in programming and also my lectrical skills could need some improvements, as well as my english. :)

Docedison (or anyone else)

I see you attached a compressed file with a type .rar file. My older XP machine has an application to unpack and extract such files but my new win 8.1 64 bit laptop doesn’t have anything standard to open it. I googled and was overwhelmed with ads and so many different sites offering different programs to download, most at a cost. Is there a safe free version you can recommend for windows 8.1 64 bit?



I dont use Windows, but there must be a way to use Winrar or Winzip, no? And, if I remember that correctly, Windows can read compressed files just on its own.

However, I know that you could use Winrar.

That was to be my suggestion.. that or 7Zip. Windows knows about supplies.. it as I remember can't deal with rar files and I have always used WinZip or winrar' I don't/won't use Win 8 as it was a patched mess to begin with... and IMO very much in the same place as Win ME. As to the synth... I do remember a series of articles by Donald Lancaster from one of his series of "Cookbooks" TTL CMOS... and linear? But that's a real stretch for my tired old mind as I read and used both... But that was 40+ years ago'.. 1974 or 1975 which is why I mentioned the National Semiconductor app notes he also did a bunch of notes on twin tee filters which are applicable here. My interests changed at that time and what I wrote in my first post here is about the sum of what I remember... Yamaha did some special stuff along those lines and might be a means of 'trolling' for additional information... I went into digital stuff then through a change in employment and it wasn't' for 20 years more that I would get back to analog/mixed signal work in the late 80's. I wish I could help more but my current knowledge would be most limited... Perhaps a marriage of midi ... again I just don't remember. My use of NCO devices is limited to some frequency agile RF gear I designed in 2003 or 4 and some other work that never really was more than conceptual... although I did make some BP filters for an FSK modulator later using twin tee filters for cleaning up square waves later that year...