If you happened to get one of those $7 SDR radio dongles from ebay and need to put it to work... here's one thing I tried...

Tune in with the R820T... (Using HDSDR)


This is both radios running on one channel.  They are out of tune enough that the channels don't even overlap!

Now I switch them into beacon mode and tune to 925.000 MHz...


Now I tune them up by adjusting the EZRADIOPRO_OSC_CAP_VALUE to get this...


Through the magic of special effects, I can overlay them...


Below are the before and after pics of normal transmissions (non-beacon mode)...



Settings used...


Here are the actual results I measured (warming up and final calibration)...

Ground = +7.3 khz @ OV 204 (cold)
Ground = +6.5 khz @ OV 204 (warm)
Ground = +6.1 khz @ OV 204 (hot)
Ground = +0.1 khz @ OV 208 (warm)

Air = -6.5 khz @ OV 204 (cold)
Air = -6.2 khz @ OV 204 (warm)
Air = -7.1 khz @ OV 204 (warmer)
Air = +0.6 khz @ OV 199 (warmerer)

All the pictures in this post are to the same scale.  The FSK signals (wider pictures) are on a different frequency than the beacon signals.

Make any predictions on expected range improvement below...  

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Lively discussion is never a waste of time.  I think Michael stumbled on something really cool with the AFC tuning register.

    One thing I plan to do is make a good beacon mode for the firmware.  Being on frequency is helpful for that.

  • MR60

    @Art, thank you for extensive details about internal works and tolerances. As far as I'm concern since the experiment Jake did lead to a very easy solution (and a fun DIY activity) to implement, I do not understand your insistance on trying to convince him it is a loss of time or efforts. You probably spent now more efforts trying to be right than optimizing your radios lol.

    Always stay tuned !

  • Jake,  if your goal to have internal zen about your equipment reaching the state of perfection then it is definitely not a waste of time.  However if you are trying to improve your radio performance then your experiment failed.  Your original mismatch between two radio frequencies was 13kHz .  That difference should be more than twice that value to see any quantifiable increase in sensitivity from your tuning.  I don't really expect to see much bigger variations in the HM-TRP module.  Granted Chinese components don't really boast the highest tolerances  but even so the hardware that is used makes your tuning superfluous.  The channel frequency in this radio is derived from the 30MHz crystal made by a Chinese company CTS.  According to the data sheet it should have frequency tolerance of +-30ppm.  So worst case scenario two radios based on this crystal can be out of sync by 54kHz  At first glance that would give you a noticeable ~3dB increase in receive sensitivity.  However keep in mind that to achieve such a difference you would have to have a perfect storm of two radios that are 180 deg out of phase so to speak, as far as tolerances go.  Now, if you keep one radio at one end of the operating temperature range and the other at the other (-20C to +70C) then the difference can be pushed to 144Khz attributed to crystal stability tolerances.  In which case your tuning would be somewhat beneficial but at the extreme would make no difference since the dominating factor would be stability tolerance.

    So to sum up -  you can definitely find circumstances when having your radios completely in-sync would provide increase in receive sensitivity, however majority of users will never encounter those circumstances.  So if you are one of those one-in-a-million people for whom everything always goes wrong, then there might be a good reason for you to do it.

  • @Michael Utz...  That is an awesome idea!  A runtime tuner is perfect!  Once both radios are tuned in, the air unit can continuously adjust it's tuning value to stay matched to the ground.  The air unit is likely to experience the most temp drift, so tuning the tuned ground station is the way to go!  Maybe we can collaborate on figuring out that feature.

    @Art... I hardly think it's a waste of time to tune in your radio gear.  Most hams would probably actually consider it a responsibility.

    If we were to go from that datasheet graph then +/-70kHz would give you the best sensitivity.  Michael's AFC based tuning idea could keep it in that magic spot where the AFC actually pulls in out of tune frequencies BETTER than normal radio sensitivity.

    On my Baofeng HT I think the step size is 12.5 kHz, which is about the total correction applied to my radios.  So in a beacon mode application proper tuning could be the difference between being on channel and being in between channels.

  • note the question mark

    I'm so sorry to misquote you.  There is really no particular meaning to the combination of "!?"  There is a valid combination of "?!" called interrobang designed to convey exclamatory question, like in: "What were you thinking about?!", which doesn't really fit here either.  Just a piece of trivia for you this morning.

    And we have our first nay-sayer!  Only time will tell

    It just shows that nobody is paying attention or really understands the hardware.  And you don't have to rely on time. Just read the datasheet before you go to all the trouble of writing code and making people jump through all the hoops for no particular reason.


    The interrobang (), also known as the interabang (‽) (often represented by ?!, !?, or ?!?), is a punctuation mark used in various written languages a…
  • Thx Jake,

    i successfully tested you 433 version. Furthermore I did a comparison between the SDR Spectrum analyzer and a HP E4407B Spectrum analyzer I have available in the company I work for. The difference in the measurement is about 23 khz. 

    I did a bit investigation in the code and think the AFC is switched on at radic.c line 810 register_write(EZRADIOPRO_AFC_LOOP_GEARSHIFT_OVERRIDE, 0x44);

    But for me it is not clear why it is 0x44 instead of 0x40 which is the default value  stated in document https://www.silabs.com/Support%20Documents/TechnicalDocs/Si1000.pdf page 288 Register 1D?


    I have an idea how to adjust the TX frequency offset automatically during runtime (ufc) uplink frequency control.

    In the Si1000 Document page 289 Register 2B it is possible to read out the AFC correction. According to this parameter, we can adjust  the EZRADIOPRO_OSC_CAP_VALUE.

    Page 253 the AFC Documentation:

    The value read can be converted to kHz with the following formula: AFC Correction = 156.25Hz x (hbsel +1) x afc_corr[7: 0]

    With this it is also possible to compensate the temperature drift.

  • I didn't find any data about the "spectacular range boost"  Seems like an entertaining albeit rather pointless frequency analyzer exercise

    Hopefully I haven't billed this as anything else.  You are misquoting me though.  The title was "Spectacular range boost!?", note the question mark.

    So with AFC enabled it will pull in a frequency with a 13kHz offset with virtually 0dB loss in receive sensitivity.  So no, there is going to be no  spectacular range boost.

    And we have our first nay-sayer!

    Thanks for the comments.  There is every chance that you are correct.  Only time will tell.

  • MR60

    Thx Jake, I will test this next week end and give feedback

  • I confess I didn't read the whole thread but in what I read I didn't find any data about the "spectacular range boost"  Seems like an entertaining albeit rather pointless frequency analyzer exercise but I don't think it affects you radio performance a bit. I'm not that familiar with SiK code so I don't know if the AFC (Automatic Frequency Control) is enabled but I would venture a guess that it is.  If not, it should be.  So with AFC enabled it will pull in a frequency with a 13kHz offset with virtually 0dB loss in receive sensitivity.  So no, there is going to be no  spectacular range boost.

  • Nice one Patrick! It's a shame Joe locked his keys in the car and that's why he's lost in the bush! ;-)

    Have you tested the range yet on the key fobs? Might actually be useful to find people in collapsed building etc, if the people know that it can be used to locate them!


    A modified 3DR/HopeRF radio firmware in an energy saving beacon mode might be a good kickstarter though for cheap EPIRB. EPIRBs run at 406mhz, so a 433Mhz version should easily work in that band from memory. RF penetration through solids is always an issue but better than nothing...but it's ideal for using it outdoors. Having a $30-40 EPIRB would be pretty good value for money, instead of $200-300. The tracking and locating hardware used by emergency responders is setup for it already so no extra costs there. 

    Could be used for asset tracking in fire prone areas like we've been having here in WA as well. 300km fire front and 700sqkm in 6 days...not fun at all when it comes within 7km with 60kmh winds and you have to evacuate! Fire plasma wreaks havoc with RF though... :-( A flying comms platform would help though, seeing that if you already have fire over your head, means you're already in big doodoo. Time to put the sprinklers on again.

This reply was deleted.