Hotspot Offset Calibration

Most of the boards I've been getting lately have required adjusting the offset to function properly on DMR. Many boards are shipped with a sticker on the bottom with the required offset. These are usually pretty close. There is however a way to get this more exact and specific to your radio.


Luckily there is a utility built in to Pi Star that enables you to tune your offset. All it requires is pen and paper, a calculator and a little time.

Step one is to gain ssh access to your Pi. The easiest way to do this is go to "Configuration" then click "Expert" then "SSH Access" and log in with pi-star and your password.

Next set your radio to VFO Digital mode at 433.000mHz TS1 TG9

Then go back to SSH and type "sudo pistar-mmdvmcal" this will start the calibration program. Type "m" this sets a 1031 Hz test tone. Next press the "space bar" to start transmitting. You should hear the test tone on your radio at this point. Next press the "f" key repeatedly until the radio goes silent. After that press the "F" key multiple times until the tone comes back. Write down the frequency at which the tone comes back. Now you have to go the opposite way. Press "F" until the tone stops followed by "f" and write down the frequency where the tone comes back again. Next subtract the lower frequency from the higher frequency of the two you just wrote down. Divide that number by 2 and add the result to the lower frequency. Now the difference you get from 433mHz is your offset.  
To sum up
  • sudo pistar-mmdvmcal
  • m
  • space bar
  • f (repeatedly until you lose the tone)
  • F (repeatedly until the tone comes back)
  • F (repeatedly until you lose the tone)
  • f (repeatedly until the tone comes back)
  • subtract lower frequency from higher frequency
  • divide that number by 2
  • add the result to lower frequency
  • find difference between result and 433mHz

Once you have your offset you have to set it in Pi Star.

You'll need to go to your pi-star dashboard, then "Configure" and "Expert" Now click on "MMDVMHost" Scroll down to "Modem" and enter your offset in RXOffset and TXOffset. Don't forget to click "Apply Changes"

Still having trouble talking to your hotspot?

The above method will usually get you close enough but if it doesn't there is a method to tune your hotspot for a minimal BER.

First, set your radio to 433.000mHz Talk Group 1 and Color Code 1.

Next, use the same command in SSH to start mmdvmcal "sudo pistar-mmdvmcal" then press "b" to start the BER tuning program. While pressing the PTT on your radio press the "f" key or "F" key to adjust the frequency until you get the smallest BER you can achieve. However far off you are from the starting frequency of 433mHz is what your RXOffset should be set to.

Tip: These are the instructions for DMR. When you start the mmdvmcal program it displays a list of codes for other tests and other modes you can test.


  1. My copy of pistar-mmdvmcal does seem to have a "b" command to start the BER tuning program. Am I missing something or has it been removed from the pi-star software?

    Bishop Ellison

    1. I haven't done it in a while but it should show a list of commands as soon as you launch mmdvmcal and the "b" command should be listed.

  2. Thanks for posting this guide.

    Please could you just clarify what you mean by "until the tone comes back"? I am finding around 500Hz difference between the point where the tone is first audible (with some digital noise) and the point where it becomes a clean signal. Interestingly, this only happens at the bottom end. The top end goes from silence to a clean tone in the space of 50Hz.

  3. Interesting - I had an offset of 700 that would yield a reasonable BER range of 0.3 to 0.8% on DMR. This was done by simple trial and error with some heavy parrot usage. I used this calibration method and tool which came up with an offset of 175. When trying to use that, I was unable to even access the hotspot. Any thoughts on why the suggested offset was so far from the value that worked?


Post a Comment