Android Question OBDII app in the Play Store?

agraham

Expert
Licensed User
Longtime User
I've just got a dirt cheap ODBII Bluetooth reader off eBay and checked that it works (it does!) with my Samsung tablet and an app from the Play Store called OBDClick.

I have no experience in OBD and there seem to be dozens of apps in the Play Store varying from very amateur hacks to good quality abandonware. To save me a laborious winnowing process does anyone who has used OBD have any recommendations, paid or free?
 

Peter Simpson

Expert
Licensed User
Longtime User

Torque is by far my favourite ODB2 app, I've paid for the pro version with absolutely no issues whatsoever with it. Lots of users have been leaving 1 star lately saying that they have been having issues with it with Android 11 (I've used it with Pixel 4XL and Pixel 5XL with no issues, and plenty of other phones over the years). I've used this app with multiple cheapo ODB2 Bluetooth adapters on multiple cars with no issues (except for older Audi's). With my last BMW this app gave me the code for an issue I was having with my bank 1 cam sensor, I brought a new sensor from eBay and the car ran perfect. This app also help me find an issue with my friends cam position sensor on his Ford, my sisters Range Rover HSE and a few years ago her SAAB 95 (Coil Pack), plus plenty of other cars.

In my other Merc I replaced the head unit with an Android one, I installed this app and it gave me all the information whilst I was driving about the car, I used the gauges for the live data. Please note that this information can also be displayed on your phone or tablet whilst driving using customisable gauges.


The only problem I have is that it's gone really quiet with Ian in the last year, so I hope that he is okay as I'm used to him releasing update after update after update and there's been absolutely nothing from Ian in about a year. Lately users have complained that there is no support and Ian does not reply to messages, that was never ever the case, hopefully C19 has not gotten to him as for years his support has been absolutely awesome. This app has featured all over the internet and in car magazines and also videos, so his absent is a bit unusual and concerning.
 
Last edited:
Upvote 0

agraham

Expert
Licensed User
Longtime User
. Lately users have complained that there is no support and Ian does not reply to messages,
Yes, it was because of the Torque comments that I mentioned abandonware as it seems like it used to be well supported. I've now checked and the version on the Play Store is 1.10.120 which the changelog on his site mentions as a beta
Changes in 1.10.120 (current beta track)
==========================================
* Fixes for issue caused by Android 11
It's inexpensive so I'll try it on your recommendation. After all £2.95 is only half a bottle of wine to throw away
I wanted a recommendation to avoid the multiple repetitive Install-Ugh!-Uninstall cycles to try to find a good app. Many thanks?
 
Upvote 0

Cableguy

Expert
Licensed User
Longtime User
I've used this app with multiple cheapo ODB2 Bluetooth adapters on multiple cars with no issues (except for older Audi's).
Just wondering, any experience with 2004 Audi A3 2.0 TDI (136hp)?
I have one of those cheapo OBD2 too and an audi giving me some weird issues.
 
Upvote 0

Peter Simpson

Expert
Licensed User
Longtime User
Hello @agraham,
I've just been onto Companies House, and Ian made his account filings in October last year and a confirmation statement in January this year, so he does appear to be in the land of the living. I've just been on the Torque forum, and Ian hasn't been answering any question in a long long long time, now I do find that very interesting but also disconcerting too. I just hope that Ian does not have any serious health issues that has stopped him from working, as he had a thriving business and is only about 44 years old.

You might as well use the light version, I only brought the pro version because the light version helped me to repair so many cars (another hobby in my spare time) that I wanted to just thank the app creator.

I would love to create an app like Torque, but I'm not playing about with any vehicles ECU (Engine Control Unit) to read sensors or read and clear error codes, an ECU cost a lot of money.

I've just gone to my car and took this photo of my 2 ELM327 ODB2 readers.



Enjoy...

Just wondering, any experience with 2004 Audi A3 2.0 TDI (136hp)?
I have one of those cheapo OBD2 too and an audi giving me some weird issues.

I'll contact you via PM.
 
Last edited:
Upvote 0

KMatle

Expert
Licensed User
Longtime User
Two years ago I did some test and was able to connect to the OBD dongle and send some basic AT commands:

B4X:
#Region Module Attributes
    #FullScreen: False
    #IncludeTitle: true
    #ApplicationLabel: OBDII Example
    #VersionCode: 1
    #VersionName: V1.0
    #SupportedOrientations: portrait
    #CanInstallToExternalStorage: False
#End Region

'Activity module
Sub Process_Globals
    Dim serial1 As Serial
    Dim AStream As AsyncStreams

    Dim BTA As BluetoothAdmin
    Private rp As RuntimePermissions
End Sub

Sub Globals
    Dim ScannerMacAddress As String
    Dim ScannerOnceConnected As Boolean
    Dim BTStatus As Label
    Dim ConnectBTN, SendATBtn As Button
    Dim ReplyString As String
End Sub

