Introduction: Arduino + AD9850 30MHZ DDS Signal Generator in 12$

Picture of Arduino + AD9850 30MHZ DDS Signal Generator in 12$

An Precession Signal generator is very easy and affordable make using an arduino and dds synthesizer (ad9850) . Its World's first smallest portable signal generator build .

You can make decent 0 -30 MHZ frequency Signal generator only in 12$ . If you are pro over clocker then 40MHZ in same price . AD9850 works on dds (direct digital synthesis ) which can generate analog waveforms with digital input , here i used arduino pro mini to control dds board and Hitachi hd 44780 lcd display (16×2 lcd) to display current frequency and chage steps.

This signal generator runs on USB 5V and consumes 270 ma max ! So you can install battery pack inside it and make it standalone system if you want.

Its great project for beginners and will give you lot of satisfaction and also save you hundreds of dollars !
You will need frequency generator if you are a amateur radio guy or hobbyist or professional electronic guy.

Step 1: Get the Parts

Picture of Get the Parts

★☆★ Buy Parts from your online local store ★☆★

1. Arduino Pro mini

2. AD9850 (DDS Synthesizer)

3. 16×2 LCD Display ( Hitachi hd 44780 )

4. Rotary Encoder

5. cp2102 (USB to serial converter )

Step 2: Circuit Diagram

Picture of Circuit Diagram

Connect all components given in above schematics

Step 3: Watch the Full Tutorial



Step 4: Output Response

Picture of Output Response

Output response is the output waves you get at diffrent frequencies here are few scope shots to get idea how well it is

1. 1MHZ
2. 10MHZ
3. 20 MHZ
4. 30 MHZ


BoatengD (author)2017-11-06

i have arduino nano

BoatengD (author)2017-11-06

i like this project

thank for this project, but can do this project without the ad9850

PirateKittyK made it! (author)2017-10-06

Added additional features. All pins of the Pro-Mini are now used.

It is a good simple project, and the code gave me a good start.

Thanks Kedar.

guitartoys (author)2016-09-24

Friend, can't just load you ino file. I have to open it in another editor, and copy paste to the Arduino compiler.

Also, getting errors with your rotary.h and .ccp library.

Would really like to get this to work.

AlanGP (author)guitartoys2017-05-07

+guitartoys - you have possibly worked this out by now but the .ino file has too long a file name or illegal characters and the IDE doesn't like it - rename it. Enclose the rotary.h and rotary.cpp files in a folder called "rotary" and drop it in your library folder. Should compile then. Worked for me on IDE 1.8.1 Kind regards AlanGP

PirateKittyK (author)2017-01-04

Well done. I was hoping I didn't have to start from scratch and
re-invent the wheel.!!! Exactly what I had in mind. With a little bit
more bells and whistles..., but hey.. Thank you. Now I can mod the code to suit.

luxornet (author)2016-08-26

The code refer to an I2C LCD Library but the schematic is for parallel LCD library.

Seem to be a fake.

BruceR24 (author)2016-05-21

I'm looking into using your design to provide general coverage with my Drake R-4B receiver (in place of purchasing many crystals). Can you tell me what the output level of your signal generator is? I need about 0.5 volts. I'm wondering if I'll need a buffer amplifier to make it happen. Thanks ... looks like a really neat design!

EdwinKlaver (author)2016-05-01

Thanks for pointing me in the right direction. I will save this like, and let you know how I did.

kevin.d.timm (author)2016-03-13

Your schematic shows PIN 10 to DATA and PIN11 to RESET but the source code for the sketch shows the opposite. Can you correct one of them?

Tom Meehan (author)2015-09-11

This looks great! I'm waiting on the AD9850 board so I can try this out. On your schematic you do not show any outputs, just the connections to between the arduino and the DDS board, which sine wave output are you using and are you using the square wave outputs? (The board I am waiting on has a jumper to enable/disable square waves, with 2 output pins, and 2 different output pins for sin wave, as well as a pin for adjusting amplitude with a voltage divider).

BrettHacks (author)2015-05-24

Great job! What a cool project for a super low price. I would love to see an output amp and programable attenuator, but still a really nice build.


About This Instructable




Bio: Ideas Into Reality !
More by Kedar Nimbalkar:Fidget Spinner that spins itself !DIY Wireless Charging for Your Gaming Mouse ! - Goodbye Batteries Make Coca Cola Soda Fountain Dispenser Machine at Your Home Fridge !
Add instructable to: