• We are having a problem with new Hotmail members being unable to receive activation emails. Please avoid using a Hotmail email address. Thanks.

Project OBD2 - Mobile App v1.2.1 and later

Looks like the torque pro readings just give the cell error figures. Not sure if this is any good for diagnosing the issue?
Hmm, it's measuring the difference in the voltage between maximum and minimum for each unit pack. that looks reasonable.
I would monitor unit pack temps during charging to see if one pack is acting irregular, other than that I think maybe dealer advice..

Unless there is significant impact on range, I doubt they will do much. 2.5% would probably be about 3.5 miles on a 150mile range. They might just say keep an eye on it and when more significantly worse to let them know. But it's probably still best to get their input.
 
Hmm, it's measuring the difference in the voltage between maximum and minimum for each unit pack. that looks reasonable.
I would monitor unit pack temps during charging to see if one pack is acting irregular, other than that I think maybe dealer advice..

Unless there is significant impact on range, I doubt they will do much. 2.5% would probably be about 3.5 miles on a 150mile range. They might just say keep an eye on it and when more significantly worse to let them know. But it's probably still best to get their input.
Cheers. Any idea how I would go about measuring the unit packs temps?
 
Cheers. Any idea how I would go about measuring the unit packs temps?
Copy the following into a file ending in .csv, then import it into torque pro.

Code:
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header,startDiagnostic,stopDiagnostic,Scale
.00_BMS SystemMainRelayB,SMRB,0x22b049,a,0,1,,781,,,1
.00_BMS SystemMainRelayG,SMRG,0x22b04a,a,0,1,,781,,,1
.00_BMS SystemMainRelayP,SMRP,0x22b052,a,0,1,,781,,,1
.00_BMS Unit01 Circuit Temp,CMU01 Circuit,0x22b001,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit01 MaxVolt,CMU01 Max,0x22b001,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit01 MinVolt,CMU01 Min,0x22b001,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit01 Temp1,CMU01 Temp1,0x22b001,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit01 Temp2,CMU01 Temp2,0x22b001,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit02 Circuit Temp,CMU02 Circuit,0x22b009,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit02 MaxVolt,CMU02 Max,0x22b009,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit02 MinVolt,CMU02 Min,0x22b009,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit02 Temp1,CMU02 Temp1,0x22b009,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit02 Temp2,CMU02 Temp2,0x22b009,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit03 Circuit Temp,CMU03 Circuit,0x22b011,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit03 MaxVolt,CMU03 Max,0x22b011,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit03 MinVolt,CMU03 Min,0x22b011,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit03 Temp1,CMU03 Temp1,0x22b011,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit03 Temp2,CMU03 Temp2,0x22b011,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit04 Circuit Temp,CMU04 Circuit,0x22b019,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit04 MaxVolt,CMU04 Max,0x22b019,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit04 MinVolt,CMU04 Min,0x22b019,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit04 Temp1,CMU04 Temp1,0x22b019,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit04 Temp2,CMU04 Temp2,0x22b019,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit05 Circuit Temp,CMU05 Circuit,0x22b021,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit05 MaxVolt,CMU05 Max,0x22b021,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit05 MinVolt,CMU05 Min,0x22b021,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit05 Temp1,CMU05 Temp1,0x22b021,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit05 Temp2,CMU05 Temp2,0x22b021,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit06 Circuit Temp,CMU06 Circuit,0x22b029,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit06 MaxVolt,CMU06 Max,0x22b029,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit06 MinVolt,CMU06 Min,0x22b029,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit06 Temp1,CMU06 Temp1,0x22b029,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit06 Temp2,CMU06 Temp2,0x22b029,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit07 Circuit Temp,CMU07 Circuit,0x22b0a3,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit07 MaxVolt,CMU07 Max,0x22b0a3,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit07 MinVolt,CMU07 Min,0x22b0a3,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit07 Temp1,CMU07 Temp1,0x22b0a3,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit07 Temp2,CMU07 Temp2,0x22b0a3,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit08 Circuit Temp,CMU08 Circuit,0x22b0ab,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit08 MaxVolt,CMU08 Max,0x22b0ab,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit08 MinVolt,CMU08 Min,0x22b0ab,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit08 Temp1,CMU08 Temp1,0x22b0ab,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit08 Temp2,CMU08 Temp2,0x22b0ab,(e/2)-40,0,60,C,781,,,1
.00_BMS Unit09 Circuit Temp,CMU09 Circuit,0x22b0b3,(g/2)-40,0,60,C,781,,,1
.00_BMS Unit09 MaxVolt,CMU09 Max,0x22b0b3,((c*256+d)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit09 MinVolt,CMU09 Min,0x22b0b3,((a*256+b)/2000)+1,2.5,4.400000095,V,781,,,1
.00_BMS Unit09 Temp1,CMU09 Temp1,0x22b0b3,(f/2)-40,0,60,C,781,,,1
.00_BMS Unit09 Temp2,CMU09 Temp2,0x22b0b3,(e/2)-40,0,60,C,781,,,1
 
Is it best to do a full charge and balance before checking that? I've just set up Torque Pro via links and instructions from the Facebook group which will have the voltage reading for each of the 9 packs.
you can link to this Facebook group
 
I think it's just battery voltage multiplied by current. (If it's charging or regenerating, then both current and discharge rate will be negative. This is the opposite charge rate and not discharging rate so multiplied by -1)
Edit.
Here's the equation from the FB page
(VAL{MGZSEV_HV_Battery_Volts}VAL{MGZSEV_HV_Current}/1000)*-1
 
