I am trying to i crease my artemis atp ble signal strength. I am using arduinoble.h library but do not see an option to increase the signal power.
Is there a different library i can load to access that option ? Or what options do i have?
To increase the BLE signal strength is always a vendor specific command, not a standard HCI command and as such not supported by ArduinoBLE. If a BLE chip supports it is, it is not a standardized API but a vendor specific call.
The Apollo3 BLE strength is by default set at 0db. The chip does support 3dBm, 5dBm, 10dBm, with function am_hal_ble_tx_power_set(). But, as mentioned, the ArduinoBLE is not supporting that. It would need a to create a special version of ArduinoBLE to allow that.
Actually the Apollo3-B version chip (found in most of the recent Artemis boards) can also handle 20db, but that is not supported by the am_hal_ble_tx_power_set() function. That was build for the Apollo3-A version chip
Can you recommend a library that supports both apollo3 ble chip and tx signal power settings.
We are build a consumer product and it needs a little more ble range.
Not really out of the box.
Sparkfun had a great (read fantastic, fast, easy) V1.2.3 version, but it lacked BLE. They tried hard…very hard… but did not succeed to implement on V1. With V2, based Mbed-OS, they were able to provide it, based on ArduinoBLE.
I have done work on implementing BLE on V1(apollo3/ArduinoBLE_special at master · paulvha/apollo3 · GitHub) It was based on the original exacleP which was bought and included to be the basis for the BLE in MBED-OS, together with some other work now called Cordio. In V2 actually only very limited part of Cordio is used to connect to the Apollo3 HCI layer.
The only way I would see is a customized version of ArduinoBLE, adopt/change Cordio source make the pass-through call to add the Apollo3 vendor specific function. Not a big deal (actually a fun project that would take some time), but very customized, one-off, and thus not to be able to adopt to future updates of ArduinoBLE.