From everything I checked, the Artemis / Ambiq Apollo3 is the most interesting module/core for BLE development. It uses extremely low power (USB 6mA core running at normal speed and BLE modem active). But the ArduinoBLE library is - although very easy to use - highly incomplete. For instance: arduinoBLE does not support password paired connections.
I want to detect any registered phone BLE nearby (not even communicate, just detect the presence). Phones change BLE MAC regularly (and I don’t want to run beacon software on the phone to overcome this). The only solution I can imagine is to pair the phone to the Artemis (with password). When no phone can be connected, the Artemis has to keep on trying to connect to any of the registered phones. Only if that succeeds, the garage door opener is enabled. Problem is that Arduino BLE does not support password protected pairing (at least not found any info this is possible). Also, ArduinoBLE is unstable when a connection gets lost and must be restored (I tried a few alternative connection methods but when multiple phones are involved this becomes very troublesome).
Agree with your points that ArduinoBLE is missing a large number of functions. The V2 Apollo3 library is build around MBED-5. Mbed contains the complete CORDIO BLE stack which is very complete, BUT also very complex. It is very hard to get started and find good documentation. See this earlier post for more info viewtopic.php?f=183&t=58462.
paulvha:
Agree with your points that ArduinoBLE is missing a large number of functions. The V2 Apollo3 library is build around MBED-5. Mbed contains the complete CORDIO BLE stack which is very complete, BUT also very complex. It is very hard to get started and find good documentation. See this earlier post for more info viewtopic.php?f=183&t=58462.
paulvha:
Agree with your points that ArduinoBLE is missing a large number of functions. The V2 Apollo3 library is build around MBED-5. Mbed contains the complete CORDIO BLE stack which is very complete, BUT also very complex. It is very hard to get started and find good documentation. See this earlier post for more info https://forum.sparkfun.com/viewtopic.php?f=183&t=58462.
The links provided are the proper solution or at least will lead you in the correct direction. Sadly this isn’t a beginner friendly task as BLE is very complex.