Coding, Design, Microcontrollers

Si5351A Investigations Part 5

The Si5351 library for avr-gcc that I’ve been promising for the last four posts is finally in a state where I feel comfortable releasing it, so I’ve posted it on GitHub. I think that the documentation posted on the README file and inside the code should be enough to get you going, but if you run into problems, please comment here or file an issue on the GitHub repository.

At this point it is very basic, but it will generate frequencies from 1 to 150 MHz on any of the three outputs of the Si5351A, and you can do stuff like turn the clocks on and off and change the drive strengths of the output drivers. More features will be added as time goes on, with the priority on things which will be needed to make a functioning amateur radio transceiver.

I’d like to point out something interesting that I’ve discovered about the parts that I’ve been working with. I ordered my Si5351A parts from Mouser (P/N 634-SI5351A-B02075GT). I never had any luck communicating with them on the datasheet-specified I2C address of 0x60; instead they need to be addressed at 0x6F. Thanks to the Bus Pirate and its built-in I2C address space scan macro, that didn’t take me too long to figure out. I just chalked it up to yet another datasheet error (the Si5351 is riddled with problems), but it turns out that I may actually have some defective or custom parts which shouldn’t have made it out to Mouser.

Over the last few days, I have been corresponding via email with Ian K3IMW, who has been having a horrible time getting his Si5351 to work. After he described his symptoms to me, I suggested that he try address 0x6F, and sure enough, that worked. What confounded him was that another ham he was in correspondence with was able to talk to the Si5351 using address 0x60. It turns out that those parts that work on 0x60 were from Digi-Key and both Ian and I obtained our parts from Mouser. So, the theory is that perhaps some custom parts accidentally made it out the door to Mouser. I will try to contact Mouser in the next day or two and see if perhaps they can get it straightened out with Silicon Labs.

The moral of the story to to pay attention to where you got your parts from if you are having problems with the Si5351. Once I can get my hands on some of the same P/N from a different vendor and can confirm that it does indeed work on address 0x60, I will make the change in the library. In the meantime, you may need to change that value yourself in the si5351.h file in order to get it working.

6 thoughts on “Si5351A Investigations Part 5

  1. Hi there. Went on si5351 route and my sharing is such
    Do not use more than 1 output as it crosstalking among outputs. For bfo i used a xtall oscilator and si5351 as main vfo. A level normalizer was used controlled by DAC and ad603 to set same level on all bands. Chebasev 5 poles front end bpf was used to filter tx pa input and a 3 pole filter for pa output. Si5351 is prone to failure if high dc pulse occure on output. Burned 2 adafruit modules even capacitor was used to dc decoupling on si output. Do not use long coax cables as harmonics will generate audible birdies. My rig now is one 9 mhz superhet and using ade1 dbm , 4 x ad 603
    Raspbery pi , 2 x DAC , 4 channels DAC ,7 inches touch screen and a sotabeam vari dsp filter. After a lot of work , 1 burned raspberry pi , 2 si 5351 and countless optocouplers and 2n2222 i can tell that a clean and carefull design can produce a high performance cw contest and dx tcvr.

  2. Gabriel,

    Wow, that sounds pretty nice. I think you have the right approach. Do you have any photos or videos of this rig in action? I’d love to see it.


  3. Hi ! not sure if previous comment has arrived as my phone battery suddenly died.
    So here it is
    This is version 1 using MC1350 obsolete components and 1n4148 homemade DBM . As you can hear, my audio DSP cannot cope with large SSB filter and 1’s post mixer gets distorted when big guns are nearby.
    Now with the courtesy of Miro OM3LZ , will wait ’till 9 mhz CW filter is ready to populate new SMT board using 3 x AD603.
    In the mean time I fried the 3’td SI5351 clk0 using long coax cables and shorting it out, but hey … this is the fun part of being hamradio aint it ?
    Just as an extra info, ADE 1-24 blamed to be fake( knockoffs) , they are not !
    Got 4 of them from UK and looking at it I can tell that only 2 and 5 pin are reversed, otherwise they work beautifully.
    Hope to be ready for 2019 WAE CW Contest using my new homebrew TCVR 10 W out and hopefully 1K ldmos one .
    73’s yo8rxp

  4. Thanks much for sharing that. I like your display/user interface, nice and clean yet presents all of the relevant info. Can you tell me more about that part of the radio? What kind of controller or SBC are you using for it?

  5. Hi. Just a raspberry pi 3 b+ , original 7 inches display and pure python code ontop of kiwy framework which is an incredible piece of art.
    For band switcher i used 3 gpio into a cd4028 bcd to save precious limited gpio, 1xRTC si5351 DAC and ADC sharing same i2c bus, 2 gpio emulate DSP rotary encoder wich does not have i2c connection. I have to mention that i’ve fried a raspi in my testing and using optocouplers since. All digital part is shielded from rf including si5351 not willing to carry digital birdies up to sensitive parts. Expensive project I would say considering the amount of fried components so far.Still having problems transfering ad603 if amplifier to pcb from ugly weekender style while is self oscilating badly but will figure it out.
    73’s Gabriel yo8rxp

Leave a Reply