BLE simulation via host Bluetooth

The BLE documentation seems to assume that you have or want to invest into a Nordic development board.

In my case I want to develop a 3rd-party app for a pre-existing BLE device. I know the protocol and it should be reasonably easy to implement it, but the main difficulty right now is that, in order to test it, I always have to build app for device, copy to my watch, try it there, reconnect the watch, edit code, and so on in the loop, making the development process painfully slow.

I don't understand why the simulator needs a special development board or a dongle by specific manufacturer - couldn't it just use my laptop's built-in Bluetooth support which can already see those BLE devices and interact with them natively? Is there any way to achieve that? Windows already allows assigning COM ports to Bluetooth devices, so I tried using that for setting the COM port in the simulator, but the simulator returns a communication error - it seems it strictly wants to communicate with Nordic devices and nothing else.

TL;DR: is there any way to let simulator use my native Bluetooth support in the laptop?

  • If you want to test with the sim, the nRF52840 dongle is only about $12US and worth every bit of that.  You need to flash a specific HEX file to it.  Yes, the nordic HW is required.  It's not just that you can see it as a comm port but it needs to understand what's happening on that comm port 

  • If you want to test with the sim, the nRF52840 dongle is only about $12US and worth every bit of that.

    In the US, yes, but in the UK with delivery it's 2x-3x of that. And it's kind of hard to justify even that investment for a hobby project that won't give me any returns.

    It still doesn't make sense to me why Garmin is tied to one specific 3rd-party manufacturer - since it's a simulator, why couldn't it just use host Bluetooth for implementation of those BLE methods? They don't seem to do anything not already exposed via regular Bluetooth host APIs.

    Even developing a Web version via Web Bluetooth (for Chrome) was more straightforward and didn't require 3rd-party hardware just to connect to the device and read/write characteristics :/

  • You can keep testing with sideloads.  I bought an extra one a few months back and shipping was something like $5

    By the way, have you watched this presentation on BLE from a few years back?

    https://forums.garmin.com/developer/connect-iq/b/news-announcements/posts/adding-bluetooth-connectivity-to-your-connect-iq-projects

  • You can keep testing with sideloads.

    Yeah that's just pretty slow, especially with 25.00 update having unstable Bluetooth connection on Fenix (discussed in another unrelated thread).

    shipping was something like $5

    Unfortunately, in this case it seems all the "UK" companies are just websites for US manufacturers and international shipping kind of bites.

    By the way, have you watched this presentation on BLE from a few years back?

    I've seen you linking it in other threads when searching if there were any similar discussions, but not yet. I will.

    ---

    I suppose my post is part-frustration of having to either test in a very slow development cycle or pay up for some development kit I will need only once, and part-feature request to the CIQ Simulator developers to add native Bluetooth option.

    As I said, I just don't see anything in the API that would require a 3rd-pary development board for the simulation, even if I recognise that for some advanced use-cases (like if you are developing your own BLE device and not just an app) it might be convenient to have some advanced features those boards and dongles provide.

    It would be nice to improve the development experience for the "average" case of just developing a Bluetooth app and bring it to par with most other platforms and simulators that allow you to forward it to native Bluetooth out of the box.