First Steps in Arduino-Driven DDS

Note: This project ulimately got packed up into the Si5351 Signal Generator/VFO.

With some of the gifties I received last week, I started to put together the beginnings of a DDS driven VFO using the Si5351 breakout board from Adafruit, controlled over i2c by an Arduino Duemilanove. (Credit where credit is due, this is heavily-based on m0xpd’s VFO, detailed over on his very fun Shack Nasties blog.)

The circuit, breadboard'ed and functional, outputting into the 'scope.
The circuit, breadboard’ed and functional, outputting into the ‘scope.

The wiring is fairly simple, between the Arduino, the Si5351 Breakout, and the LCD screen. Here’s the breakdown:

  • Arduino
    • Pin 1: Reserved for future encoder
    • Pin 2: Reserved for future encoder
    • Pin 3: Reserved for future encoder
    • Pin 4: ‘Up’ button (internal pullup enabled)
    • Pin 5: ‘Down’ button (internal pullup enabled)
    • Pin 6: ‘Up’ button (internal pullup enabled)
    • Pin 7: LCD Screen RS Connection
    • Pin 8: LCD Screen EN Connection
    • Pin 9: LCD Screen DB4 Connection
    • Pin 10: LCD Screen DB5 Connection
    • Pin 11: LCD Screen DB6 Connection
    • Pin 12: LCD Screen DB7 Connection
The 20x4 LCD screen is just for displaying the chosen frequency and step size, at this point.
The 20×4 LCD screen is just for displaying the chosen frequency and step size, at this point.

Here’s a very quick and dirty schematic of the circuit. The antenna symbol is meant to represent the output of the DDS.

Preliminary Schematic of the DDS VFO driven by an Arudino.
Preliminary Schematic of the DDS VFO driven by an Arudino.

The full code driving this version is on Github. I’ll dive into this code and some more explanation as the project develops, but I thought it would be worth getting out there for now:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s