Skip to main content
Associate II
May 20, 2026
Solved

STEVAL-MKBOXPRO BLUENRG-LP Transmit Power cannot be changed ... in practice

  • May 20, 2026
  • 4 replies
  • 97 views

Hi,

i experimented the following configuration STEVAL-MKBOXPRO with BLEMLC code available within FP-SNS-STBOX1 package. For my specific application, i want to increase the BLE transmit power of the BlueNRG-LP chip of the MKBOXPRO. So i modified the code with the aci_hal_set_tx_power_level(1,31) +8dBm (since default value was  aci_hal_set_tx_power_level(1,4) -16dBm). Everything is fine with compilation with Cube IDE.

But in practice with the app ST BLE Sensor v5.2.6, the real connection distance still remains about 25m, with a disconnect when RSSI is about -92dBm. These values are correct but what is not correct is that any tries to change aci_hal_set_tx_power_level with different "theoretical" power levels (from -54dBm to +8dBm) do not change anything in practice. It looks like aci_hal_set_tx_power_level has no effect on "real" transmitted poser.

Any help will be welcomed to this topic.

Thanks reading et thanks in advance or your help. Christian

Best answer by dufaza

Hi Andrew,
yes, you’re right, i must help others to understand this issue.
As you know, i’m using MKBP with some BLEMLC code, modified for my specific application.
So, i tried to increase/decrease the RF ouput power of the STM32WB07KC chip (BlueNRG-LP) with the  aci_hal_set_tx_power_level function.
But in this code (originally BLEMLC) there is one line to fix TX power for advertising and another one to fix TX power for transmitted data … and i just changed in the past the 2nd one.
So, with my smartphone i detected principally/observe the TX power of advertising … not the other one.
So, in conclusion, i’ve no problem … the aci_hal_set_tx_power_level function works perfectly.
I also experimented PHY_LE_1M, PHY_LE_2M and also PHY_LE_CODED, all that works perfectly.
And for my application PHY_LE_CODED is very interesting since i multiplie by 2-3 my BLE distance range.
Also, i may observe that the printed antenna of the STBP and the filter … etc. absorbe about 20dBm (not really certified measures). An external ANT2 may be helpful.
I keep available if you need additional comments.
Best regards, Christian

4 replies

dufazaAuthor
Associate II
June 17, 2026

I solved this problem … but i don’t know how to close this topic !

Andrew Neil
Super User
June 17, 2026

i don’t know how to close this topic

Tell us how you solved the problem, and then mark that post as the solution.

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User
June 17, 2026

@dufaza you didn’t say how you solved the problem!

It would be helpful for other users who may be having the same issue, and are searching for the solution.

 

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
dufazaAuthor
Associate II
June 17, 2026

Hi Andrew,

yes, you’re right, i must help others to understand ths issue.

As you know, i’m using MKBP with some BLEMLC code, modified for my specific application.

So, i tried to increase/decrease the RF ouput power of the STM32WB07KC chip (BlueNRG-LP) with the  aci_hal_set_tx_power_level function.

But in this code (originally BLEMLC) there is one line to fix TX power for advertising and another one to fix TX power for transmitted data … and i just changed in the past the 2nd one.

So, with my smartphone i detected principally/observe the TX power of advertising … not the other one.

So, in conclusion, i’ve no problem … the aci_hal_set_tx_power_level function works perfectly.

I also experimented PHY_LE_1M, PHY_LE_2M and also PHY_LE_CODED, all that works perfectly.

And for my application PHY_LE_CODED is very interesting since i multiply by 2-3 my BLE distance range.

Also, i may observe that the printed antenna of the STBP and the filter … etc. absorbe about 20dBm (not really certified measures). n externam ANT2 may be helpful.

I keep available if you need additional comments.

Best regards, Christian

dufazaAuthorBest answer
Associate II
June 17, 2026

Hi Andrew,
yes, you’re right, i must help others to understand this issue.
As you know, i’m using MKBP with some BLEMLC code, modified for my specific application.
So, i tried to increase/decrease the RF ouput power of the STM32WB07KC chip (BlueNRG-LP) with the  aci_hal_set_tx_power_level function.
But in this code (originally BLEMLC) there is one line to fix TX power for advertising and another one to fix TX power for transmitted data … and i just changed in the past the 2nd one.
So, with my smartphone i detected principally/observe the TX power of advertising … not the other one.
So, in conclusion, i’ve no problem … the aci_hal_set_tx_power_level function works perfectly.
I also experimented PHY_LE_1M, PHY_LE_2M and also PHY_LE_CODED, all that works perfectly.
And for my application PHY_LE_CODED is very interesting since i multiplie by 2-3 my BLE distance range.
Also, i may observe that the printed antenna of the STBP and the filter … etc. absorbe about 20dBm (not really certified measures). An external ANT2 may be helpful.
I keep available if you need additional comments.
Best regards, Christian

Visitor II
June 17, 2026

Thanks for posting the solution. The clarification about changing the TX power for advertising versus transmitted data is very helpful. I can see how that could lead to confusing test results when measuring signal strength with a smartphone.

Your observations on PHY_LE_CODED are also valuable. Thanks for sharing your findings with the community.