dynOBD is an android application that keeps track of statistics about any given car trip. It uses bluetooth to connect to an OBDII dongle that is connected seperately to the car's DLC. Instructions on connecting the dongle to the car can be found here. Alternatively if there is no access to an OBDII dongle then the user can generate simulated data which is explained in further detail down below.
- Ensure that the switch at the bottom of the app. is ON as shown.
- Only the datastream is simulated, so you still need to connect to any bluetooth device before proceeding
- Turn on the Bluetooth to your computer <img src="img/bluetooth_on.png"" width="50"/>
- Pair your phone with you computer
- Launch dynOBD
- Click the Button
- Select your computer from the list of paired devices
- Click the Button
- The data will simulate acceleration to about ~100 km/h and ~2200 RPM and begin to fluctuate around those ranges.
- You can proceed to use the app as normal from this point on
- Connect the Dongle to the Car DLC, for more detailed instructions visit this page
- Ensure that the bluetooth is on, there should be a power button and lights indicating that the device is on
- Start your car
- Before launching the app, pair your phone with the OBDII dongle
- Launch dynOBD
- Click the Button
- Select the device from the list of paired devices
- Click the Button
- Can proceed using the app as normal from this point on
Name | Description |
---|---|
ODBII Java api | Handle the data collected by the ODBII diagnostic's system |
CustomGauge ColorArcProgressBar |
Graphic UI for speed and throttle live data output. |
Boom Menu | Animated, customizable circular floating menu |
Sweet Alert Dialog |
Customizable dialog animation |
Android google maps API | API used to get locations, and forward/reverse geocode them |
Android Flat Button | Small library for customizable and styled buttons |
Tap Target View | Tap targets to help first time users of the app |
- Car Make: 2003 Hyundai Elantra
- OBDII Protocol: ISO 14230-4
- ISO 14230-4 Supported by: ELM323, ELM327, ELM327/L
- OBD Device: OBD2 ELM327 Bluetooth KW901/KW903 Car Auto Diagnostic Interface Scanner Tool KONNWEI
- OBD2 Simulator: ScanTool 602201 ECUsim 2000 ECU CAN Simulator for OBD-II Development
- Hyundai OBD II diagnostic interface pinout
- ELM protocol support
- ELM327 AT Commands
- OBDII Commands
- Android Bluetooth
- OBDII Android Tutorial
- Android OBD Reader
- OBD Sim
- OBD + GPS application
- RxJava Github
- Awesome Android UI
Mode | PID(hex) | OBD-Java-Api | Description |
---|---|---|---|
01 | 21 | DistanceMILOnCommand.java | Distance traveled with malfunction indicator lamp (MIL) on |
01 | 31 | DistanceSinceCCCommand.java | Distance traveled since codes cleared |
01 | 01 | DtcNumberCommand.java | Monitor status since DTCs cleared. (Includes malfunction indicator lamp (MIL) status and number of DTCs.) |
01 | 44 | EquivalentRatioCommand.java | Fuel–Air commanded equivalence ratio |
AT | IGN | IgnitionMonitorCommand.java | N/A |
01 | 42 | ModuleVoltageCommand.java | Control module voltage |
-- | 07 | PendingTroubleCodesCommand.java | Show pending Diagnostic Trouble Codes (detected during current or last driving cycle) |
-- | 0A | PermanentTroubleCodesCommand.java | Permanent Diagnostic Trouble Codes (DTCs) (Cleared DTCs) |
01 | 0E | TimingAdvanceCommand.java | Timing advance |
-- | 03 | TroubleCodesCommand.java | Show stored Diagnostic Trouble Codes |
09 | 02 | VinCommand.java | Vehicle Identification Number (VIN) |
Mode | PID(hex) | OBD-Java-Api | Description |
---|---|---|---|
01 | 43 | AbsoluteLoadCommand.java | Absolute load value |
01 | 04 | LoadCommand.java | Calculated Engine Load |
01 | 10 | MassAirFlowCommand.java | MAF air flow rate |
01 | 5C | OilTempCommand.java | Engine oil temperature |
AT | 0C | RPMCommand.java | Engine RPM |
01 | 1F | RuntimeCommand.java | Run time since engine start |
01 | 11 | ThrottlePositionCommand.java | Throttle position |
Mode | PID(hex) | OBD-Java-Api | Description |
---|---|---|---|
01 | 44 | AirFuelRatioCommand.java | Fuel–Air commanded equivalence ratio |
01 | 5E | ConsumptionRateCommand.java | Engine fuel rate |
01 | 51 | FindFuelTypeCommand.java | Fuel Type |
01 | 2F | FuelLevelCommand.java | Fuel Tank Level Input |
-- | -- | FuelTrimCommand.java | N/A |
01 | 34 | WidebandAirFuelRatioCommand.java | ? Oxyegen Sensor 1 |
Mode | PID(hex) | OBD-Java-Api | Description |
---|---|---|---|
01 | 33 | BarometricPressureCommand.java | Absolute Barometric Pressure |
01 | 0A | FuelPressureCommand.java | Fuel pressure (gauge pressure) |
01 | 23 | FuelRailPressureCommand.java | Fuel Rail Gauge Pressure (diesel, or gasoline direct injection) |
01 | 0B | IntakeManifoldPressureCommand.java | Intake manifold absolute pressure |
Mode | PID(hex) | OBD-Java-Api | Description |
---|---|---|---|
01 | 0F | AirIntakeTemperatureCommand.java | Intake air temperature |
01 | 46 | AmbientAirTemperatureCommand.java | Ambient air temperature |
01 | 05 | EngineCoolantTemperatureCommand.java | Engine coolant temperature |