ADVERTISEMENT

Quick test for AD9850 ebay module with arduino, Note the jumper settings





An other type of module has some jumpers on the board. It is important to set J1 (see the first figure on the start of the blog post) so that the board is ready to receive serial data on D7 pin





Connecting AD9850 ebay module to Arduino Uno (Click to Enlarge)

AD9850 module quick pin connection details for arduino

After connecting the module you need to load the firmware and is much easier with arduino. Connect the arduino board with a usb cable to your computer. Download and install the arduino ide ( From here





If you are interested in generating an RF signal, there is a simple way with a raspberry pi gpio (beware of some odd harmonics). You may read it here (



Also an other application of the module to study weak signal propagation (WSPR or whisper) -

Weak signals and a random piece of wire with ad9850 dds and arduino - testing out WSPR



Source code: Source code:

Paste the code (courtesy : nr8o) below in to the ide and press upload and turn the receiver on and check at 10MHZ. I have put a frequency shift at every second and can be easily noticed. See the video at the end.If you are interested in generating an RF signal, there is a simple way with a raspberry pi gpio (beware of some odd harmonics). You may read it here ( Raspberry pi as a simple low cost rf signal generator [quick and dirty solutions]) Also an other application of the module to study weak signal propagation (WSPR or whisper) -



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 /* * A simple single freq AD9850 Arduino test script * Original AD9851 DDS sketch by Andrew Smallbone at www.rocketnumbernine.com * Modified for testing the inexpensive AD9850 ebay DDS modules * Pictures and pinouts at nr8o.dhlpilotcentral.com * 9850 datasheet at http://www.analog.com/static/imported-files/data_sheets/AD9850.pdf * Use freely */ #define W_CLK 8 // Pin 8 - connect to AD9850 module word load clock pin (CLK) #define FQ_UD 9 // Pin 9 - connect to freq update pin (FQ) #define DATA 10 // Pin 10 - connect to serial data load pin (DATA) #define RESET 11 // Pin 11 - connect to reset pin (RST). #define pulseHigh(pin) {digitalWrite(pin, HIGH); digitalWrite(pin, LOW); } // transfers a byte, a bit at a time, LSB first to the 9850 via serial DATA line void tfr_byte (byte data) { for ( int i = 0 ; i < 8 ; i ++ , data >>= 1 ) { digitalWrite(DATA, data & 0x01 ); pulseHigh(W_CLK); //after each bit sent, CLK is pulsed high } } // frequency calc from datasheet page 8 = <sys clock> * <frequency tuning word>/2^32 void sendFrequency ( double frequency) { int32_t freq = frequency * 4294967295 / 125000000 ; // note 125 MHz clock on 9850 for ( int b = 0 ; b < 4 ; b ++ , freq >>= 8 ) { tfr_byte(freq & 0xFF ); } tfr_byte( 0x000 ); // Final control byte, all 0 for 9850 chip pulseHigh(FQ_UD); // Done! Should see output } void setup () { // configure arduino data pins for output pinMode(FQ_UD, OUTPUT); pinMode(W_CLK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(RESET, OUTPUT); pulseHigh(RESET); pulseHigh(W_CLK); pulseHigh(FQ_UD); // this pulse enables serial mode - Datasheet page 12 figure 10 } void loop () { sendFrequency( 10.e6 ); delay ( 1000 ); sendFrequency( 10.01e6 ); // freq delay( 1000 ); }



There are some better libraries if you want to do more with arduino and ad9850.







Direct digital synthesis or DDS is becoming popular among many electronic hobbyists. The availability of the popular AD9850/51 based ebay modules at a very reasonable price has made it possible to quickly setup a nice RF signal generator with an AD9850 module and a micro-controller. In a previous post, i have described an option to control them without a microcontroller ( Read here ). The basic point is to tell the frequency value to the AD9850 in what ever possible way. The use of a microcontroller makes it easy and open up a wide range of possibilities. For example it is easy to build an automated CW beacon or to make a simple sweep generator. This module can also be controlled by a raspberry pi and will be in an other post. If you are interested a pi can be used as an RF generator with its built in pll!So for a quick test of the module you need an arduino boeard and i used a uno with atmega328. But it should work with any other versions as well. Just keep track of the pin numbers used. So get a couple of connectors and hook it up to uno board as shown in figure. Load the sketch below and tune your receiver at 10MHZ and watch. Attached a small video of my test after a small break.There are two popular ebay boards and their pin connections are usually written over them. But have a look at the figure below to get an ideaThere is an other module which is also popular and the connections are similar. Make sure you connect D7 , W_CLK, FQ_UD, and RESET pins correctly to arduino (see figure for details)