Rethinking AVR DDS3 signal generator project

These things happen all the time. When you start a new project but from the beginning start feeling that it’s not what you wanted. Usually, they end up collecting dust. I think there is nothing shameful because it is better to fail than do nothing. There are thousands of examples where people start new projects with enthusiasm, but they never reach the daylight. But without those efforts, we wouldn’t see other great projects and products. Not all of them are made from the first try.

AVR DDS3 signal generator

It’s been over a year since the announcement of the AVR DDS3 signal generator. As you have noticed, there is no progress so far on it. And I am going to give up on it for a couple of reasons. From the beginning, I didn’t feel comfortable with it.

  • First of all, the need for two microcontrollers. The whole concept of simplicity is lost. Using the second MCU for generating DDS doesn’t sound right – there are way better specialized DDS chips that can give better resolution and bandwidth.
  • Another strong reason the user interface. I thought to add a 4×4 keypad, but in reality, this is a nightmare to use. The rotary encoder would be a better choice.
  • Signal generation method. We need to rethink the signal generating method. Do I need to run the DDS algorithm to make square or triangle signals?

Instead of struggling to write a complete firmware, I decided not to. The is no practical point to waste time.

What’s good in this project is an analog part. It might be I should choose a faster operation amplifier and a better PCB layout. I see better results combining AVR DDS2 with the analog part from DDS3. It could be I will focus on improving DDS2 that way. Or go with a new project where the DDS chip is going to be used.

So far, this is not the first project that won’t reach the finish. I think everyone has a bunch of unfinished projects. This one I felt the need to notice as few people expect it to be done.

Few PCB left if someone wants to keep experimenting or use them as a prototyping board for other projects. It has ISP headers, LCD supports, and a few I/Os. Drop a comment or send a message via the contact form for more details on how to get one.

My final advice, if your projects fail, don’t stop; don’t give them prominence. Learn from them and start making it better.


  1. Hi,
    – As a hobbyist, what I need is a dead simple, low cost, DIY equipment. DDSV2 is one of my fav project. Not a DDS chip device
    – Rotary encoder! this may not be easily accessible in my place (just for me)
    – Agree, DDS for sine and simple time delay loop for square and triangle

    Personally, I strongly recommend to improve DDS2+DDS3 Analog front end, + new firmware for signal output optimization, some enhanced UI.
    Last, I am a PIC guy. I would like to port your DDS algorithm to PIC. Problem is most low end PIC are not fast enough. I find out which PIC chip could do the task.

  2. Your points are what I’m thinking next. DDS2 single AVR generator + analog part from 3rd attempt would be a nice combo. As UI probably I will stick with simple push buttons as they are cheap and available everywhere.
    As for PIC it should be possible to port some code parts, but DDS function which is written in ASM must be rethought. This is time critical algorithm where each clock cycle counts.

  3. Did you listen about CI XR2206? I have seem some project, I cannot remember what site, that tells some project with some CI from Analog Devices, who give us 1,6Mhz frequency.

Leave a Reply