I have been updating the UI on my Si5351 signal generator a little bit today. I think it is about where I want it to be. I display all three clock frequencies directly at the moment. There is the notion of a current clock that will be displayed in yellow text. The other two are displayed in white text. In the image below, CLK2 is active. The active clock is the one that will be modified if you rotate the rotary encoder.
Each of the clocks can be set anywhere in the 8 kHz to 160 MHz range. However, I still have some anomalys as at very low frequencies and at very high frequencies, the clock output does not follow the display. Obviously, I have more reading to do on the Si5351 datasheet to understand what I am doing wrong.
A button press will cycle through the three clocks. The rotary encoder press will cycle through the digits of the frequency allowing you to change the tuning rate. I may get rid of the button and have the rotary encoder button press cycle between selecting the clock (by turning the encoder) and changing the digit that is changed when the encoder is rotated. Dunno...
I may give some thought to treating one of the clocks as a VFO and another as a BFO and displaying the difference between them for the VFO clock, but setting the output frequency to the sum of the displayed frequency and the BFO frequency. This would allow for a receive frequency display while the actual VFO frequency is quite different. In this mode the signal generator could be a convenient receiver display. This could also be an update for another day. I also want to provide some indication of which digit will be changed when you turn the encoder. Currently no indicator is present.
Currently I am running this on my ATMega2560 but the plan is to use an ATTiny85 or perhaps one of the small ATMega328 units such as the Nano, or the Adafruit Trinket Pro.
So, once I get the frequency setting questions answered, I am going to put the arm on my oldest son to 3D print me a small box where I can package up the display, rotary encoder, power switch, Arduino and the Si5351 into a nice battery powered, portable signal generator unit.