Changing Main frequency of HM-TRP 3DR Radio for Telemetry using AT Commands

I spent some time reading inHM-TRP Series 100mW Transceiver data sheet as well as SiK source code I wanted to know that if the 433MHz and 913 MHz is something fixed in the chip, that is why modules are sold either 433 or 913 or it is something you can change EASILY :)

Luckly I found that frequency is something not fixed, however in the source code of SiK, it is stored in board_frequency as input preset parameter when building the code, and it is passed to the firmware part in main.c where it is used for initialization.

Well I decided to make minor change,  I added a new variable -the 16th variable- called Main_Freq 

it can be given the following values

FREQ_433 = 0x43,

FREQ_470 = 0x47,    

FREQ_868 = 0x86,

FREQ_915 = 0x91,

These values are defined in board_info.h file 

Typical steps to change frequency are:

  1. +++ to enter AT commands mode.
  2. ATS16=67 to change to 433 MHz
  3. AT&W to save settings
  4. ATZ to reboot (Mandatory)

Another interesting thing is that the chip originally support frequencies as low as 240 MHz, however the firmware does support the above four frequencies only.

Now if you need to change frequency using only Firmware without the need to update the Bootloader you can use my changes...I hope you find this useful. 

Please note that you should use proper antenna for each frequency

Views: 6081


Reply to This

Replies to This Discussion

AFAIK each 'type' of board has different antenna circuit, so it's not reasonable to use i. e. 433 radio as 915...

based on data sheet they are the same, also the  code clearly shows that different frequencies are put in select statements and if conditions not [ #ifdef] as it in code such multiwii code that supports different hardware sensors.

I have the 433MHz version, and I tried the 915MHz on it after raising the TXPower to 20 and they TX & RX were near and they received data.

I will try to make a 915MHz antenna, to see if it really works with good ranges or not.

Thanks for the find!

When I read this post I was skeptical about changing the RF operating band without changing any components on the circuit board because usually radios have filter circuits which are particular to an operating frequency range.

However, I think that may not be the case here.

From the HM-TRP documentation that I've read , the modules seem to require no external RF tuning and therefor they should be able to work on different bands without any physical modification.

By way of Google search, I did find [ may have found ] a setup utility HERE for the HM-TRP module.

There may be some additional register settings that the utility program changes besides the one that you've shown,[ but that is just speculation on my part.]

The utility supposedly works on COM 1 only , so you may have to change your COM port assignments in Windows to make it work.

I haven't  tried  the program, so I can't say for certain if it works or not.

Also... This link HERE 2 is an index list of other utilities & documents for HopeRF stuff... There are four pages in the index.

And as you already mentioned... always make sure that you have the correct antenna for the frequency of operation or the radio amplifier could get burnt out.


Thank you for feedback.

regarding "There may be some additional register settings " yes there is and that is why I change g_board_frequency variable and ATZ "reboot' is mandatory. because it is used radio.c file starting from comment "// set the registers from the tables" to update the registry.


I can't see where datasheet for HM-TRP states that each version is the same.

Each type of HM-TRP module has different L and C elements in antenna circuit. They're factory pre-tuned for frequency band. You can change frequency band "by software", but "hardware" will stay the same. Take a look on i. e. 433 and 868 - with naked eye you'll see that inductances are different.

Kindly access this link

the first page states : Frequency range = 240–960 MHz

also page 249/250 table Table 23.3. Frequency Band Selection  that shows different frequency you can operate the chip in.

However based on your feedback -sorry I only have the 433- L & C outter circuit are difference, which suggest that the IC is the same while there could be different L & C for different frequencies .....

Again I tried the attached hex file on on my telemetries and they did send data with high error rate, which I supposed to be because of the improper antenna I used -a 433 one-, it could also be because the L & C that you suggest.

In my experience I raised power of TX to 20 and get them near only 30 cm away of each other and they sent data to each others with missing characters lost.

I've never stated that the difference is in IC - from begining I told you that difference is in HM-TRP module. That's why HOPE offers different versions for different bands.

seems I misunderstood this sorry :)

still I will update you when trying wit the other antenna I plan to make ... I hope it works well.

I'm afraid this doesn't work in any reasonable way (and yes, I did try it a long time ago).

Each board has a different analog output stage, with different filtering. So if you run a 915 radio at 433 then you can communicate at very short distances, but it will be like using a 433 radio with a attenuator attached to it. The attenuation will be large enough that the range is cut to just a few meters.

I have used this trick to test 433 mode when I didn't have a 433 radio, and it did allow me to test the code at a range of a few meters, but it is no good for actually flying.

Cheers, Tridge

Okay so after reading this thread,

is my understanding correct, the cards can do either 433 or 915 BUT the filters are different...

is that because they are physically different?


because the analogue output is simply giving different voltage/current to the filter?!

Because they are physically different.

433 or 868 or 915MHz

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service