How to set the tx power to more than 12 dBm on 433 MHz

Hi all,
Yesterday i wrote this issue on the github page ([Feature Request]: No power limitations please... · Issue #2016 · meshtastic/firmware · GitHub) before i found this forum site. The issue was closed quickly but without any useful advice.
So, once again, in this forum, with the hope of a concrete and practicable solution:

The output power of a TTGO Lora module could be set to up to 20 dBm however the (Android) App is limiting the power to max. 12 dBm at 433 MHz, obviously because of regulatory considerations.

However some people want or need to compensate the losses of a longer and thin coax cable between transceiver and antenna. At 433 MHz you can easily get losses of 8 dB like shown on the graphs of my post on github (link above).
If one could set the power to 20 dBm and use a coax cable with 8 dB losses, you will come out at 12 dBm at the antenna feed point, so everything is fine!

Also, the operator of a transmitter site is responsible for keeping regulatory power limitations, not the software writer. So i see no reason why users should be forced to run just 16 mW instead of the 100 mW that could be used.

I also tried using the python cli but a value of 20 dBm is not accepted.

Any suggestions how to practically solve this issue?
Kind regards

Like I said in the issue it is likely being restricted by radio lib or regulations in your region

OK, thanks, but with this information i don’t know how to solve this problem. Sorry, i’m not a real programmer.
What do i need to do, in concrete steps please, to set that power level to 20 dBm?
I’m sure i’m not the only one who would profit from getting rid of the 12 dBm maximum.

My request would be to remove that limit in a future FW release, so that everyone could profit from the 20 dBm these modules are capable to deliver.

Also, the regulation is for the ERP (effective radiated power), not for the transmitter output power. Running 20 dBm into a coax cable that has 8 dB losses results in the same ERP than running 12 dBm connected to the same antenna without the cable. This is why a power setting limit in the App is not useful.

You will need to customize the firmware or be a licensed operator to exceed your local regulations.

OK, i located and replaced “12” by “20” in line 31 in the file ~/Meshtastic/firmware/src/mesh/RadioInterface.cpp
I guess that will solve the issue. But now i have to produce my own .bin file by re-compiling, right? And this is “easily” ( i hope so) done with PlatformIO and VSC? Or is there a way to do this easier without installing additional software? Maybe some kind of make file for Linux command line?

You seem to be in the same situation I was regarding transmit power on Tbeam boards. This might help:

In short, you need to send this to the board (CLI):
meshtastic --set lora.tx_power 20


Hi Mihai,
thanks but this doesn’t help. We are talking about 433 MHz settings, not 868 or so. The App has an internal limit on this frequency. If you set the power to 20 dBm and press save, then the power is 12 dBm again after the reboot, so there must be an internal limit. Also with the CLI, i tried it a few times.
As garth pointed out, the source code must be changed. It might be a bit disappointing for others who have the same problem and lack of time and skills.
I will however take the time and will fight to solve that issue!!! Will publish the result here then.
BTW using the HAM option runs without encryption, so it is not interesting for me (although i am a HAM indeed).

It works! You simply have to replace 12 by 20, as described above. The you need to re-compile, for each device. Then you can set the TX power to 20 dBm. After the reboot you will see that the 20 is still there.

A power measurement confirmes the higher output power. BTW the output signal actually looks like a good sine wave on a scope, so the spectrum seems to be reasonable clean, at least on that T-beam V1.1

Compilation is done as described here: Building Meshtastic Firmware | Meshtastic
The first tutorial that leads to the expected result :smirk:
In the end, a file firmware.factory.bin is produced, which can be flashed to your device…

Edit: The upload to the device did not work out of VSC. I took the CLI upload instead.


I’ve done a measurement of the power consumption of a TTGO Lora V2.1-1.6 running Meshtastic V2.0.8.
Of course the higher power will consume more average power during operation. But how much more?
Here are the results:
standby (RX, router): 4.17 V * 11 mA = 46 mW
standby (RX, client): 4.17 V * 44 mA = 183 mW
12 dBm TX: 4.17 V * 108 mA = 450 mW
20 dBm TX: 4.17 V * 156 mA = 650 mW
A RF measurement showed an actual power increase of just 6.7 dB instead of 8 dB, meaning the output power is then 4.7 times higher. However the (overall) power consumption is just 1.44 times higher.
So all in all the power consumption just rises to 144 % whereas the output power rises to 470 %! A good deal i find.


Was just looking into this issue and I wonder if another alternative is to use the (recently added?) setting for 433 Malaysia. Power is 20 and frequency allocation seems to be within alloted amateur spectrum (for Canada - so maybe the same in the US).