• You can now help support WorldwideDX when you shop on Amazon at no additional cost to you! Simply follow this Shop on Amazon link first and a portion of any purchase is sent to WorldwideDX to help with site costs.

BinaryRock

Got this thing putting out a nice waveform. At 9.2v, the LDO hovers at about 120 degrees F.

I had to reorder boards again because AI had me believing pin 37 was updi when it was really 41. So i fixed that and added I2C pullups and the third round of boards is now in production. This voltage controlled output idea worked sweet.

With a board sloppily fixed (pin 41 rerouted), I set it to 15MHz with 9.2v going in, I get this with a 1x probe:
View attachment 77713

and with 3.6v going in:
View attachment 77714

Voltage control seems to work good for setting output level. Hopefully this is the last round of ordering boards now. I have mastered every screw up possible along this journey but I finally have a decent signal coming out. I will use this bodged together board to work on code while the new boards are being stamped out.
In regard to re-ordering boards, I can't count how many engineers I know, that have been down that road, too many times, so don't feel bad about it.

When you are all done, you need to measure phase noise.

Have fun!

SL
 
In regard to re-ordering boards, I can't count how many engineers I know, that have been down that road, too many times, so don't feel bad about it.

When you are all done, you need to measure phase noise.

Have fun!

SL
Yep, I fully intend to. My first adventure with the 5351 was an adafruit board. Perhaps the amazon store I bought it from was pretending to be adafruit, but that 5351 was 100% counterfeit. It did output a signal, but the phase noise was TERRIBLE. With the scope triggering on it, it wouldnt sit still. I ordered two 5351's from mouser and swapped it. It was stable after that. Even the markings were obviously lasered off and reprinted.

All mine are direct from mouser so they should be ok but I will check anyhow.
 
Yep, I fully intend to. My first adventure with the 5351 was an adafruit board. Perhaps the amazon store I bought it from was pretending to be adafruit, but that 5351 was 100% counterfeit. It did output a signal, but the phase noise was TERRIBLE. With the scope triggering on it, it wouldnt sit still. I ordered two 5351's from mouser and swapped it. It was stable after that. Even the markings were obviously lasered off and reprinted.

All mine are direct from mouser so they should be ok but I will check anyhow.
I have a bunch of 5351's, only one is adafruit. I have put my DDS projects on the back burner, probably till winter. I probably have some fakes too. I need to look at them more closely.
 
Not sure my gear is good enough to get a real measurement. The datasheet on my analyzer says < -98 dBc/Hz @ 1 GHz, 10 kHz offset, but I know it should be better than that at HF. Whether that's good enough or not, I have no clue. I've never done a legit phase noise measurement before and I have no clue what to expect from this 5351. May have to measure the SA's phase noise first, IDK.
 
@SuperLid
I connected a rubidium standard to the SA reference input and connected the reference output to the front input hoping that the rubidium source had a better phase noise than the SA in hopes to get an idea what the phase noise of the SA is.

I got this, 85.85dB down at +100Hz offset with RBW at 1Hz:
rubid.png


I then programmed the 5351 to output 10MHz and measured that. Since I did not calibrate the frequency yet, I simply offset the second marker by the same 100Hz and ran the averaging again. This time it showed 88.43dB. Somehow it is better than the rubidium source even though the rubidium was still being used as the reference.
si5351.png

Not sure how to interpret that, but if I adjust the voltage on the binaryrock board, the carrier peak and the second marker (and the entire noise floor) move in sync.

I don't know if the phase noise of the SA is limiting the measurement, but I am going to call this good enough. I did notice that the SMA on the rubidium was a tad loose when I took it all apart though, so maybe that should have been tightened better.
20260906_031521.jpg
 
Last edited:
@nomadradio

You'll be getting your speed-sensing encoder option.

