Russ G4SAQ built the OCXO/Si5351A Synth kit. On programming the Si5351A, Russ writes:

I have built this kit to drive a modified satellite LNB LO so I needed a means of programming the si5351a. As I am familiar with PICs, I wanted to use that approach, rather than the AVR microcontrollers which you favour.

The real problem I faced was getting i2c to work on a modern PIC16 device. It was hard to find any readily available code. Eventually I found some Microchip code in the now redundant PIC18 peripheral libraries and that is fine after minor tweaks.

I have written two PIC projects. The first is my own work and it utilizes a register file generated by the Silabs ‘Clockbuilder’ Windows software. This works well.

Click to download files:

main.c for PIC16F1459
i2c.c based on Microchip library code
i2c.h based on Microchip library code
i2c.c Generated by the SiLabs "ClockBuilder" software

 

The second project utilizes code from your website under the title, “Example 2: using AVR's TWI (I2C) peripheral”. I took the si5351a.c file (and its header) and adapted them for PIC use. This also works well.

Click to download files:

main.c for PIC16F1459
si5351a.c QRP Labs demo code adapted for PIC use
si5351a.h header file for the si5351a demo library
i2c.c based on Microchip library code
i2c.h based on Microchip library code

 

Thanks for sharing, Russ!

Please also refer to documents and theoretical discussion on the main Si5351A Synth kit demo page.