<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Setting TX power with BT840XE</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126516/setting-tx-power-with-bt840xe</link><description>I have a few doubts regarding power macros and getting the result I want. From combing through posts I have found the following: Since BT840XE has a FEM, you need to properly represent them in the firmware using the following sections: .dts 
 / { nrf_radio_fem</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 20 Jan 2026 09:09:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126516/setting-tx-power-with-bt840xe" /><item><title>RE: Setting TX power with BT840XE</title><link>https://devzone.nordicsemi.com/thread/559115?ContentTypeID=1</link><pubDate>Tue, 20 Jan 2026 09:09:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c95fe510-71d9-4414-8ac7-dee3dc2b72fc</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Gus,&amp;nbsp;&lt;br /&gt;I don&amp;#39;t think we have sample code for the specific module. But from what you showed it should work. Have you tried to measure the output power ?&amp;nbsp;&lt;br /&gt;Please try for example&amp;nbsp;&lt;span&gt;CONFIG_BT_CTLR_TX_PWR_ANTENNA=20 and measure the output power.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting TX power with BT840XE</title><link>https://devzone.nordicsemi.com/thread/559072?ContentTypeID=1</link><pubDate>Mon, 19 Jan 2026 16:07:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0285ed08-09a8-4490-9a9d-739a811a8f5a</guid><dc:creator>GusRS</dc:creator><description>&lt;p&gt;Is there some kind of sample code for specifically using fem and bt840xe for testing?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting TX power with BT840XE</title><link>https://devzone.nordicsemi.com/thread/558977?ContentTypeID=1</link><pubDate>Mon, 19 Jan 2026 09:55:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf2d09e6-0d31-44c7-a47c-a0c235c459da</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Gus,&lt;/p&gt;
&lt;p&gt;I will double check internally, but as far as I know&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_PLUS_3&amp;nbsp; will override&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_ANTENNA when you don&amp;#39;t use FEM.&amp;nbsp;&lt;br /&gt;You can take a look at&amp;nbsp;\nrf\subsys\bluetooth\controller\radio_nrf5_txp.h file, quoted here:&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;#if defined(CONFIG_BT_CTLR_TX_PWR_0) &amp;amp;&amp;amp; CONFIG_BT_CTLR_TX_PWR_ANTENNA == 0
#define RADIO_TXP_DEFAULT  0
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_10)
#define RADIO_TXP_DEFAULT  10
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_8)
#define RADIO_TXP_DEFAULT  8
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_7)
#define RADIO_TXP_DEFAULT  7
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_6)
#define RADIO_TXP_DEFAULT  6
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_5)
#define RADIO_TXP_DEFAULT  5
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_4)
#define RADIO_TXP_DEFAULT  4
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_3)
#define RADIO_TXP_DEFAULT  3
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_2)
#define RADIO_TXP_DEFAULT  2
#elif defined(CONFIG_BT_CTLR_TX_PWR_PLUS_1)
#define RADIO_TXP_DEFAULT  1
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_1)
#define RADIO_TXP_DEFAULT -1
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_2)
#define RADIO_TXP_DEFAULT -2
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_3)
#define RADIO_TXP_DEFAULT -3
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_4)
#define RADIO_TXP_DEFAULT -4
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_5)
#define RADIO_TXP_DEFAULT -5
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_6)
#define RADIO_TXP_DEFAULT -6
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_7)
#define RADIO_TXP_DEFAULT -7
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_8)
#define RADIO_TXP_DEFAULT -8
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_9)
#define RADIO_TXP_DEFAULT -9
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_10)
#define RADIO_TXP_DEFAULT -10
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_12)
#define RADIO_TXP_DEFAULT -12
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_14)
#define RADIO_TXP_DEFAULT -14
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_16)
#define RADIO_TXP_DEFAULT -16
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_20)
#define RADIO_TXP_DEFAULT -20
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_26)
#define RADIO_TXP_DEFAULT -26
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_30)
#define RADIO_TXP_DEFAULT -30
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_40)
#define RADIO_TXP_DEFAULT -40
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_46)
#define RADIO_TXP_DEFAULT -46
#elif defined(CONFIG_BT_CTLR_TX_PWR_MINUS_70)
#define RADIO_TXP_DEFAULT -70
#else
#define RADIO_TXP_DEFAULT CONFIG_BT_CTLR_TX_PWR_ANTENNA
#endif
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting TX power with BT840XE</title><link>https://devzone.nordicsemi.com/thread/558898?ContentTypeID=1</link><pubDate>Fri, 16 Jan 2026 13:11:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd4b3d04-cb92-4d83-a67d-efeca5f14597</guid><dc:creator>GusRS</dc:creator><description>&lt;p&gt;Hello, thank you for your answer.&lt;br /&gt;&lt;br /&gt;Forgetting about the fem for a second, let&amp;#39;s assume it&amp;#39;s a normal nrf52840.So,if I don&amp;#39;t configure&amp;nbsp;&lt;span&gt;CONFIG_BT_CTLR_TX_PWR_ANTENNA, it gets 0 as default value. So, even if I use&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_PLUS_3 or another, it will overwrite it, and become dbm 0?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting TX power with BT840XE</title><link>https://devzone.nordicsemi.com/thread/558880?ContentTypeID=1</link><pubDate>Fri, 16 Jan 2026 11:42:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c756c12-bffd-41d7-bebb-136bc8173e66</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Gus,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user=""]and somewhere in my runtime, I need to use the following lines to enable the pins for transmit high power, since the driver only automatically enables the rx and tx&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;struct&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gpio0_dev&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device_get_binding&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;gpio@50000000&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;span&gt; // gpio 0&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;gpio_pin_configure&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;gpio0_dev&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;GPIO_OUTPUT&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;span&gt; // gpio 0.06 - CPS&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;gpio_pin_set&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;gpio0_dev&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;gpio_pin_configure&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;gpio0_dev&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;GPIO_OUTPUT&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;span&gt; // gpio 0.08 - CHL&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;gpio_pin_set&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;gpio0_dev&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;[/quote]
&lt;p&gt;Yes correct.&amp;nbsp;&lt;/p&gt;
[quote user=""]&lt;span&gt;&lt;span&gt;CONFIG_BT_CTLR_TX_PWR_* that define which kind of dbm you want to use, positive,negative, and how much&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;CONFIG_BT_CTLR_TX_PWR_ANTENNA that defines how much power you want at the antenna and lets the software set the values for the nrf and fem based on that&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL that allows dynamic control of the tx power.&lt;br /&gt;&lt;br /&gt;I want to use the +21bdm the bt840xe offers. I set tx-gain to 18, rx-gain to 11, following the specification, set the high tx mode using CPS and CHL, set&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;&lt;span&gt;CONFIG_BT_CTLR_TX_PWR_PLUS_3 and did not set&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_ANTENNA&amp;nbsp;or&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL.&lt;br /&gt;&lt;br /&gt;Since tx-gain and rx-gain don&amp;#39;t actually control the gain,instead are used to inform the software regarding the gains from fem so it can adjust itself,and I want to divide between the nrf52840 and fem, since I read this is the way to do it to avoid overheating of the nrf52840,I did this way.&lt;br /&gt;&lt;br /&gt;I wanted to confirm if what I did is correct&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;[/quote]
&lt;p&gt;My suggestion is only use&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_ANTENNA, by using that it will always try to use the lowest chip&amp;#39;s TXPower combine with the TXgain of the FEM to achieve the desired &lt;span&gt;CONFIG_BT_CTLR_TX_PWR_ANTENNA. So if you want +3 dBm on the chip you set&amp;nbsp;tx-gain-db = CONFIG_BT_CTLR_TX_PWR_ANTENNA - 3&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Even if you don&amp;#39;t configure&amp;nbsp;CONFIG_BT_CTLR_TX_PWR_ANTENNA, it will get the value of 0 as the default.&amp;nbsp;&lt;br /&gt;See this ticket:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/119725/nrf21540-dk-how-to-get-good-results"&gt;nRF21540-DK how to get good results?&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>