Windows Phone?

Dec 5, 2012 at 6:24 AM

Has anyone looked at or started on porting the underlying work to Windows Phone 8? I just got my ELM327 BT enabled diag plug and I would love to be able to use my WP8 to track and capture diagnostic data.

Dec 5, 2012 at 6:27 AM
Edited Dec 10, 2012 at 2:21 AM

I don't have a Bluetooth OBD device, but if somebody gets it working, I'd be happy to integrate it into the project....

Dec 19, 2012 at 8:41 PM

Unfortunately, Windows Phone 8 supports a very limited set of Bluetooth profiles.  This means that the Bluetooth ELM327 OBD-II adapters cannot work with Windows Phone.  iOS developers have run into the same challenges since Apple has similar Bluetooth limitations.  They ended up switching to a WiFi-based OBD-II adapter which is a somewhat clumsy solution to a problem that wouldn't exist if the OS had a more robust Bluetooth stack.

Jan 6, 2013 at 6:40 PM

I have the same device but I want to use it with my Surface (over Windows RT).

First, is there a way to develop with COM ports ? I don't find any help about this topic ...

Jan 11, 2013 at 4:02 AM
Olivier_H wrote:

I have the same device but I want to use it with my Surface (over Windows RT).

First, is there a way to develop with COM ports ? I don't find any help about this topic ...

Windows Runtime does not contain an API for COM/serial communication. :(

Jan 17, 2013 at 2:33 AM

According to this post, Windows Phone 8 supports the Serial Port Profile. In addition, I purchased a Bluetooth ELM327 module and it paired with Windows Phone 8 just fine. I'm going to experiment with it and see if I can see an active connection in code.

Jan 17, 2013 at 6:57 AM

FYI, I believe it is possible. There is a library I'm using that just came out for Bluetooth on Windows Phone 8 (recently posted to NuGet), and it supports the Serial Port Profile. I'm able to open up a connection to the device. I'm working on creating a WP8 version of the OdbManager that will leverage this library instead of System.IO.Ports to interact with the device. Tomorrow I will learn the ins and outs of Windows.Networking.Sockets.StreamSocket and see if I can't get this bad boy working.

Jan 19, 2013 at 8:12 AM

Well, I will probably try to create a web service : if my Lumia 800 (WP 7.8) can handle the connexion from my ODB Bluetooth device, I can probably share the internet connexion with my phone and my surface then, with 2 apps (a service which publish ODB data for the phone and an app which interpret those data for the surface). Do you think that it's possible ?

interscape, your work interests me a lot ;)


Mar 4, 2013 at 2:18 PM

It seems that it is possible to implement serial communication over Bluetooth using StreamSocket. I'm working on it, but I still don't have the ELM327 module to try it. As soon as I get it, I will try and post the result here.

You may find some info in the answer to this forum post:

I think this should work for Windows Store apps too.
Mar 16, 2013 at 2:55 PM
Hi to all,
            I tried to connect to ELM327 Bluetooth device  via my Windows phone 8 (Nokia Lumia 620). I wrote the code in C# and Used Windows.Networking.Sockets.StreamSocket for sending and receiving commands. Connection to the device was successful,
Windows.Networking.Sockets.StreamSocket socket = new Windows.Networking.Sockets.StreamSocket();
        Task<Windows.Foundation.IAsyncAction> a = socket.ConnectAsync((Windows.Networking.HostName)host, BluetoothService.SerialPort);
        await a;
Using Datawriter , i Send the commands ,
await socket.OutputStream.WriteAsync(ibuffer);

Data is written well,but response is always "NO Data "\r" .

Can anybody please send me a basic sample for Windows phone 8 connectivity for OBD Bluetooth device.