Windows, C++, Bluetooth 4.0 SDK. What is the best SDK to use to develop applications for the Bluetooth 4.0 hub?


#1

I’m a bit of a newbie to the Bluetooth Smart Hub world. I need to develop a Windows application to support this device. Unfortunately, I have to work in C++. What SDK do the assembled multitude recommend for developing smart Hub applications?


#2

Hi Paul,

Thanks for asking. There are a couple choices for our USB Bluetooth adapter (http://plugable.com/products/usb-bt4le)

We use the market-leading Broadcom chip. Broadcom has an SDK for Windows: https://www.broadcom.com/support/bluetooth But since your apps would then only work on Broadcom-based Bluetooth adapters on Windows machines, that’s not the right choice for most people.

So the best choice for most people is Microsoft’s stack (which works on our adapter) and SDK.

Microsoft has added to the functionality and APIs available in each Windows release, so you’ll want to look at what (sub)set of features you really need, so you can know what versions of Windows you can target.

Here’s the info on the API level in Windows 7:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa362932(v=vs.85).aspx

However, Windows 7’s built-in stack supports only Bluetooth 2.1/3.0. There’s no support for 4.0 / LE.

For Bluetooth LE / Bluetooth Smart, you need to be on Windows 8 or later:
http://msdn.microsoft.com/en-us/library/windows/hardware/hh450825(v=vs.85).aspx

So if you’re on Windows 8 or later, you have a good, clear choice. If you’re targeting other platforms in addition, you’re stuck writing to multiple APIs.

Hope that helps. Thanks for asking,
Bernie


#3

Bernie,

Multiple problems:

  1. The Broadcom link you listed above is now broken. The new site appears to be just:
    https://www.broadcom.com/support/blue…

  2. When you download the “Bluetooth Windows SDK”, you find an SDK and documentation dated 2009, and which has no functions pertaining to and no documentation describing anything having to do with Bluetooth Low Energy.

Who can we contact to access a modern version of the SDK that includes functionality related to Bluetooth Low Energy?


#4

Hi Adam,

Thank you for the updated link!  You’re right, Broadcom hasn’t changed anything since the original response above (from 2014) – Bluetooth Low Energy is only supported in Windows 8 and later, only with the Microsoft Bluetooth stack built into the Windows. That Windows 8 and Windows 10 support works with our adapter. Unfortunately, there’s no good way to target Windows 7 or XP.  

Sorry for the potentially bad news!
Bernie


#5

Bernie,

Thank you so much for the rapid reply!

It seems that way…but then there seem to be many examples of customers that are using your dongle on Windows XP and 7 machines for BLE.

It seems that the Broadcom driver binary that is available publicly does support BLE, for example the one Plugable links to on the product page:
https://s3.amazonaws.com/plugable/bin…

But the SDK that they release publicly does not. So there must be an SDK for it somewhere…

What am I missing?


#6

Hi Adam - I think it’s just a matter of supporting standard profiles (like HID and the various headset / audio profiles) vs. having an SDK.  I think Broadcom’s underlying thinking was it proved impractical to have apps which supported both a Broadcom specific API and a Microsoft API - even for the biggest apps, that was too much hassle. So with all the new APIs required by Bluetooth LE, they made a clear statement of “use the API provided by Windows.” That API is only implemented for the newer Windows versions 8 and up.


#7