Last edited:
And after 3 full charges since Friday and 2 rapid charges sue to trips away, my SOH has now dropped overnight from 98.55 to 97.52.
This morning it has dropped to 97.06% from 97.52% yesterday. It that time it wasn't charged and did just 20 miles. Total mileage 19,800.
 
This morning it has dropped to 97.06% from 97.52% yesterday. It that time it wasn't charged and did just 20 miles. Total mileage 19,800.
I'm is a similar boat to you. I'm on the original Jan 2020 BMS and have a cell imbalance of around 80mV. I was at 100% SOH until around 13,000 miles then it has dropped 2% (so now at 97.98%) over the next 2,000 miles. At this rate, I will be at the guaranteed 70% SOH around 45,000 miles.
My charging profile is good in that the car spends 95% of its time between 35% and 85% SOC.
Like you, SOH will drop when the car is not being charged.
Is this low SOH real and how does the car measure it? That is the big question. When new, I was measuring a battery capacity of 42KWh, I am now measuring 39.3KWh so I think the capacity and SOH has reduced. The 100% full voltage is still 455V and 96.2% SOC.
I am having the car updated to the latest BMS next week so we will see if that improves the degradation rate.
 
I'm is a similar boat to you. I'm on the original Jan 2020 BMS and have a cell imbalance of around 80mV. I was at 100% SOH until around 13,000 miles then it has dropped 2% (so now at 97.98%) over the next 2,000 miles. At this rate, I will be at the guaranteed 70% SOH around 45,000 miles.
My charging profile is good in that the car spends 95% of its time between 35% and 85% SOC.
Like you, SOH will drop when the car is not being charged.
Is this low SOH real and how does the car measure it? That is the big question. When new, I was measuring a battery capacity of 42KWh, I am now measuring 39.3KWh so I think the capacity and SOH has reduced. The 100% full voltage is still 455V and 96.2% SOC.
I am having the car updated to the latest BMS next week so we will see if that improves the degradation rate.
Interesting that you are still on the original BMS and having the same problem. I'm on the new one (having had the duff one in Nov). My voltage is still showing the ideal 449 though on this BMS update and 93% soc when fully charged up.
 
Interesting that you are still on the original BMS and having the same problem. I'm on the new one (having had the duff one in Nov). My voltage is still showing the ideal 449 though on this BMS update and 93% soc when fully charged up.
I'm hoping that part of my problem is due to the cell imbalance, which may be solved by the latest BMS. I will know in the next few weeks.
As we both have similar problems with different BMS, it suggests that it's not a BMS problem but perhaps a faulty cell or two. At the current rate, in a year's time, we will both have SOH in the 80's. At that point we may be able to make a warranty claim and get it looked into.
 
