BT840X Low Transmit Power with Skyworks FEM

Hello,

I have read through many threads and am trying to understand how the Skyworks fem module works as there is not a good example.  I will start by saying that I am seeing more power with the FEM but it is now what was expected. This is all being used for BLE.

Currently I have 2 boards and several different advertising sets and one has the module with the skyworks FEM.  When I set both to 8db using set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 2, 8); I am not seeing the same rssi.  The unit with the FEM is about 6-10 DB low so I am going to say something is being left on the table for link budget.  I would expect to see the same RSSI when using the same antenna and not moving it.  I can see the the spike on the power profiler is about the same as well which is why it is a bit confusing.

Device Tree:

    nrf_radio_fem: skyFem {
        compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
        ctx-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
        crx-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
        cps-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
        chl-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
        };

&radio {
    fem = <&nrf_radio_fem>;
    };
Init code
gpio_pin_configure_dt(&CHL, GPIO_OUTPUT | GPIO_OUTPUT_INIT_HIGH);
		gpio_pin_configure_dt(&CPS, GPIO_OUTPUT | GPIO_OUTPUT_INIT_LOW);

		// mpsl_fem_gain_t fem = {.gain_db=22};
		// int ret = mpsl_fem_pa_gain_set(&fem);
		// if(ret != 0)
		// {
		// 	LOG_ERR("FEM");
		// }

		tx_power = 22;
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 0, tx_power);
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 1, tx_power);
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 2, 8);
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 3, 8);
Config
CONFIG_MPSL=y
CONFIG_MPSL_FEM=y
CONFIG_MPSL_FEM_SIMPLE_GPIO=y
CONFIG_BT_CTLR_TX_PWR_ANTENNA=22
Related