USB function generator

Posted on Monday, October 8th, 2012 in project logs, tools by DP

Tuomas designed a simple function generator controlled via USB. It’s capable of generating sine, square, and triangle waveforms up 3 MHz. The device uses the AD9833 SPI programmable waveform generator IC and a USB-enabled AVR to control it.

One tool that I’ve been missing at my lab at home is function generator. They tend to be a bit expensive, so I haven’t bought one. I thought this might be a good opportunity to try and make one myself. I found a pretty common DDS (direct digital synthesis) chip, called AD9833. Then just strap a USB-enabled AVR micro there and maybe some analog electronics.

Designed some test gear for your workbench? Share it with us in the forum.

Via the forum.

This entry was posted on Monday, October 8th, 2012 at 7:00 pm and is filed under project logs, tools. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

7 Responses to “USB function generator”

  1. engineerbynight says:

    Love this! DDS is such an enabler, and love seeing what folks come up with. I am a little biased though, having previously worked with the design and manufacturing of these products first hand. :)

  2. Mahesh says:

    Just out of topic question, PCB looks very prety did this home made? if yes then i would like to know secret behind PTH holes.

    • Filip says:

      don’t think they are plated trough, but a good fixed drill press will make pretty holes like that..

      • Made the board with a PCB router at my university. Model of the router is LPKF S63. I’m afraid of the day I’m going to finish my studies and have to make boards by etching. I’m spoiled.

        The holes are not plated. The holes are drilled by the machine and then I riveted each one of them with a PCB rivet.

  3. Drone says:

    Nice little board Tuomas…

    By the way; I’ve been wondering if anyone has done a simple DDS function generator using the CPLD breakout boards from Dangerous Prototypes?

  4. Dragon Driver - Beginner says:

    I’m doing a similar project.I’m building the PCB now and researching how to control mcu and dds via USB.
    How did you deal with the USB Suspend Mode; when no bus activity occurs for 3ms, power down device?
    I’ve looked through your work, but can’t seem to see how you avoid this issue.
    In your video that problem does not even occur for you?

    PS: Cool work. Thanks for sharing.

    • Sam says:

      Hello Beginner
      You just send a ‘Keep Alive’ signal, before the suspend mode is activated, e.g. every 1 ms.

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • Edward Mallon: A lot of us have ended up at this sensor / screen combination. But I couldn't afford the extravagance of six dedicated control lines on...
  • Andy: Me!!!
  • Bill F: Taking my place in line........
  • Mikee: 11
  • Clara: Thanks, Cinco!