I don't see any data from Australian vehicles, and I've been dying to check my version numbers, as many of we Aussie owners get some features of the comfort 2 package, and not others. Alas, my OBD2 dongle (a Konnwei KW903) has Bluetooth BLE, but doesn't pair at all (as far as I know). The only 2 ways to get the version numbers seem to be OVMS (I don't have, but may save up for one day), or this Thai app, which doesn't support BLE (also as far as I know). I've ordered a hopefully suitable dongle, but it will be a few days before it gets here.

While waiting, it dawned on me that I can still get the version numbers, albeit somewhat laboriously, via a terminal program. I used Serial Bluetooth Terminal 1.35. I finally learned all the incantations to get serial comms to work. Here is the preliminary result for tonight: two new, unseen versions, out of three attempted.

First version numbers via serial.png

[ Edit: Description of first byte of each frame corrected, thanks to information from the Reverse Engineering Slack application. ]

To summarise: BMS is a new version: 0111621A03; the only other one with A as the third last character so far is @Fishettibean, from Wales. So: A is for Wales or Australia? Or because the first state founded in Australia was New South Wales? :)
DC-DC is an existing version: F01R0A7355.
VCU is a new version: F01R0AJ385.

My summary text:
Australian vehicle, built 7th Dec 2020, bought 30/4/2021. The only trim available here is called "Excite", but it has most of the features of the UK Exclusive: Blind Spot Detection, Rear Cross Traffic Alert, Sky roof, etc. Has "graphics", charge when opened, outside temperature, but no range on each instrument screen page (always time at bottom left). Charges to around 451-452 V (I assume it's aiming for 455 V). Metric units (km, km/h, kPa). No firmware updates.

Time at bottom left of driver display.jpg
 
Last edited:
One last version before bed. I figure that the time in the left corner of the instrumentation pages must be due to the IPK (Instrumentation Kluster??) ECU.

Here is my data, in text this time:

22:34:54.382 Connecting to OBDBLE ...
22:34:55.647 Connected


22:39:47.289 atsp6
22:39:47.361 OK

22:39:54.337 ath1
22:39:54.379 OK

22:40:10.508 atsh 760
22:40:10.559 OK

22:40:41.447 22f194
22:40:41.539 768100D62F194533139
76821303732342D3039

22:41:29.766 Connection lost

So here is the IPK version data divided up:

768 10 0D 62F194 53 31 39 .... S 1 9
768 21 30 37 32 34 2D 30 39... 0 7 2 4 - 0 9


Another new version number (presumably, actually an old firmware): IPK: S190724-09. Everyone else seems to have S200425-09, even @slarod from Norway, a presumably metric country.

It seems to me that this is one I'd really like to get updated, although for me the lower battery charging voltage is the highest priority. I'll ask nicely at the 1 month free check-up.
 
Last edited:
Here is my complete version number list:

>atsh 781 // BMS
OK
789100D62F194 30 31 31 ////// 0 1 1
78921 31 36 32 31 41 30 33 // 1 6 2 1 A 0 3


atsh 785 // DCDC
OK
78D100D62F194 46 30 31 ////// F 0 1
78D21 52 30 41 37 33 35 35 // R 0 A 7 3 5 5


atsh 7e3 // VCU
OK
7EB100D62F194 46 30 31 ////// F 0 1
7EB21 52 30 41 4A 33 38 35 // R 0 A J 3 8 5


atsh 750 // ATC (per OVMS) = HVAC
OK
758101762F194 52 45 4C ////// R E L // Data length 0x17 = 23
75821 5F 44 43 5F 42 45 56 // _ D C _ B E V
75822 5F 43 30 33 36 20 20 // _ C 0 3 6 • • // • = space
75823 20 20 20 AA AA AA AA // • • • Ꜳ Ꜳ Ꜳ Ꜳ

[ Edit: Data length = 23 = 3 overhead + 3 + 7 + 7+ 3; the AAs are not part of the response, but the spaces are. ]

atsh 740 // BCM
OK
748100D62F194 32 32 31 ////// 2 2 1
74821 30 20 34 31 37 36 20 // 0 • 4 1 7 6 •


atsh 710 // GWM
OK
718100D62F194 30 30 37 ////// 0 0 7
71821 34 30 31 31 30 32 30 // 4 0 1 1 0 2 0


atsh 724 // TPMS (not moving)
OK
72C 03 7F 22 78 // ??
72C100D62F194 51 59 31 ////// Q Y 1
72C21 31 30 35 41 38 31 33 // 1 0 5 A 8 1 3


atsh 760 // IPK
OK
768100D62F194 53 31 39 ////// S 1 9
76821 30 37 32 34 2D 30 39 // 0 7 2 4 - 0 9


atsh 784 // EVCC
OK
NO DATA // Was not charging

atsh 745 // PEPS
OK
74D100D62F194 00 00 5A ////// ⓪ ⓪ Z // Note 2 leading nulls
74D21 53 31 31 53 57 30 31 // S 1 1 S W 0 1


atsh 761 // ICE (per OVMS) = FICM
OK
769100D62F194 53 31 36 ////// S 1 6
76921 30 36 33 30 2E 30 31 // 0 6 3 0 . 0 1


atsh 776 // PLC
OK
77E100D62F194 31 37 37 ////// 1 7 7
77E21 30 31 32 34 31 31 31 // 0 1 2 4 1 1 1


atsh 771 // SCU
OK
779101262F194 31 39 34 ////// 1 9 4
77921 31 33 36 38 35 38 20 // 1 3 6 8 5 8 •
77922 43 30 38 31 33 AA AA // C 0 8 1 3 Ꜳ Ꜳ


atsh 782 // TC
OK
78A100D62F194 46 30 31 ////// F 0 1
78A21 52 30 41 37 33 35 34 // R 0 A 7 3 5 4


atsh 734 // FDR
OK
73C100D62F194 41 43 43 ////// A C C
73C21 5F 53 57 3A 32 2E 30 // _ S W : 2 . 0


atsh 733 // FVCM
OK
73B100D62F194 4D 32 2E ////// M 2 .
73B21 30 52 43 30 32 20 20 // 0 R C 0 2 • •


atsh 732 // RDRA
OK
73A100D62F194 30 30 30 ////// 0 0 0
73A21 30 30 53 57 30 32 36 // 0 0 S W 0 2 6


atsh 730 // SRM
OK
738100D62F194 5A 53 31 ////// Z S 1
73821 31 2E 45 31 2E 30 32 // 1 . E 1 . 0 2


atsh 723 // EPB
OK
72B100D62F194 20 20 20 ////// • • • // Note 6 leading spaces
72B21 20 20 20 53 30 30 31 // • • • S 0 0 1


atsh 721 // EPS
OK
729100D62F194 5A 73 72 ////// Z s r
72921 64 56 30 38 34 52 73 // d V 0 8 4 R s


atsh 720 // ABS
OK
728100D62F194 31 30 31 ////// 1 0 1
72821 39 30 30 30 30 30 30 // 9 0 0 0 0 0 0


atsh 711 // TBOX
OK
NO DATA // Not present

atsh 784 // EVCC
OK
NO DATA // Still no version, in READY mode

Connection lost // Left car to start charging
Connecting to OBDBLE ...
Connected
atsp6
OK

OK
atsh 784 // EVCC (per OVMS) May be confused with OBC??
OK
78C100D62F194 56 31 30 ////// V 1 0
78C21 33 42 30 32 44 30 30 // 3 B 0 2 D 0 0

Disconnected


I have not had a chance to check this thoroughly as yet, sorry. [ Edit: checked fairly well now; several corrections made. ]

My summary text again:
Australian vehicle, built 7th Dec 2020, bought 30/4/2021. The only trim available here is called "Excite", but it has most of the features of the UK Exclusive: Blind Spot Detection, Rear Cross Traffic Alert, Sky roof, etc. Has "graphics", charge when opened, outside temperature, but no range on each instrument screen page (always time at bottom left). Charges to around 451-452 V (I assume it's aiming for 455 V). Metric units (km, km/h, kPa). No firmware updates.
 
Last edited:
A summary of my versions:

BMS 0111621A03
DCDC F01R0A7355
VCU F01R0AJ385
HVAC REL_DC_BEV_C036
BCM 2210•4176•
GWM 0074011020
TPMS QY1105A813
IPK S190724-09
PEPS ZS11SW01
ICE/FICM S160630.01
PLC 1770124111
SCU 194136858•C0813
TC F01R0A7354
FDR ACC_SW:2.0
FVCM M2.0RC02
RDRA 00000SW026
SRM ZS11.E1.02
EPB S001
EPS Zsrdv084Rs
ABS 1019000000
TBOX N/A
EVCC V103B02D00


I note that my PLC (so-called by OVMS) is the same as many of the versions in the EVCC column of the spreadsheet. My EVCC looks like the example OVMS one in the spreadsheet, but those two are unlike any others. There is also no OBC firmware. Could it be that one of these is actually the OBC firmware version? I note that the OBC and EVCC are on the same private bus, the only bus not directly connected to the gateway.

As a point of interest, how are these ECU names determined?
 
Well most electric cars show State of Charge % but this is not included on the MG ZS EV and this is what every owner has been after since 2019. This is a free 3rd part Android only app that gathers the data from the car via OBDII adaptor so we can see battery % / State of Health and lots of other data we have previously not had access to on the car.
I have been researching the OVMS and came across this - can you plaese advise is this an alternative to OVMS or does it still need the OVMS box? Thanks
 
Well most electric cars show State of Charge % but this is not included on the MG ZS EV and this is what every owner has been after since 2019. This is a free 3rd part Android only app that gathers the data from the car via OBDII adaptor so we can see battery % / State of Health and lots of other data we have previously not had access to on the car.
I have been researching the OVMS and came across this - can you plaese advise is this an alternative to OVMS or does it still need the OVMS box? Thanks
 
can you please advise is this an alternative to OVMS
Using a terminal program is an alternative way of getting the firmware version numbers, yes. The Thai app referenced at the first post of this topic is another alternative, much cheaper and easier [ edit: cheaper than OVMS, and easier than the terminal program. ]

OVMS does way more than merely access data, of course. In particular, OVMS can be accessed remotely via a cellular network.
 
Last edited:
So now my OBD2 dongle arrived two days early; don't you hate that? 😉

It's a Vgate iCar Pro Car Scanner from a local Ebay supplier (obd2seller I think); this dongle passes all the command tests in ELM327 Identifier except one ATCRA command (ATCRA7C0; ATCRA on its own works, as does ATCRA000007C0). This is from the Ebay ad (Ebay links never seem to last long) :

Vgate iCar Pro Car Scanner Ebay.jpg


[ Edit: The above photo is NOT AN ENDORSEMENT for that dongle; it's just the one I used for the data in this post. Most of my OBD2 work so far has been on a Konnwei 903 Bluetooth 4. I haven't owned the iCar dongle for long enough to have formed an opinion. This morning, I had a lot of crashes with it, but that's probably the ZS EV app; it worked fine on Car Scanner Elm OBD2. ]

Actually, the above photo is not from the seller I used, but there are several with very similar ads and pricing (around AU$40 with free shipping from NSW).

A composite of my versions; I never seem to get 100% of them working at once, though I find that the app doesn't crash if I rotate the phone screen:

Versions via Thai composite.png

The app data all agree, apart from some minor ECU naming, except for EVCC/PLC/ESCL. I think that one or up to three of these is misnamed in either OVMS or this Thai app, or possibly both.

Edit: this Thai app says EVCC is 1770124111; I get that version from ECU 0x776, which OVMS calls "PLC".

Edit: ESCL is a new version number for me (since OVMS doesn't have it), and no-one else seems to have this value.
Here it is in binary:
74A 10 0D 62 F1 94 58 30 31 // X 0 1 // Length still 13
74A 21 39 00 10 2B 01 FF FF // 9 NUL DLE! + SOH! ÿ ÿ

I'm confused about nulls not terminating the string; I'm pretty sure I read somewhere that a null should terminate the string. But one version string starts with two nulls.
 
Last edited:
Support us by becoming a Premium Member

Latest MG EVs video

New EVs from MG: MG S9 & MG9 plus hot topics from the forums
Subscribe to our YouTube channel
Back
Top Bottom