Cracking open the Adafruit Si5351 DDS Module

Submitted by m_sabal on Wed, 04/20/2016 - 20:44

4/13/16: I want to build a handheld 6m/10m USB transceiver for ARES field work. The tolerances required for such a job even ten years ago would have made it too expensive to be worthwhile. The proliferation of cheap direct digital synthesis (DDS) modules, along with many Youtube videos demonstrating their use, now allows radio technicians of even basic skill the chance to put together a custom radio that really shines. I chose two different DDS modules to see which one gives better results: Adafruit's Si5351 DDS module, and Analog Devices' AD9351. The Si5351 can be programmed for three independently controlled outputs of 1MHz to 150MHz. Some versions of the module have been reported to work from as low as 8kHz to near 200MHz. It only has square wave output, so sharp filtering is essential. The AD9351 will work from DC to 40MHz, or up to 70MHz in a wideband configuration. It offers a choice of sine wave or square wave outputs, two of each. While there are four output channels, each sine/square pair are controlled by the same oscillator, so only two separate frequencies may be selected.

4/20/16: I dusted off the Arduino Uno that I haven't used for much of anything the past year. It was going to be the core of a laser tag tank robot, but that project ran out of steam until I can get more and better parts. I took the DDS Module out of the box, and attempted to connect it to the 8-pin header that it came with. The module only has 7 holes. I remember reading somewhere how to break one pin off the header without breaking the whole thing. Once I find it, I'll update.
Update: The Adafruit tutorial, https://learn.adafruit.com/adafruit-si5351-clock-generator-breakout/ass…, just says to "cut the strip to length". I'll give it a try with either a box cutter or scissors, but if it doesn't work, eBay has a 4-pack of 7-pin straight headers for $1.79.

4/21/16: The scissors did the job fine, so now I'm on to programming a library to light it up.

4/22/16: I was going to use the library from https://github.com/NT7S/Si5351, but found that the Adafruit library already had most of the functionality in it. I just needed to add a function that would select PLL frequencies, multipliers, and divisors based on a requested frequency. I've added the sketch as it is so far to the attachments. My current challenge with the Sketch is it only allows frequency selection of 667KHz to 112.5MHz, much less than the 8KHz to 150MHz that is supposed to be allowed; but well within the range needed for 6m and 10m operation.