Bluetooth mesh and Central role simultaneously #bluetoothmesh #bluetooth


Hello, on my nRF52 board I am planning to have a Bluetooth mesh node running and then eventually (e.g. on button press) create a connection to a smartphone (nRF52 in Central, smartphone in Peripheral GAP role) simultaneously.


The intended sequence is like this

  1. Start scanning and connect to the smartphone’s BLE advertisement
  2. Read data from smartphone
  3. Send data to neighbor mesh node for processing
  4. Receive result from neighbor mesh node
  5. Send result to smartphone
  6. Terminate connection to smartphone.


I tried a lot and always run into some problem, e.g.

  • If I start the mesh with bt_mesh_init() and afterwards call bt_le_scan_start() then I get the -EALREADY error.
  • If instead I add me to the list of scan callbacks using bt_le_scan_cb_register() then I even see a crash (not further investigated why this happens).
  • If I first start scanning and then start the mesh, then I get a -EIO error when I call bt_conn_le_create().


So my question: is the scenario to run Bluetooth mesh and Central GAP role simultaneously supported by Bluetooth Low Energy standard?

If so, is such scenario also supported by the Zephyr Bluetooth stack?


Thanks for your time!



(I am testing with Zephyr OS version 2.3.0)

Join to automatically receive all group messages.