Sub Activity_Create(FirstTime As Boolean)
    
    serial1.Initialize("Serial")
    
    
    BTA.Initialize("BTA")
    
    BTStatus.Initialize("")
    Activity.AddView(BTStatus,1%x,0%y,98%x,5%y)
    BTStatus.Text="Disconnected"
    
    ConnectBTN.Initialize("Connect")
    Activity.AddView(ConnectBTN,1%x,90%y,98%x,10%y)
    ConnectBTN.Text="Connect"
    
    SendATBtn.Initialize("SendAT")
    Activity.AddView(SendATBtn,1%x,30%y,98%x,10%y)
    SendATBtn.Text="Send At Command"
    
    
End Sub

Sub ShowPairedDevices

    Dim PairedDevices As Map
    PairedDevices = serial1.GetPairedDevices
    Dim l As List
    l.Initialize
    For i = 0 To PairedDevices.Size - 1
        l.Add(PairedDevices.GetKeyAt(i))
    Next
    If l.Size=0 Then
       l.Add("No device(s) found...")
        MsgboxAsync("You need to activate Bluetooth and pair a device manually","No device(s) available")
        Return
    End If
    Dim res As Int
    res = InputList(l, "Choose device", -1) 'show list with paired devices
    If res <> DialogResponse.CANCEL Then
        If l.Get(res)="No device(s) found..." Then
           Return
        Else
           ScannerMacAddress=PairedDevices.Get(l.Get(res)) 'convert the name to mac address and connect
           serial1.Connect(ScannerMacAddress)
          
        End If
    End If
    
End Sub

Sub SendAT_Click
    ReplyString=""
    Dim data As String
    Dim ByteBuffer() As Byte
    
    data = "ATZ" & Chr(13) 'Reset
    ByteBuffer = data.GetBytes("UTF8")
    AStream.Write(ByteBuffer)
    
    Sleep(1000)
    
    data = "ATE0" & Chr(13) 'Echo off
    ByteBuffer = data.GetBytes("UTF8")
    AStream.Write(ByteBuffer)
    
    Sleep(1000)
    
    data = "ATZ" & Chr(13) 'Reset
    ByteBuffer = data.GetBytes("UTF8")
    AStream.Write(ByteBuffer)
    
    
End Sub

Sub Connect_Click
    rp.CheckAndRequest(rp.PERMISSION_ACCESS_COARSE_LOCATION)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
    If Result = False Then
        ToastMessageShow("No permission...", False)
        Return
    End If
    BTA.Enable
    ShowPairedDevices
End Sub

Sub Serial_Connected (success As Boolean)
    If success = True Then
       Log("Scanner is now connected. Waiting for data...")
       AStream.Initialize(serial1.InputStream, serial1.OutputStream, "AStream")
       ScannerOnceConnected=True
       BTStatus.Text="Connected :-)"
    Else
        Log(LastException.Message)
        MsgboxAsync("Could not connect:" & LastException.Message,"Could not connect")
       If ScannerOnceConnected=False Then
          MsgboxAsync("Please switch on the scanner...","Scanner is offline")
          ShowPairedDevices
       Else
           Log("Still waiting for the scanner to reconnect: " & ScannerMacAddress)
        'T.Enabled=True
       End If
    End If
End Sub

Sub AStream_NewData (Buffer() As Byte)
    'Log("Received: " & BytesToString(Buffer, 0, Buffer.Length, "UTF8"))
    ReplyString=ReplyString&BytesToString(Buffer, 0, Buffer.Length, "UTF-8")
    If ReplyString.Contains(">") Then
       MsgboxAsync("Data: " & ReplyString ,"New Data")
       Dim bc As ByteConverter
       Dim b() As Byte = bc.StringToBytes(ReplyString,"UTF-8")
       Log(ReplyString)
       MsgboxAsync("Hex: " & bc.HexFromBytes(b),"Hex")
    End If
End Sub

Sub AStream_Error
    Log("Connection broken...")
    
    AStream.Close
    serial1.Disconnect
    If ScannerOnceConnected=True Then
       'T.Enabled=True
    Else
       ShowPairedDevices
    End If
End Sub

Sub AStream_Terminated
    Log("Connection terminated...")
    AStream_Error
End Sub



Sub BTA_StateChanged (NewState As Int, OldState As Int)
    If NewState=BTA.STATE_OFF Then
       Log("BT is OFF now")
        BTStatus.Text="BT OFF"
    End If
    If NewState=BTA.STATE_TURNING_ON Then
        Log("BT is turning on")
        BTStatus.Text="BT starting"
    End If
    If NewState=BTA.STATE_TURNING_OFF Then
        Log("BT is turning off")
        BTStatus.Text="BT turning OFF"
    End If
    
    
    If NewState = BTA.STATE_ON Then
       Log("BT is ON now")
        BTStatus.Text="BT is ON"
      
    End If
End Sub

Sub Activity_Resume
    Log("Resuming...")
    BTA.Enable
    
    
    'ShowPairedDevices
    If ScannerOnceConnected=True Then
       'T.Enabled=True
    End If
End Sub

Sub Activity_Pause (UserClosed As Boolean)
    Log ("Activity paused. Disconnecting...")
    AStream.Close
    serial1.Disconnect
    BTA.Disable
    
End Sub
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…