Bluetooth Comparison

Now that the dust has settled on MEDC, I’m thinking about how to move forward with the Bluetooth library. I had essentially put development on hold when I first heard that Microsoft were preparing their own source package prior to MEDC. When it was released, I was a little disappointed in their functionality (and compatibility) so I’ve decided to press on improving the Bluetooth.NET library. It’s going to take a few weeks to put together the next version, one key aim is to synchronise the source, samples, documentation and binaries with this next release, some of the previous releases have been binary only.

In the meantime here is a comparison of the functionality available today in the widely available Bluetooth libraries/SDKs:-

  Managed libraries Native code SDKs
  Bluetooth.NET Microsoft Windows Embedded Source Tools for Bluetooth Technology High-Point BTAccess Microsoft Windows CE SDK Broadcom SDK
Bluetooth Functionality  
Toggle Radio * *   *  
Device Discovery *   * * *
Service Discovery     * * *
Client Sockets * * * * *
Server Sockets * * * * *
COM Port mapping *   * * *
Bluetooth Stacks  
Microsoft Stack * *   *  
Broadcom Stack     *   *
.NET v1 *      
.NET v2 *    
.NETCF v1 *   *
.NETCF v2 * *  
Pocket PC 2002     *   *
Windows CE.NET 4.2 *     *  
Windows Mobile 2003 *   * * *
Windows CE 5.0 * *   *  
Windows Mobile 5.0 * *   *  
Windows XP (SP1 and above) *     *
Package features  
Help documentation *   * * *
Source code * *      
Sample projects *     *  
Price FREE FREE $750 FREE $1,395

Obviously your feedback will help shape the library, so what are the key features you’d like to see added or improved?

By Peter Foot

Microsoft Windows Development MVP

One reply on “Bluetooth Comparison”

Actually, the MS Bluetooth stuff does compile under .NETCF v1 … don’t know why they make it sound like it is only 2005-compatible.

One thing it has that your library used to have (and would be easy enough to add back without sucking in too much of the OpenNETCF) is the abilty to get the list of previously bonded devices (your library = BondedDevices; ms library = PairedDevices). This is a pretty handy thing to have, as typically I want to access a device that has already been discovered and set up by the user … it is also way faster, as it is just a registry walk.

Anyway, thanks for your library, it is quite a painless way to ease into bluetooth programming, which I’d never done before.

Comments are closed.