No announcement yet.

Need input on Android app: OBD Dashboard

  • Filter
  • Time
  • Show
Clear All
new posts

  • Need input on Android app: OBD Dashboard


    I'm the developer of an OBD2 app for Android: OBD Dashboard. This is a project that I've started for myself and after a while I've decided to try to make it public.

    So far, many features are missing (I do this on my spare time), but I would like to get some feedback from more users. My testing is limited to a generic chinese ELM327 clone on a Brazilian Peugeot 206 using a Motorola Milestone (Motorola Droid on US).

    There are other nicer OBD apps, but I wanted to implement this myself to make sure everything was as optimized as possible. Next features to be implemented are nicer gauges and UI, and some other PIDs.

    I would say the main difference between this app and other apps is efficiency. Everything is done as efficiently as possible. For users this means that you battery will last longer and information will be shown faster.

    There are some interesting features too: auto connect/disconnect when a car dock is used is one of them. Logging is also available.

    Known issues are: sometimes it doesn't connect properly on my phone. I'm not sure if it's my fault or the phone's fault, but I'm looking into it.

    I would appreciate if you guys can give some feedback. Does it work correctly for you? Is it good or is it bad? Why?

    The app is available on Android Market:

    Some basic usage instructions are available here:

    Basic screenshot:

    BTW: I hope I'm not infringing any rules here. I'm not trying to sell it (yet), just want some feedback from users .

  • #2
    I have been making some improvements internally on the software, and also on the UI.

    You can now use it in both portrait and landscape mode (even though you are limited to the 2 gauges available).

    The title now shows the update rate (ex: 4.0 Hz).

    Here's the new portrait design:

    Logging is a little bit faster too. It wasn't a problem before, but as I said before all significant code is very optimized to avoid delays on showing information.

    Currently there are no optimization being run on the scantool because my cheap chinese OBD doesn't behave properly with some commands. I'll be able to work more on this when my ObdLink device arrives.

    Has anyone tested it? I'm eager for feedback.


    • #3

      I don't have an android phone to test your app out, but I'm curious about your driver implementation for your ELM327 clone. I'm trying to do something similar, (using Linux, not Android), and I was curious as to the max stable refresh rate you were able to achieve.

      Also, are you talking to the device synchronously (ie. fixed refresh rate), or asynchronously?


      Check out my Frontend project!


      • #4
        For the 327 clone, it's better to leave it at default configuration. Trying to improve things using specific timing command only made it worse.

        Communication is done as fast as the scantool allows: you should send a command (a 01 0C for example) and process the data. As soon as the tool is ready (">" is sent) you can send the next command.

        On the small blue ELM327 clone (don't know if it's the same as yours) I'm achieving between 3.8 and 4.0 updates per second, using default configuration. If I try to improve things changing adaptative timeout, or setting a fixed timeout value, it's behavior is not as expected, and ends up being worse.

        Yesterday my OBDLink Bluetooth scantool arrived. Without any changes I achieved 5.8 updates/second. Using a few tricks that might not work with everyone I was able to get it to ~10 updates/second. It's really worth it (so far). These tricks are not on the published version.

        By the way, if someone is reading this: I've added mph support on the latest version. I was really stupid of not thinking about this before publishing it online.


        • #5
          How are you connecting the ELM to the Android phone. Thats something i never quite understood. I have a wifi Kiwi device but i was under the impression its only supported by iPhones .
 Senior Tech Blogger (Want a product reviewed? Contact me.)
          Follow Me on Twitter or Facebook
          Live mp3Car Facebook Chat


          • #6
            I'd assume the connection would be done with bluetooth?

            nicolas, I was able to improve my max refresh rate by increasing the baud rate. The drivers I'm using for serial comm go up to 115200 and the response rate seems to get slightly better as I increase the speed. The ELM default was 38400, and I thought this was the hardware limit, but at least with my device, this wasn't the case. I have a wired clone:

            My best refresh rate is around 40 ms right now, as I get lower I see more and more errors, though not really sure if this is due to the way I'm talking to the device or not. Do you ever find that the response indicator ('> character') sometimes doesn't occur? I'm trying to improve the refresh rate to below 30ms, that way people wouldn't be able to notice any lag in visual updates (29fps, etc).

            Anyways, sorry to derail your topic, the software looks awesome

            Check out my Frontend project!


            • #7
              I'm looking for developers to help work on an open-source library for Android. libvoyager. It already has code for OBDII, CAN, HSCAN, SWCAN and more. If you join up we can work together and put some cool ideas to work!


              • #8
                Will check it out and let you know.
                CarPC: Mini-MAC Coming Soon!


                • #9
                  First of all, on the recent versions I've added MPH support. This was a huge mistake by my part, as on my country we only use km/h. Sorry for all US and UK folks! The app will try to automatically choose between those units based on your language settings, but you can override it on Preferences.

                  I'm waiting on your opinions! I'm working on new stuff and improvements. If you have suggestions on what is more important, just post it here, I'll see what I can do. This week has been complicated on my daily job, so I couldn't work much on the OBD app.



                  Yes, communication is done with bluetooth (just like a serial port).

                  I haven't found any cases where '>' wouldn't be sent by the scantool. So far I've only tested it personally with a cheap ELM clone (the smaller, blue one) and with an OBDLink Bluetooth (which works much better!).

                  Would you mind telling me what protocol and car are you testing on to achieve 40ms refresh rate? That's pretty good. My best so far is only 10 updates/second, still a work in progress.

                  The current free version of my app doesn't use any special "tricks" to improve refresh rate on the scantool, but I'm testing some of those options on my personal version.



                  • #10
                    HI Nicolas,
                    Looks great so far.

                    1. Option to read error codes and also to extinguish Mil lights
                    2. skinability

                    Also for me personally, I like to keep an eye out on batt voltage (when car is off)

                    And is this your scanner?
                    Last edited by mos33y; 05-16-2011, 09:25 PM.


                    • #11
                      Hi mos33y,

                      Thanks for your input. I'll add battery voltage for the next release, it's pretty simple to do.

                      Error code reading and MIL light function will be done, but are not on my high priority list right now. I need to fix some reconnection bugs, and finish some of the new gauges (or displays, don't know which is the better word) that I'm working on.

                      It's been a while since I've pushed an update, but I haven't had much time to work on this project on the last two weeks due to work and personal stuff.

                      To be honest, skins are on my low priority list, even though I'm creating everything in a way that will make it possible to create custom skins. Screen configuration is definitelly on my list. The current gauges setup is just a basic approach so that I can test everything. The fact is that making it configurable in a nice way will take some time. I think the current default is good enough for most people, at least it's the configuration I'm satisfied with for now.

                      Your ebay link doesn't work for me. I'm using an OBDLink Bluetooth Scantool and was previously testing with an generic chinese copy -- the small blue one.


                      • #12
                        Hi Nicolas,
                        my ebay item number is 300530764805 from Im pritty sure its the right one anyway. Thanks for your reply.
                        Great to hear about batt inclusion


                        • #13
                          I haven't tested that one (300530764805)...


                          • #14
                            Any dev on this app so far?
                            Thanks Nicolas


                            • #15

                              Sorry for not being able to push updates in last few weeks. Some personal and daily work problems have been giving me a hard time lately and I'm currently working on a few important (and not easy) features that will enhance compatibility, improve performance and last, but not least, allow users to choose between some different kinds of displays.

                              I want to make sure that everything is working fine before I push a new version to the market.

                              What I have done so far (but will only be available in a few days/weeks) is:
                              - Performance optimization (better memory usage, lower CPU usage): means your battery will last longer and the theoretical maximum update rate is higher
                              - New display types: Needle Gauge and Value Gauge
                              - GPS tweaks (work in progress)
                              - Battery Voltage (testing)
                              - Bugfixes
                              - Reconnection has a strange behavior (I will be able to test it better now)

                              Unfortunatelly there are still a few bugs to be ironed out and I have to implement a nice configuration screen so that gauges can be chosen (Needle, "Pie", Value)

                              Hopefully I'll have more time to work on this soon, but don't give up on me yet. Cool things will come. I do use this software daily, so I'm also interested in improving it .

                              If anyone has any cool ideas to propose, feel free. I just can't promise anything. When I believe the free version is good enough, I'll focus on adding more features on a paid version, but I have to make sure the "base" is good enough.