I ended up paying for grok and I am glad I did. I preloaded it with a ton of details and it output a pretty impressive code. This thing will allow analog and encoder clarifiers (pad 32 selects which), and the clarifier range will be set with pads 30 and 31 (5kHz, 2.5kHz, 1kHz or 500Hz clarifier range on both analog and encoder side). It also has a min, max and center voltage entry for mapping the analog clarifier. The encoder will have three speeds, 1Hz, 10Hz and 100Hz based on rotation speed (push to center). The sketch also determines the optimal settings for the synth based on the soldered frequency so hopefully there will be no pll resets using the clarifier. Since grok is hammering out working codes with every idea I feed it, I might have to ask it about FM too.
 
This is where I am at so far.
pin description.jpg

Unfortunately, I am short a few ground connections. Gonna have to splice ground in somewhere for encoder and band switches. Or solder em to the sma pads. Sorry. I do not recommend an SMA connector, should have did header holes to avoid unnecessary load capacitance from coax.
 
Last edited:
added the option for the foxhunt mode to identify with callsign and added entries for that, interval and WPM. Also added the option to use it as a CW practice transmitter. When in analog clarifier mode, the encoder inputs are unused. No more. One pin low turns the output off and the other low turns it back on. Now we can add a key.

edit to add:
Here are the user settings at the top of the sketch


// ============================================================
// User settings
// ============================================================
#define XTAL_HZ 25000000UL
/*
Frequency correction in parts-per-billion.
positive = reference runs high
Example: +2.3 ppm -> +2300
f_xtal_used = XTAL_HZ * (1e9 + ppb) / 1e9
*/
#define FREQ_CORR_PPB -672L
// 0 = use the 28 pads. Nonzero = ignore pads and use this Hz.
#define FORCE_FREQ_HZ 0UL
#define USE_CRYSTAL 0 // 0 = TCXO on XA, 1 = quartz
#define CRYSTAL_LOAD_PF 8 // 6, 8 or 10; ignored if TCXO
#define CLK0_DRIVE_MA 8 // 2, 4, 6 or 8
#define DEFAULT_HZ 10000000UL // if no pads soldered
#define FREQ_MIN_HZ 2600UL //outputs off ouside this range
#define FREQ_MAX_HZ 160000000UL
#define SI5351_ADDR 0x6F // part specific
#define SI5351_WRITE_ADDR (SI5351_ADDR << 1)
#define VCO_MIN 600000000UL // leave these alone
#define VCO_MAX 900000000UL // leave these alone

// Analog front-end. Measure the pot and type the three voltages in. Must
// be within the supply voltages so if your clarifier exceeds that, add a
// resistive divider to the input so the max wiper voltage in is 3.3v.
#define VREF_MV 3300 // LDO regulator voltage
#define V_MIN_MV 0 // lowest clarifier wiper voltage
#define V_CENTER_MV 1650 // wiper voltage at detent
#define V_MAX_MV 3300 // wiper voltage at max clarifier
#define V_DEADBAND_MV 40 // voltage around V_center for 0Hz

// Encoder: time between quadrature edges picks the step.
#define ENC_SLOW_US 20000 // slower -> 1 Hz
#define ENC_MED_US 4000 // slower -> 10 Hz, else 100 Hz
#define ENC_STEP_SLOW_HZ 1 // these are the encoder speed settings
#define ENC_STEP_MED_HZ 10
#define ENC_STEP_FAST_HZ 100

// Foxhunt - Telemetry transmitter config
#define FOX_ON_MS 40UL // duty cycle on time
#define FOX_OFF_MS 2000UL /// off time
#define FOX_IDENTIFY 1 // 1 yes, 0 no
#define FOX_CALLSIGN "N0CALL"
#define FOX_ID_MINUTES 10
#define FOX_CW_WPM 18

I am about to go to bed, but I will be thinking about what pin can be used to accept NMEA data :) There has to be a way to squeeze that into the firmware too, if I can find a place to plug it in. Make this thing an active GPS tracker too
 
Last edited:

dxChat
Help Users
  • No one is chatting at the moment.