Shortly this is app for android to use with Volvos from years 96 to 00 to read, program and reset SERVICE light and so on... With ELM327 Bluetooth/Wifi/USB.
But is going for newer cars too. I left things open for hackers :)
..and this is NOT a sign in dashboard to replace Lambda sensor!
On these models ECUs as Yazaki dash (VDO is OBD capable!), M4.3 (M4.4 is OBD capable!), MFI system (LH-jetronic 3.2 & EZ129K), Fenix 5.2, ECC(A/C) and Cruise Control are not reachable by ELM327 because they are partly older Flash code based systems!
These has some special attention required like COMBI uses slightly different commands on live data and more fixes for those are coming on later updates.
Year models from 1999-2000
These were development years for Volvo as V70 models are working partially under CAN Bus like Dashboard (CDM/CEM), Engine ECU (ECM) or ABS due them being on newer CAN Bus systems BUT! VGLA, Immobiliser, SRS, AW 50-42.. are connected due them being on older systems still as fully or parallel.
*UPDATE* Since V1.5.5 App version 1999 years Dashboard (CDM/CEM) is supported with Scan of information, fault code reading and clearing, Service Light (SRI) reset and GAUGETEST. Rest of modules from these models as well coming on later updates or by request.
Year models since 2001+
Volvo went mostly under multi CAN Bus systems. ELM327 is hardwired only to High Speed CAN Bus (OBDII 6,14) and you need move those to Slow Speed CAN Bus side (OBDII 3,11) with a switch or with an adapter on these years to reach some of systems like DIM on this CAN Bus.
DO NOT MAKE SHORT CIRCUIT / JUMP BETWEEN CAN Bus PINS!
Dashboard (DIM) can be tested in GAUGETEST when done this hardware mod.
For future DIM, SRS Fault code reading is possible with ELM327 modification and later update will bring these and more function available. Live data reading is very cumbersome and it will not be supported for long time yet.
+Service Light (SRI) reset/programming
+Fault Code Reading and clearing
+LiveData(realtime sensor data)
+Reading info of the car (example part numbers of ECUs)
+Injector testing (Motronic M4.4)
+TDi Fuel pump Dynamic Timing (MSA15.7)
-SRS light? It will turn off if there is no left fault codes
Fault Code Definitions supported:
A module which isn't listed here, means it may not have all fault code definitions but does collect all hex values of DTC:
+MSA15.7 (only with D5252T engines!)
+AW 50-42 / AW 30-43
+ROP (Roll Over Protection) (only C70?)
+ECC (only S40/V40, C70/S70/V70/XC70)
+Instrument panel (COMBI)
+AW 50-42 / AW 30-43 (Automatic Gearbox)
Component test (Activation):
-Engine Cooling Fans
-Fuel Pump Relay
-SAS Air Pump
-SAS Air Valve
-Dynamic Fuel Pump Timing (TDI)
-Turbo Regulating Valve
-Heater Relay 1
-Heater Relay 2/3
-Engine Cooling Fans
-S1 ja S2 solenoids
-Line Pressure Solenoid
ECC activate self-adjustment
I try keep app as simple but advanced as possible. Only difficulties for user should be is connecting to your OBDII ELM327 device.
+Click Bluetooth icon at the top-right corner - Bluetooth Devices.
-Or by going Settings/Bluetooth Devices -page.
+Select your device from the list of already paired OBDII device or click Search -button to find your device and select it.
+Connect at your device by clicking Play button at top-right corner (changes then to green pause button when connected).
+Use the app functions!
Reading the modules (information, parametres, odometer..) happens At Service/Scan and results will be updated to front summary page.
Reading sensor data happens at Live. If you select to Scan only OBDII standard to find Fault codes. You will miss a lot as Volvo had most of Fault codes behind individual modules and not as standard Pxxx -codes and most modules does not provide any Pxxx codes ever!
You can Export Scan readings too as text file if you have had Datalog on to 850Log.txt via Settings/EXPORT LOG.
V1.4.4 forward app supports Exporting Live Data Log directly to as Excel file.
Big thanks for Richard H. Jones (http://jonesrh.info/volvo850/index.html) for inspiration and help this project!
I hope this app is to make things easier (and cheaper) for everyone! If find anything to improve.. please let me know. Thank you!
What ELM327 device?
The left one is disassembled in next picture. Right one works.
Two disassembled ELM327 devices which ended up not working due having unknown ELM emulation chip inside which lacks full ELM emulation. (Under Black glue).
There is a wide range of brands of these so be careful. Volvo needs to have FULL WORKING V1.4b support at minimum!
I ordered two same looking but inside different ELM327 clones and as you can see from picture that other one has two layers of boards.
Other one (left) is not compatible with Volvo as i tested it did crash at ATSI command which it didn´t regocnize and it did send only ? - questionmark. Most cases is that on not working ones has COB chip (Chip-On-Board) or lamer terms black epoxy glue over unknown chip. Working ones has original ELM PIC chip or well emulated firmware in PIC18F chip.
REPORTED WORKING BRANDS
OBDLink (from scantool.net! Not clones), BAFX and Veepeak OBD. I can't verify myself than first one.
UCSI-2000 - Slight bugs in firmware.
Tacklife AOBD1B - Firmware has crash/freezing bugs (device goes in total black out) in ELM emulation so better run "No ELM info Scan" - option Enabled in SCAN Options. Manufacturer answer when reported bugs - "We currently have no intention to cooperate.".
BlueDriver OBD2 Scanner (seems only work on their app ex. crashes with ATZ and ATPC commands.)
By suggestions and feedback app keeps getting more filled and fixed. Send people log via settings page (bottom) as there is simple button for that. Thank you if you may :)
I don’t have now myself any open inventory as I am in process building new and customised adapter in house as I need ask more from dongle in future coming features what elm327 was not ever designed for.
Remember keep ignition on at (II - position) to have power on ECUs! And dont forget leave ELM327 device plugged when you done.. at least in my Volvo 850 there is always electricity at OBDII port and Bluetooth ELM327 draws 0.04A most of the time. Remember too that many ELM327 devices may have problem connect when over 1 meter away from your phone.
___| |__ __ _ _ __ __ _ ___| | ___ __ _
/ __| '_ \ / _` | '_ \ / _` |/ _ \ |/ _ \ / _` |
| (__| | | | (_| | | | | (_| | __/ | (_) | (_| |
\___|_| |_|\__,_|_| |_|\__, |\___|_|\___/ \__, |
- On 1999 models Scan did make error on one command answer due message format in these was updated. If Have 1999 model and something funny comes please just send log with new Scan.
- One reported SRS Fault code from 99-00 year V70s added.
- Added In Service >> Advanced >> EMS2000 >> Reset Adaption Memory.
- Added In Service >> Advanced >> DSA >> Reset Wheel Adaption.
- Long info (i) button text slightly modified in cleaner state. Easier read.
- USB bug fixes. Shows now too pop up if attach or deattach so user knows it detected.
- Capability to copy text from Main screen items of their pop up windows. Shorter way to share trouble codes if want to do that just.
- Wifi permission bug was able skip permission request and not return to it and result not working connectivity if as such on Android 8+.
- Live init bug fixed now for some modules has been affected for long time so only Service Scan did reach these modules but Live did not, did not show on 850 modules which why it flew under my radar.
- Moved CDM/CEM to be last item in Scans if selected as it broke otherwise init steps for older systems in middle of run and triggers false popup of about ELM327 on rest of the run.
- Renamed Kline button to COMBI in GAUGETEST to avoid confusion when referred text of popup.
- For years 1999 and 2000 CDM module (Dashboard) now Fault code reading and clearing capability plus some additional information. More ECUs from years 1999 and 2000 reading coming later.
- Option in settings now as make Scan not remove all previous data else than Fault code reports so no need read all again if hurry and want save data.
- Figured out 1999 + 2000 systems which used Dashboard (CDM) as CAN bus starting point. On these years no need any ELM327 mods to use.
- Included now working 1999 + 2000 years CDM Dashboard Scan option, Service Light Reset and GAUGETEST.
- IMMO Live data items reworked as it was different on newer IMMO3 systems than 850 IMMO2 which resulted wrong data about transponder status and key code status from my earlier testing. Added now additional information on items what they mean, affect working and in scan too more information from inside modules.
- S/V40 live data on IMMO not connecting like with on 850 (if transferred module right into 850 it worked though!). Modified now live connections start similar to Service. Slower while establish connection.
- For Bluetooth new socket to try if others failed plus small bug with Bluetooth in terms of icon stuck if failed connectivity in example other device using Bluetooth Device.
- Reading 2001 Volvo CAN Bus DIM, SRS and possible of CEM information with ELM327 coming soon.
- CAN GaugeTest now works over in car OBDII port over CEM correctly. More info in Dashboard test window.
- Added for S/V40 series DSA fault codes.
- Some live data fixes after testing S/V40 series.
- Motronic Live data item Injection time added by the request - to be confirmed.
- In Service in rare cases some Adapters or the Car module itself for some reasons may answer too slowly some requests or longer messages, now App will try again slower if detects as such broken message. Previously this resulted wrong data or pop up for error.
- Fixed some runtime issues and made upgrades under hood to make new Android systems more supported while testing continues too on older systems. Thank you all for feedback!
- Fixed sending full logs via email from settings due many Android email clients have moved to new way handling files between apps.
- Fixes for wifi based on LineageOS android systems which requires ACCESS_FINE_LOCATION permitted to work correctly.
- Added setting to bypass wifi binding process / force all as old android if there is still other systems misbehaving compared to Android one due differences.
- Fix smaller and larger runtime bugs.
- While doing full scan user can now be able check progress and return to app via notification :)
- Live Data handle better some no communication situations.
- Live Data had reading bug (which affected OBDII values) which was limited to interface type (on wifi/usb).
- For Wifi connection added more code to keep UI up to date.
- After stress testing added now retry for getting all bytes if adapter starts failing send them all.
- Bug fix where some device may send extra stuff after message halting whole app due loop issue at Service.
- Bug fixes for Wifi. Thanks for feedback!
- If Disconnected status show it instead of "OFF" as status on wifi.
- While on Bluetooth or Wifi app will now show current device name under connection icon on which ever Android systems supports function.
- Wifi connectivity streamlined on Android 8 to 11.. On Android 12 Google decided to deprecate function already so it requires more work.
- Fix bug where on main screen rotation suddenly crashed app. Developer forget one thing.
- Smaller bug fixes and preventing issues.
- Live Data - Fixes with Wifi connectivity.
- Live Data - Notification if failed connect ECU.
- Replace old code detect Wifi connectivity which Google had deprecated for unknown reasons.
- Request: Live data item Flywheel Adaptation Status for Motronic.
- Exporting log works now more linear (one step only).
- Bug fixes in Live Data like you could not turn off some item due typo in code.
- Add permission check for the log writing if user turned them off it may have caused failed writing the log.
- AW50-42 Live data addition.
- Motronic M4.4 Live data additions (requested Knock Sensors).
- Bug fixes.
- Wifi connection tweaks.
- Live Data / Scrolling values (in other terms) now does update instantly per item so more lively screen in TextView.
- Slight bug fixes (thanks for feedback!)
- AW50-42 Live data additions and fixes.
- Motronic M4.4 Live data additions and fixes.
- Wifi connectivity.
* If you take Wifi dongle out example during live data, app will notice now it correctly.
* Some cases ELM327 wifi version may send incorrect (corrupted) message which caused connection interrupt. App now can resume from these mishaps.
* On newer and faster Motorola i finally did catch Wifi bug where reading buffer got corrupted in between system calls. Works better but need still tweaking.
* On newer Androids can fail make connection due system proceeds after slight time to ask user confirm to keep connection to ELM327 WIFI dongle before you can actually connect to it.
- Live data log can be now be exported as clear (what you saw is what you get) Excel file via Settings menu button (will appear at the bottom if log has been created). No support old logs due all changes which was required. Added raw export for Old live data if found as is.
- Live data items got some cleaning.
- Added confirmation before removing log files.
- Fix app not including some cases Summary in the log.
- By feedback [Live] Motronic Lambda voltages now corrected.
- Service - Scan now catches correctly hex values of the 1999 and 2000 year models of the V70 SRS modules DTCs.
- Combi and ABS fault codes (DTC) includes now cycle status reading.
- [Live] Gearbox new item, KickDown switch status.
- [Live] Gearbox new item, KickDown activation status.
- [Live] Gearbox Torque value fixed to more correct ms (milliseconds) indication.
- [Live] Gearbox new item, brake switch status.
- Gearbox advanced commands now has Torque control test.
- Gearbox advanced command solenoids now in one popup with some live data.
- Change by a request text info :)
- Added some extra info on various places in app functions.
- Included more ECC Scan items to save in log for further studies.
-ECC self-adjustment has now extra info of procedure and some guidance.
-Horizontal to vertical view change wont mess up things now.
-850 models had bug with fault code Freeze Frame reading on COMBI.
-Fix Android 10+ of log file saving problems which affected that log file is not created but user needs export it to view it now.
- Hotfix bug update for 1999 ECUs fault code read and clearing when they doesn't support old way.
- Small tweaks for CAN Bus dashboard test.
- Script reader slight tweak for avoiding bugs.
- Correction for Motronic M4.4 scan information, additional H/W turned out to be BOSCH order number on the ECU sticker ex. 0 261 204 609 on mine.
- Service terminal now supports 'scripts'.
- Automatic gearbox Live data reviewed by the request.
- USB baud rate settings now available.
- 1999 models of V70 had new way of fault code request which app did not understand correctly to do.
- Fix manual typing of some OBDII standard commands without ATE1 and ATH1 commands.
[x] Fix Motronic live data item of TPS.
[x] Fix broken OBDII standard function of detecting car O2 system.
[x] Fix OBDII standard Scan to function on CAN with 29bit ID.
[x] Fix in Service Selected Scan items not resetting correctly after changing options.
[x] Added partial FreezeFrame information support for COMBI ECU (850 only? later V70 support).
[x] Tweak connection to ECUs as by one report ABS did connect on Live but did not connect in Scan in Service.
[!] First CAN based communication test for Volvos (99-06 ?) Gauge test now includes CAN based Volvo dash test which is tested on 2001 Volvo dash (DIM) but as i dont yet own full car not tested on one as CAN bus in OBDII ports are closed on Volvos and not sure how well ELM327 can handle opening it and keeping it open. Looking feedback!
[x] Added notification of new updates to notify user as update may be installed automatically in total silence.
[x] Fix Write permission pop up happened more than requested.
[x] Request: ECC (A/C) Adjust Motors command in Service
[x] Landscape mode tweak for dynamic timing.
[x] Couple new COMBI fault codes for SV40 cars.
[x] COMBI live data item Oil Temperature for only SV40 cars.
[x] ECC (A/C) Live data items
[x] Connected WiFi OBDII name was missing as device name but now is on below Android 8.1.
[!] V40/S40 people if possible do full scan with new version and send log to me!
[!] Add Remote programming for VSXC70 series (i am looking someone brave who has pin and all ready and can verify procedure if i have not all correct.. i mean has official tool in hand. I will send beta for him about it).
SORRY FOR DELAY -- update took weeks to publish. Per Google terms messing up location permission into Bluetooth they had problems clarify what is what.
- Android 11 datalog turned off due system changes (hang and crash problems) not supporting anymore it in same way as since 4.4.2 up to 8
- Bluetooth Device selection screen made more clear in cases where devices has multiple names but same MAC address it will now list them all and you see devices which are near by you or not (with marking).
- Service : Scan long click method to start full scan directly had missing checks preventing it run without connection.
- Fixed the Graph NOT to clear data when stop running so can take a look for what happened little time ago.
- Added OBDII Live Data protocol choice of "Automatic" as its been so far reliable work with multiple car brands i tried and heard.
- Fix Service VIN to be readen correctly (standard OBDII) with all new current samples i have (got empty VIN by error).
- Additional info on one fault code [COMBI].
- Modified Error popup list only main things.
- Fix error where OBDII standard protocol sends "Not Supported" response for command.
- Request: Modify livedata item selection to be like ECU selections for Service - Scan. Faster to use.
- Add no fault codes mentioning when there is none reported by ECU so user knows app did get and check response.
- Fix to not to create empty 850sniff.txt files when the feature was not even used.
- VGLA ECU now scans amount of remotes programmed and shows in summary *to be verified*.
- IMMO ECU now scans amount of keys programmed and shows in summary *to be verified*.
- Fixed some possible bugs in reading.
- Fix Wifi connection to stay on successfully (at least on mine 4.4.2 android) and does recover when there is time out happening.
- Finally found old bug which made app crash due Looper.prepare() - error.
* Add Remote programming for VSXC70 series (i am looking someone brave who has pin and all ready and can verify procedure if i have not all correct.. i mean has official tool in hand. I will send beta for him about it).
-Update some text sources
-Requested: Selectable scan
-Correct one country code
-Sip basic OBDII questions if no support on car or fails to connect
-OBDII standard scan now shows O2 sensors
-OBDII standard live data of O2 sensor 1 and 2
-Live data added Graphs view.
-Live data rate timer fixed to be more correct how fast data comes.
-LiveData for Motronic; Secondary Air Pump system, MAF, Lambda regulation, Lambda Voltages and heater amps.
-LiveData for MSA15.7; Air inlet value, actual, EGR valve.
-Advanced commands MSA15.7 EGR valve more detailed.
-VIN code reading from now ISO and CAN protocols during the scan for basic OBDII info.
-For new user who denied SDcard r&w rights (log) app would not jam and disable log if so.
-Log includes more clear indication for me to find bug.
-[Service]basic OBDII reader i forgot complete one work which clearly did show up then. Fixed and no popups from those and now shows ECU numbers correctly too on both style (CAN and not CAN).
-[WIFI] shows when it timeouts correctly so user wont scream to empty server socket. (work in progress to keep it on constantly until user really disconnects)
-[WIFI] possible fix on error old Android versions (i can not test at the moment below 4.4.2 androids personally)
-MSA15.7 Livedata new items; Quantity of fuel injected, actual amount. AND Quantity of fuel injected, Req by driver amount
-MSA15.7 Livedata had typo in couple items not showing on / off correctly
-Power Seat DTC info added now.
-Wifi interface had big bugs which prevented it working in most adapters. Got hold of myself now new adapters which did show to me where problems existed. Sorry long time and confusion :(
-Wifi interface detects timeouts now but can be time to time still buggy if left on and not used for while (will try fine tune it less hassle).
-[Service]standard OBDII support now for ISO 15765 too in Scan (LiveData comes later due my time limit) which my app did not yet understand translate (CAN). ECU registering still buggy due changes.
-[Service]PID collector now understands Mode (Service) 09 PIDs to collect as well which are reported on newer Volvos.
-[Service]ISO 15765 too in Scan to understand translate VIN code if provided like in newer Volvos.
-[Service]PID collector still! had bug if got incorrect data from device.
-[Service]PID collector had bug if got incorrect data from device.
-[Service]For the scan now displays OBDII emission test data.
-[Service]Standard OBDII Pending Pxxx DTC collector had bug.
-[Service]Standard OBDII MIL light status/DTC amount collector had bug when there was multiple ECUs responses.. do'h.
-[Service]S40/V40 Service Light Reset had glitch which made it non functional. Thanks of reporting!
-[Settings]Send Log crashing problem fix on Android 9 (crashing is actually made by Google to protest app developers just to move on new content styling).
-[Service]ABS advanced commands had typo at ending connection but most likely user did not see it.
-[Service]Phones with bottom ui buttons had glitch with popup menu not showing correctly.
-MSA15.7 new Advanced commands to trying toggle Fan speeds and so on.
-Standard OBDII fault code styling bug fixed.
-When chosen ECU at DTC clearing there was typo happened and switched wrong way addresses so in some cases didn't work correctly.
-New ways to prevent bad reading of data to prevent throwing errors at Scan.
-Bluetooth got now some tweaks. Old way didn't example ask always pin codes for connection. New one does if not paired earlier. If you don\'t like it or wont work anymore.. then change to old style from Settings menu at Bluetooth Socket selection. For hanging up during connection setting up i hope has now gone down.
-Connection making Play button had big fault that it let you smash it eventually crashing the app (or even phone in worst cases). Now has limiter to limit some level.
-Play button now can to try connect when user didn\'t have bluetooth on after turning bluetooth on automatically.
-Play button with Wifi interface now does tell user to first connect to wifi interface via Android own wifi menu (Wifi icon next to Play button) as told in descriptions.
-Some tweaks for better user experience and hopefully less laggy.
-Components activation of the AW50-42LE gearbox.
-Components activation of the ABS system (plz don't try them during driving on speeds!).
-COMBI ECU for S70 clearing DTC when failed to clear all.. one possible fix.
-Reset Service Light for V40 / S40 is not compatible with others so now divided to own sub category (or in other models it will program Calendar days to be zero). Sorry if did happen to you!
-IMMO (41) Live data added.
-Did make new bugs while fixing other bugs.. Do'h.
-EMS2000 now identified hopefully all.
-One EMS2000 (S40/V40 Engine ECU) addition to be detected instead of Motronic so gets correct Fault Codes.
-MSA15.7 Dynamic FP Timing screen fitment on landscpace mode and on some narrow resolution phones vertical mode too.
-MSA15.7 Dynamic FP Timing one possible bug could been happen in some times if user pressed at totally right (wrong) moment Start Timing button.
-ODOMETER FIX IN SCAN FOR METRIC (km) VALUE! There was some 1000-2000km throw extra in odometer total value due not so exact conversion/calculation. Thanks of feedback! Mileage (mi) users was not affected!
-RTI ECU all Fault Codes now supported!
-My typo on IMMO Fault Codes not rendering. Sorry ;>
-V40/S40 Service Light Reset support *Plz report thx*
-Some engine ECUs didn\'t support direct reading all part number etc so
-V40/S40 New ECUs;
*EMS2000 (Engine ECU 1998 T4 engines)
*DSA (Dynamic Stability Control)
*RTI (Road Traffic Information)
-V40/S40 ECU EMS2000 - Now most of Fault Codes!
NOTICE this (and Melco 1?) ECUs has SAME electrical address than Motronic so earlier it was misinformation and app tries NOW identify these with known Part No and right Fault Codes so please double check. Reporting log after scan can help further identify more correctly these in future.
-C70 Convertible top ECU (42) reading now supported!
-I noticed some testers uses extra commands (keys?) when connecting with S70 COMBI ECU. Now included those so if app didnt connect to that ECU and/or Service Light reset didnt work earlier with newer V70 from year late 1998.. now SHOULD WORK. *No.One.Reports.So.I.Dont.Know*.
-Volvo Additional Heater ECU 912-D All Fault Codes now supported!
-ECC All Fault Codes now supported!
-IMMO All Fault codes now supported!
-C70 ROP (Roll Over Protection) ECU all Fault Codes now Supported!
-From feedback: Now you can remove fault codes (DTC) from one chosen ECU and no need all. As you want.
-From feedback: App did miss completely on scan of some ECUs info because of my typo of checking!
-VGLA (Volvo Guard Lock and Alarm) ECU fault codes now supported!
-Combi (ECU 51) Fault Codes has now gone through again.
-Prevent startup freezing when log file has become too large to handle efficiently and even crashes the app.
-MSA 15.7 Pump Timing bypass not anymore including speed for if ever someone tries it while driving which is not made for!
-MSA15.7 Dynamic Fuel Pump Timing (Beta) in Service -> Advanced Commands -> MSA15.7.
-MSA15.7 LiveData items
+New; RPM, Speed.
-Corrections; ECT and Fuel Temp!
-One rarely happened stopping bug fix and typos.
-Now should include ALL Gearbox (AW 50-42) fault codes!
-Should include ALL MSA15.7 Engine ECU fault codes!
-I Will be going now through to add ALL fault codes of every Volvo ECUs (what can be read with this app) for this app. Coming more on next updates