Setting up Torque to show BMS data

Kia Soul EV Forum

Help Support Kia Soul EV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

JejuSoul

Moderator
Staff member
Joined
Jul 8, 2015
Messages
1,952
Location
Jeju
---------------------------------------------------

The files in this first post on the thread are for historical purpose only.
They are not being updated. If you want the latest files goto github.

If you only want a simple measure of the SOH of the battery use the SoulEVSpy app not Torque.

---------------------------------------------------

Torque is an application for Android tablets and smartphones that interfaces with OBD2 enabled devices (via bluetooth or USB) and provides visual feedback in the form of gauges and digital readouts of the various parameters and values provided.
Torque is normally used with ICE cars but by adding new parameters can be used by the Soul EV.
The advantage of Torque is that it is really flexible in graphing and displaying data.
Example of Torque Screen showing Kia Soul EV BMS data.



The BMS is the Battery Management System. When requested this outputs data from the battery to the OBD2 interface.
To setup torque to be used on the Kia Soul EV you need to enter these parameter values into torque running on your smartphone.

These codes are NO Longer being updated after being tested. Latest Update 19th Dec 2016
You don't need to download and install all of these. You can pick and choose the values you are most interested in.

Here are the BMS codes to get Battery Data - save as "Kia_Soul_EV_BMS_data.csv"
Code:
, BMS data for Kia Soul EV using Torque Pro
, The 96 individual cell voltages are in a separate file
, To see temperatures in Fahrenheit change the unit settings in Torque 
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
000_Minimum Deterioration,Min Det,2105,((ac<8)+ad)/10,0,100,%,7E4
000_Maximum Deterioration,Max Det,2105,((z<8)+aa)/10,0,100,%,7E4
000_Minimum Deterioration Cell No.,Min Det Cell No.,2105,ae,0,96,,7E4
000_Maximum Deterioration Cell No.,Max Det Cell No.,2105,ab,0,96,,7E4
000_Cumulative Energy Charged,CEC,2101,((am<24)+(an<16)+(ao<8)+ap)/10,0,1000000,kWh,7E4
000_Cumulative Energy Discharged,CED,2101,((aq<24)+(ar<16)+(as<8)+at)/10,0,1000000,kWh,7E4
000_Operating Time,OpTime,2101,((au<24)+(av<16)+(aw<8)+ax)/3600,0,1000000,hours,7E4
000_Battery Max Temperature,Batt MaxT,2101,Signed(O),-40,120,C,7E4
000_Battery Min Temperature,Batt MinT,2101,Signed(P),-40,120,C,7E4
000_Battery Module 1 Temperature,Batt Temp1,2101,Signed(Q),-40,120,C,7E4
000_Battery Module 2 Temperature,Batt Temp2,2101,Signed(R),-40,120,C,7E4
000_Battery Module 3 Temperature,Batt Temp3,2101,Signed(S),-40,120,C,7E4
000_Battery Module 4 Temperature,Batt Temp4,2101,Signed(T),-40,120,C,7E4
000_Battery Module 5 Temperature,Batt Temp5,2101,Signed(U),-40,120,C,7E4
000_Battery Inlet Temperature,Batt InletT,2101,Signed(W),-40,120,C,7E4
000_Battery Module 6 Temperature,Batt Temp6,2105,Signed(J),-40,120,C,7E4
000_Battery Module 7 Temperature,Batt Temp7,2105,Signed(K),-40,120,C,7E4
000_Battery Module 8 Temperature,Batt Temp8,2105,Signed(L),-40,120,C,7E4
000_State of Charge Display,SOC Display,2105,af/2,0,100,%,7E4
000_State of Charge BMS,SOC BMS,2101,e/2,0,100,%,7E4
000_Maximum Cell Voltage,Max Cell Volts,2101,x/50,0,2,V,7E4
000_Minimum Cell Voltage,Min Cell Volts,2101,z/50,0,2,V,7E4
000_Maximum Cell Voltage No.,Max Cell V  No.,2101,y,0,96,,7E4
000_Minimum Cell Voltage No.,Min Cell V  No.,2101,aa,0,96,,7E4
000_Battery DC Voltage,Batt Volts,2101,((m<8)+n)/10,0,100,V,7E4
000_Battery Current,Batt Current,2101,((Signed(K)*256)+L)/10,-100,100,A,7E4
000_Auxillary Battery Voltage,BMS 12V Batt,2101,ad*0.1,0,100,V,7E4
000_Cumulative Charge Current,CCC,2101,((ae<24)+(af<16)+(ag<8)+ah)/10,0,1000000,Ah,7E4
000_Cumulative Discharge Current,CDC,2101,((ai<24)+(aj<16)+(ak<8)+al)/10,0,1000000,Ah,7E4
000_Available Charge Power,CCL,2101,((f<8)+g)/100,0,100,kW,7E4
000_Available Discharge Power,DCL,2101,((h<8)+i)/100,0,100,kW,7E4
000_Battery Heater 1 Temperature,Heater Temp1,2105,Signed(X),-40,120,C,7E4
000_Battery Heater 2 Temperature,Heater Temp2,2105,Signed(Y),-40,120,C,7E4
000_Battery Power,Energy Draw,2101,val{000_Battery Current}*val{000_Battery DC Voltage}/1000,-60,60,kW,7E4
000_Battery Fan Status,Batt Fan Status,2101,ab,0,9,,7E4
000_Battery Fan Feedback,Batt Fan Feedback,2101,ac,0,1000,Hz,7E4
Here are the BMS codes to get Battery Cell Voltages - save as "Kia_Soul_EV_BMS2_data.csv"
Code:
, Extra BMS data for Kia Soul EV using Torque Pro
, These are the 96 individual cell voltages
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
000_Cell Voltage 1,Cell 1,2102,e/50,0,5,V,7E4
000_Cell Voltage 2,Cell 2,2102,f/50,0,5,V,7E4
000_Cell Voltage 3,Cell 3,2102,g/50,0,5,V,7E4
000_Cell Voltage 4,Cell 4,2102,h/50,0,5,V,7E4
000_Cell Voltage 5,Cell 5,2102,i/50,0,5,V,7E4
000_Cell Voltage 6,Cell 6,2102,j/50,0,5,V,7E4
000_Cell Voltage 7,Cell 7,2102,k/50,0,5,V,7E4
000_Cell Voltage 8,Cell 8,2102,l/50,0,5,V,7E4
000_Cell Voltage 9,Cell 9,2102,m/50,0,5,V,7E4
000_Cell Voltage 10,Cell 10,2102,n/50,0,5,V,7E4
000_Cell Voltage 11,Cell 11,2102,o/50,0,5,V,7E4
000_Cell Voltage 12,Cell 12,2102,p/50,0,5,V,7E4
000_Cell Voltage 13,Cell 13,2102,q/50,0,5,V,7E4
000_Cell Voltage 14,Cell 14,2102,r/50,0,5,V,7E4
000_Cell Voltage 15,Cell 15,2102,s/50,0,5,V,7E4
000_Cell Voltage 16,Cell 16,2102,t/50,0,5,V,7E4
000_Cell Voltage 17,Cell 17,2102,u/50,0,5,V,7E4
000_Cell Voltage 18,Cell 18,2102,v/50,0,5,V,7E4
000_Cell Voltage 19,Cell 19,2102,w/50,0,5,V,7E4
000_Cell Voltage 20,Cell 20,2102,x/50,0,5,V,7E4
000_Cell Voltage 21,Cell 21,2102,y/50,0,5,V,7E4
000_Cell Voltage 22,Cell 22,2102,z/50,0,5,V,7E4
000_Cell Voltage 23,Cell 23,2102,aa/50,0,5,V,7E4
000_Cell Voltage 24,Cell 24,2102,ab/50,0,5,V,7E4
000_Cell Voltage 25,Cell 25,2102,ac/50,0,5,V,7E4
000_Cell Voltage 26,Cell 26,2102,ad/50,0,5,V,7E4
000_Cell Voltage 27,Cell 27,2102,ae/50,0,5,V,7E4
000_Cell Voltage 28,Cell 28,2102,af/50,0,5,V,7E4
000_Cell Voltage 29,Cell 29,2102,ag/50,0,5,V,7E4
000_Cell Voltage 30,Cell 30,2102,ah/50,0,5,V,7E4
000_Cell Voltage 31,Cell 31,2102,ai/50,0,5,V,7E4
000_Cell Voltage 32,Cell 32,2102,aj/50,0,5,V,7E4
000_Cell Voltage 33,Cell 33,2103,e/50,0,5,V,7E4
000_Cell Voltage 34,Cell 34,2103,f/50,0,5,V,7E4
000_Cell Voltage 35,Cell 35,2103,g/50,0,5,V,7E4
000_Cell Voltage 36,Cell 36,2103,h/50,0,5,V,7E4
000_Cell Voltage 37,Cell 37,2103,i/50,0,5,V,7E4
000_Cell Voltage 38,Cell 38,2103,j/50,0,5,V,7E4
000_Cell Voltage 39,Cell 39,2103,k/50,0,5,V,7E4
000_Cell Voltage 40,Cell 40,2103,l/50,0,5,V,7E4
000_Cell Voltage 41,Cell 41,2103,m/50,0,5,V,7E4
000_Cell Voltage 42,Cell 42,2103,n/50,0,5,V,7E4
000_Cell Voltage 43,Cell 43,2103,o/50,0,5,V,7E4
000_Cell Voltage 44,Cell 44,2103,p/50,0,5,V,7E4
000_Cell Voltage 45,Cell 45,2103,q/50,0,5,V,7E4
000_Cell Voltage 46,Cell 46,2103,r/50,0,5,V,7E4
000_Cell Voltage 47,Cell 47,2103,s/50,0,5,V,7E4
000_Cell Voltage 48,Cell 48,2103,t/50,0,5,V,7E4
000_Cell Voltage 49,Cell 49,2103,u/50,0,5,V,7E4
000_Cell Voltage 50,Cell 50,2103,v/50,0,5,V,7E4
000_Cell Voltage 51,Cell 51,2103,w/50,0,5,V,7E4
000_Cell Voltage 52,Cell 52,2103,x/50,0,5,V,7E4
000_Cell Voltage 53,Cell 53,2103,y/50,0,5,V,7E4
000_Cell Voltage 54,Cell 54,2103,z/50,0,5,V,7E4
000_Cell Voltage 55,Cell 55,2103,aa/50,0,5,V,7E4
000_Cell Voltage 56,Cell 56,2103,ab/50,0,5,V,7E4
000_Cell Voltage 57,Cell 57,2103,ac/50,0,5,V,7E4
000_Cell Voltage 58,Cell 58,2103,ad/50,0,5,V,7E4
000_Cell Voltage 59,Cell 59,2103,ae/50,0,5,V,7E4
000_Cell Voltage 60,Cell 60,2103,af/50,0,5,V,7E4
000_Cell Voltage 61,Cell 61,2103,ag/50,0,5,V,7E4
000_Cell Voltage 62,Cell 62,2103,ah/50,0,5,V,7E4
000_Cell Voltage 63,Cell 63,2103,ai/50,0,5,V,7E4
000_Cell Voltage 64,Cell 64,2103,aj/50,0,5,V,7E4
000_Cell Voltage 65,Cell 65,2104,e/50,0,5,V,7E4
000_Cell Voltage 66,Cell 66,2104,f/50,0,5,V,7E4
000_Cell Voltage 67,Cell 67,2104,g/50,0,5,V,7E4
000_Cell Voltage 68,Cell 68,2104,h/50,0,5,V,7E4
000_Cell Voltage 69,Cell 69,2104,i/50,0,5,V,7E4
000_Cell Voltage 70,Cell 70,2104,j/50,0,5,V,7E4
000_Cell Voltage 71,Cell 71,2104,k/50,0,5,V,7E4
000_Cell Voltage 72,Cell 72,2104,l/50,0,5,V,7E4
000_Cell Voltage 73,Cell 73,2104,m/50,0,5,V,7E4
000_Cell Voltage 74,Cell 74,2104,n/50,0,5,V,7E4
000_Cell Voltage 75,Cell 75,2104,o/50,0,5,V,7E4
000_Cell Voltage 76,Cell 76,2104,p/50,0,5,V,7E4
000_Cell Voltage 77,Cell 77,2104,q/50,0,5,V,7E4
000_Cell Voltage 78,Cell 78,2104,r/50,0,5,V,7E4
000_Cell Voltage 79,Cell 79,2104,s/50,0,5,V,7E4
000_Cell Voltage 80,Cell 80,2104,t/50,0,5,V,7E4
000_Cell Voltage 81,Cell 81,2104,u/50,0,5,V,7E4
000_Cell Voltage 82,Cell 82,2104,v/50,0,5,V,7E4
000_Cell Voltage 83,Cell 83,2104,w/50,0,5,V,7E4
000_Cell Voltage 84,Cell 84,2104,x/50,0,5,V,7E4
000_Cell Voltage 85,Cell 85,2104,y/50,0,5,V,7E4
000_Cell Voltage 86,Cell 86,2104,z/50,0,5,V,7E4
000_Cell Voltage 87,Cell 87,2104,aa/50,0,5,V,7E4
000_Cell Voltage 88,Cell 88,2104,ab/50,0,5,V,7E4
000_Cell Voltage 89,Cell 89,2104,ac/50,0,5,V,7E4
000_Cell Voltage 90,Cell 90,2104,ad/50,0,5,V,7E4
000_Cell Voltage 91,Cell 91,2104,ae/50,0,5,V,7E4
000_Cell Voltage 92,Cell 92,2104,af/50,0,5,V,7E4
000_Cell Voltage 93,Cell 93,2104,ag/50,0,5,V,7E4
000_Cell Voltage 94,Cell 94,2104,ah/50,0,5,V,7E4
000_Cell Voltage 95,Cell 95,2104,ai/50,0,5,V,7E4
000_Cell Voltage 96,Cell 96,2104,aj/50,0,5,V,7E4
Here are the TPMS codes to measure Tire Pressure. - save as "Kia_Soul_EV_TPMS_data.csv"
Code:
, TPMS data for Kia Soul EV using Torque Pro
, You need to drive more tham 100m for the sensors to send the data
, To see pressures in bars change the unit settings in Torque 
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
001_TPMS_ID Front Left,TPMS_ID_FL,2106,(a<24)+(b<16)+(c<8)+d,0,100,,7D6
001_TPMS_ID Front Right,TPMS_ID_FR,2106,(i<24)+(j<16)+(k<8)+l,0,100,,7D6
001_TPMS_ID Back Left,TPMS_ID_BL,2106,(q<24)+(r<16)+(s<8)+t,0,100,,7D6
001_TPMS_ID Back Right,TPMS_ID_BR,2106,(y<24)+(z<16)+(aa<8)+ab,0,100,,7D6
001_Tire Pressure Front Left,Tire Pre_FL,2106,e/4,0,120,psi,7D6
001_Tire Pressure Front Right,Tire Pre_FR,2106,m/4,0,120,psi,7D6
001_Tire Pressure Back Left,Tire Pre_BL,2106,u/4,0,120,psi,7D6
001_Tire Pressure Back Right,Tire Pre_BR,2106,ac/4,0,120,psi,7D6
001_Tire Temperature Front Left,Tire Temp_FL,2106,f-55,0,120,C,7D6
001_Tire Temperature Front Right,Tire Temp_FR,2106,n-55,0,120,C,7D6
001_Tire Temperature Back Left,Tire Temp_BL,2106,v-55,0,120,C,7D6
001_Tire Temperature Back Right,Tire Temp_BR,2106,ad-55,0,120,C,7D6
Here are the On Board Charger codes . - save as "Kia_Soul_EV_OBC_data.csv"
This is version 1 for cars older than Oct 2015 and without an OBC replacement
Code:
, On Board [color=#000000] Cha[/color]rger OBC data for Kia Soul EV using Torque Pro v1
, available when the J1[color=#000000]772[/color] Cord is connected
, Version1: this is for 2014 and 2015 Soul EVs
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
002_Normal Charge Port,SlowCharge,2101,{j:5},0,1,,7E4
002_Rapid Charge Port,FastCharge,2101,{j:6},0,1,,7E4
002_OBC_Charging_Current,ChargeAmps,2102,((m<8)+n)/10,0,400,A,794
002_OBC_Charging_Voltage,ChargeVolts,2102,((g<8)+h)/10,0,400,V,794
002_OBC_OutputVolts,OutputVolts,2102,((k<8)+l)/10,0,400,V,794
002_OBC_Pilot_Duty_Cycle,Pilot_Duty,2102,r/3,0,86,A,794
002_OBC Temp 1,OBC Temp 1,2102,Signed(S),-40,120,C,794
002_OBC Temp 2,OBC Temp 2,2102,Signed(T),-40,120,C,794
002_OBC Temp 3,OBC Temp 3,2102,Signed(U),-40,120,C,794
002_OBC_Charging_Power,ChargePower,2102,(val{002_OBC_Charging_Current}*val{002_OBC_Charging_Voltage})/1000,0,400,kW,794
002_OBC_Efficiency,OBC_Efficiency,2102,ABS(val{000_Battery Power}/val{002_OBC_Charging_Power})*100,0,100,%,794
002_OBC_Amps_Limit,Amps_Limit,2102,val{002_OBC_Pilot_Duty_Cycle}*0.6,0,52,A,794
Here are the On Board Charger codes for ver2 . - save as "Kia_Soul_EV_OBC2_data.csv"
This is version 2 for cars newer than Oct 1st 2015 or with an OBC replacement
Code:
, On Board [color=#000000] Cha[/color]rger OBC data for Kia Soul EV using Torque Pro v2
, available when the J1[color=#000000]772[/color] Cord is connected
, Version2: this is for 2016 Soul EVs
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
002_Normal Charge Port,Slowcharge,2101,{j:5},0,1,,7E4
002_Rapid Charge Port,Fastcharge,2101,{j:6},0,1,,7E4
002_OBC_Charging_Voltage,ChargeVolts,2102,((g<8)+h)/10,0,400,V,794
002_OBC_OutputVolts,OutputVolts,2102,((m<8)+n)/10,0,400,V,794
002_OBC_Charging_Current,ChargeAmps,2102,((o<8)+p)/10,0,400,A,794
002_OBC_Pilot_Duty_Cycle,Pilot_Duty,2102,r/3,0,86,A,794
002_OBC Temp 1,OBC Temp 1,2102,Signed(S),-40,120,C,794
002_OBC Temp 2,OBC Temp 2,2102,Signed(T),-40,120,C,794
002_OBC Temp 3,OBC Temp 3,2102,Signed(U),-40,120,C,794
002_OBC_Charging_Power,ChargePower,2102,(val{002_OBC_Charging_Current}*val{002_OBC_Charging_Voltage})/1000,0,400,kW,794
002_OBC_Efficiency,OBC_Efficiency,2102,ABS(val{000_Battery Power}/val{002_OBC_Charging_Power})*100,0,100,%,794
002_OBC_Amps_Limit,Amps_Limit,2102,val{002_OBC_Pilot_Duty_Cycle}*0.6,0,52,A,794
Here are the codes for the Vehicle Motor Control System VMCU. They have had less testing than the above.
Code:
, Vehicle Motor Control System VMCU data for Kia Soul EV using Torque Pro
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
003_VMCU Motor RPM,rpm,2102,((j<8)+i),0,10000,rpm,7E2
003_VMCU Motor Torque Command Nm,Torque Command,2102,((l<8)+k),0,10000,Nm,7E2
003_VMCU Estimated Motor Torque,Est. Torque,2102,((n<8)+m),0,10000,Nm,7E2
003_VMCU Motor Phase Current RMS,Phase Current RMS,2102,((v<8)+u),0,10000,rms,7E2
003_VMCU Motor Temperature,Motor temp,2102,w-40,-40,200,C,7E2
003_VMCU MCU Temperature,MCU temp,2102,x-40,-40,200,C,7E2
003_VMCU Heat Sink Temperature,Heat sink,2102,y-40,-40,200,C,7E2
003_VMCU Motor U Phase Current Sensor Offset,U Phase,2102,((z<8)+y),0,10000,,7E2
003_VMCU Motor V Phase Current Sensor Offset,V Phase,2102,((ab<8)+aa),0,10000,,7E2
003_VMCU Motor Resolver Offset,Resolver Offset,2102,((ad<8)+ac),0,10000,,7E2
003_VMCU Brake lamp,Brake lamp,2100,{j:0},0,1,,7E2
003_VMCU Brake sw,Brake sw,2100,{j:1},0,1,,7E2
003_VMCU Brake related,Brake related,2100,j,0,255,,7E2
003_VMCU Accel Pedal Related,Pedal related,2101,i,0,255,,7E2
003_VMCU Accel Pedal Depth,Pedal,2101,j/2,0,100,%,7E2
003_VMCU Real Vehicle Speed,Real Speed,2101,k,0,180,km/h,7E2
003_VMCU P,P,2100,{h:0},0,1,,7E2
003_VMCU R,R,2100,{h:1},0,1,,7E2
003_VMCU N,N,2100,{h:2},0,1,,7E2
003_VMCU D,D,2100,{h:3},0,1,,7E2
003_VMCU B,B,2100,{h:4},0,1,,7E2
003_VMCU Eco,Eco,2100,{h:5},0,1,,7E2
003_VMCU CH tmr Inh,CH,2100,{h:6},0,1,,7E2
003_VMCU EWP,EWP,2100,{n:2},0,1,,7E2
003_VMCU Radiator Fan,Radiator Fan,2100,{n:3},0,1,,7E2
003_VMCU Ignition,Ignition,2100,{n:4},0,1,,7E2
003_VMCU Aux Battery Voltage,VMCU 12V Batt,2102,e/10,0,25,V,7E2
003_VMCU Inverter Input Voltage,Inverter InV,2102,e*2,0,360,V,7E2
003_VMCU Cooling Temp 1,Cooling Temp 1,2102,g/2,0,255,C,7E2
003_VMCU Cooling Temp  2,Cooling Temp 2,2102,h/2,0,255,C,7E2
003_VMCU Instant Driving Efficiency,Fuel Efficiency,2101,ABS(val{000_Battery Power})/val{003_VMCU Real Vehicle Speed},0,90,kWh/100km,7E2
003_VMCU Instant Driving Efficiency2,Fuel Efficiency2,2101,val{003_VMCU Real Vehicle Speed}/ABS(val{000_Battery Power}),0,90,km/kWh,7E2

Here are the codes for the Low-Voltage DC-DC Converter LDC. - save as "Kia_Soul_EV_LDC.csv"
Code:
, Low-Voltage DC-DC Converter LDC data for Kia Soul EV using Torque Pro
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
004_DC_Current_Out,AmpsOut,2101,g,0,255,A,7C5
004_DC_Voltage_Out,VoltsOut,2101,f/10,0,26,V,7C5
004_DC_Voltage_In,VoltsIn,2101,h*2,0,510,V,7C5
004_LDC Temp 1,LDC Temp 1,2101,i-100,-100,155,C,7C5
004_Low_Voltage_Power,LDC_Power,2101,val{004_DC_Voltage_Out}*val{004_DC_Current_Out},0,400,W,7C5
-------------------------------------------------------------------------

Method 1 (Manual Entry – For Novice Users):
Open Torque and go to “Settings” (usually by pressing the bottom left key [looks like an upside down box] on the phone / tablet and then selecting Settings).
Scroll down in the settings list and click “Manage extra PIDs/Sensors”
Press the Menu button again (looks like upside down box) and press “Add custom PID”
Press “OK” to agree.
Fill out the appropriate information from the List of Kia Soul EV Torque PIDs, starting with the first PID (or whichever ones are wanted / needed).
Repeat steps 3 – 5 for all PIDs wanted / needed.
Return to the Torque main screen by hitting the Back button (backwards arrow) several times.
Press the “Realtime Information” button on the main screen to go to the gauges screen.
Long press (press and hold) any area on the screen to bring up a list of options about adding / editing existing gauges. When adding a gauge, the PIDs added manually should be selectable as options.
The gauges should be updating regularly at this point.

Method 2 (Automatic Entry – For Advanced Users):
Torque provides a secondary method for bulk loading multiple PIDs into memory by reading them in from a file.
Create a text file and copy the code above into it : ("Kia_Soul_EV_TPMS_data.csv")
Install a File Manager application (Astro File Manager is commonly used. I use Ghost Commander.).
Open the File Manager and navigate to the home Torque folder (commonly this is ‘/mnt/sdcard/.torque’ OR ‘/.torque’.
The .torque folder is hidden by default in the Android file structure. You must enable the viewing of hidden files within the file manager to be able to see it.
Copy the file downloaded above ("Kia_Soul_EV_TPMS_data.csv") in to the ‘extendedpids’ folder (create it if it doesn't already exist).
Exit the file manager and re-open Torque.
Go to “Settings” and then scroll down to “Manage extra PIDs/Sensors”
Press the Menu button on the device (looks like upside down box) and then press “Add predefined set”
Select “"Kia_Soul_EV_TPMS_data” to add them as a predefined PID list.
Return to the Torque main screen by hitting the Back button (backwards arrow) several times.
Press the “Realtime Information” button on the main screen to go to the gauges screen.
Long press (press and hold) any area on the screen to bring up a list of options about adding / editing existing gauges. When adding a gauge, the PIDs added manually should be selectable as options.
The gauges should be updating regularly at this point.
 
Thank you!

This is of great value! I own Opel Ampera (European version of Chevy Volt) and I have my custom PIDs entered in my Torque App since day one and it's great! Every time I start the car I run the Torque app on my phone along with the Waze app.

Those two apps are essential for me, when driving my Ampera. And if I ever own the Soul EV, I'll make sure to use these custom PIDs as well.

P.S.: What are Minimum Deterioration and Maximum Deterioration PIDs? Battery degradation values?
 
AndY1 said:
P.S.: What are Minimum Deterioration and Maximum Deterioration PIDs? Battery degradation values?
Yes, battery degradation is what we think they they mean.
See the Soul Spy thread for a lengthy discussion of how these values were reverse engineered.
The Soul EV has 96 cells. (actually 96 pairs of cells).
Maximum Deterioration is the greatest % deterioration of any of those 96.
Minimum Deterioration is the smallest % deterioration of any of those 96.
If you read the battery calibration thread you will see that these numbers can adjust both up and down extensively.
We don't yet know how this relates to actual reduction in range.

Torque is only one option for Soul EV owners to monitor their car data.
The much more powerful OVMS is already available.
SoulSpy will hopefully be available soon, and I hope that will be the default choice.
Torque is useful because it is here now and has great flexibility in allowing the user to create their own displays.
It would be really interesting to see screenshots of the displays people create.
 
Good job!

This is how I have my Torque Pro set up for recording videos with my Ampera:

https://www.youtube.com/watch?v=r3so4gcYPrI

This is how I had it set up when driving pre-production Toyota Prius Plug-In in early 2012, when I'm driving and I have the phone attached to the windscreen:
634716268142204618_eko_rally_ajdovscina_2012_82.jpg


For Ampera I added additional custom PIDs specific for Ampera.
 
I got a message from user Priusfan about the Torque code.
Will respond and update my first post when I have more time.
priusfan said:
Today, I have 2 friends in France with kia soul and I started with them exploring the opportunities to get data from the diag plug.
I got a very interesting log using a good scanner, but there are no info regarding individual batt's cells using passive scanning.
So I saw your research using torque....
We made some preliminary tests with your csv.

1) there is a problem with "000_Battery Current,Batt Current,2101,((k<8)+l)/10,-150,150,A,7E4 "
when sign is the "wrong way" charging/loading, it is completely out.
I asked to the friend doing the tests to send me me some debug log from torque for solving this sign trouble.

2) I suggest to add these lines: (not tested yet)
000_Available Charge Power,CCL,2101,((F<8)+G)/100,0,100,KW,7E4
000_Available Discharge Power,DCL,2101,((H<8)+I)/100,0,100,KW,7E4
 
Bonjour,

We made a short test today.

It seems CCL & DCL are ok using the formulae here under

Code:
000_Available Charge Power,CCL,2101,((F<8)+G)/100,0,100,KW,7E4
000_Available Discharge Power,DCL,2101,((H<8)+I)/100,0,100,KW,7E4

But 000_Battery Current,Batt Current,2101,((k<8)+l)/10,-150,150,A,7E4 gives wrong results...

We will try to analyse the can_trafic when driving...

BTW, we are using the OBDLINK LX module (it is expensive, but works perfectly)
 
It looks like the options to import data is only available for Torque Pro and not for Torque Lite. In Torque Lite you can only select predefined sets.
And manual adding pids in Torque Lite you only have the options:
  • OBD2 PID
    Long name
    Short name
    Minimum value
    Maximum value
    Scale factor
    Unit type
    Equation

In the Equation, ad/10 is not accepted.
Header cannot be filled?

So this is only available in Torque Pro?
 
I get strange temperature values in Torque, but my battery pack is most likely colder than 0 degrees C
(it's been -20C all day and night, and the car has been sitting for almost two days)

I'm going to try and set the min value to '-20' and see if that helps.

Also experiencing the same as reported above, while charging or regen the Batt Current value is way off the charts.

Any other interesting PIDS to use?
 
ZuinigeRijder said:
So this is only available in Torque Pro?
I am using Torque Pro. It came on the CD with the Konnwei KW902.

2soul said:
I get strange temperature values in Torque
Can you post those values. Tonight is the first frost I have had this year, so perhaps I can test this myself tomorrow morning.

2soul said:
Any other interesting PIDS to use?
Yes, there are a lot. Try reading back along the Soul Spy thread to see the discussion on these. Are there any you are particularly interested in?
 
More battery related PIDS would be nice :)
But even better to know how to construct these custom items for display in Torque. I have yet to acquire some knowledge I see..

I will go out very soon to check the temp values, they all started at 255.0C when cold, and went up to 252 after a short drive (-13C at the time) It's about -14C now.
 
When battery temp is negative, a value of 255.0C to 252.0C is displayed before the battery heats up to 0C.
When battery current is negative (when regen or charge), a value of 66xx.0 is displayed, when current is drawn it immediately changes to the correct value
 
I haven't managed to correct the error with negative temperature yet. The battery temperature was at zero this morning. The lowest temp. my car has been so far. But I did correct multiple minor typos, and add some new values. Its easiest in Torque to just clear the previous list and add the entire new set. Your displays will all continue to work as before.
Code:
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
000_Minimum Deterioration,Min Det,2105,((ac<8)+ad)/10,0,100,%,7E4
000_Maximum Deterioration,Max Det,2105,((z<8)+aa)/10,0,100,%,7E4
000_Minimum Deterioration Cell No.,Min Det Cell No.,2105,ae,0,96,,7E4
000_Maximum Deterioration Cell No.,Max Det Cell No.,2105,ab,0,96,,7E4
000_Cumulative Energy Charged,CEC,2101,((am<24)+(an<16)+(ao<8)+ap)/10,0,1000000,kWh,7E4
000_Cumulative Energy Discharged,CED,2101,((aq<24)+(ar<16)+(as<8)+at)/10,0,1000000,kWh,7E4
000_Operating Time,OpTime,2101,((au<24)+(av<16)+(aw<8)+ax)/3600,0,1000000,hours,7E4
000_Battery Module 1 Temperature,Batt Temp1,2101,o,0,120,C,7E4
000_Battery Module 2 Temperature,Batt Temp2,2101,p,0,120,C,7E4
000_Battery Module 3 Temperature,Batt Temp3,2101,q,0,120,C,7E4
000_Battery Module 4 Temperature,Batt Temp4,2101,r,0,120,C,7E4
000_Battery Module 5 Temperature,Batt Temp5,2101,s,0,120,C,7E4
000_Battery Module 6 Temperature,Batt Temp6,2101,t,0,120,C,7E4
000_Battery Module 7 Temperature,Batt Temp7,2101,u,0,120,C,7E4
000_Battery Module 8 Temperature,Batt Temp8,2101,w,0,120,C,7E4
000_State of Charge Display,SOC Display,2105,af/2,0,100,%,7E4
000_State of Charge BMS,SOC BMS,2101,e/2,0,100,%,7E4
000_Maximum Cell Voltage,Max Cell Volts,2101,x/50,0,2,V,7E4
000_Minimum Cell Voltage,Min Cell Volts,2101,z/50,0,2,V,7E4
000_Maximum Cell Voltage No.,Max Cell V  No.,2101,y,0,96,,7E4
000_Minimum Cell Voltage No.,Min Cell V  No.,2101,aa,0,96,,7E4
000_Battery DC Voltage,Batt Volts,2101,((m<8)+n)/10,0,100,V,7E4
000_Battery Current,Batt Current,2101,((k<8)+l)/10,0,100,Ah,7E4
000_Auxillary Battery Voltage,Aux Batt Volts,2101,ad*0.1,0,100,V,7E4
000_Cumulative Charge Current,CCC,2101,((ae<24)+(af<16)+(ag<8)+ah)/10,0,1000000,Ah,7E4
000_Cumulative Discharge Current,CDC,2101,((ai<24)+(aj<16)+(ak<8)+al)/10,0,1000000,Ah,7E4
000_Available Charge Power,CCL,2101,((f<8)+g)/100,0,100,kW,7E4
000_Available Discharge Power,DCL,2101,((h<8)+i)/100,0,100,kW,7E4
000_Battery Heater 1 Temperature,Heater Temp1,2105,x,0,120,C,7E4
000_Battery Heater 2 Temperature,Heater Temp2,2105,y,0,120,C,7E4
000_Cell Voltage 1,Cell 1,2102,e/50,0,2,V,7E4
000_Cell Voltage 2,Cell 2,2102,f/50,0,2,V,7E4
000_Cell Voltage 3,Cell 3,2102,g/50,0,2,V,7E4
000_Cell Voltage 4,Cell 4,2102,h/50,0,2,V,7E4
000_Cell Voltage 5,Cell 5,2102,i/50,0,2,V,7E4
000_Cell Voltage 6,Cell 6,2102,j/50,0,2,V,7E4
000_Cell Voltage 7,Cell 7,2102,k/50,0,2,V,7E4
000_Cell Voltage 8,Cell 8,2102,l/50,0,2,V,7E4
000_Cell Voltage 9,Cell 9,2102,m/50,0,2,V,7E4
000_Cell Voltage 10,Cell 10,2102,n/50,0,2,V,7E4
000_Cell Voltage 11,Cell 11,2102,o/50,0,2,V,7E4
000_Cell Voltage 12,Cell 12,2102,p/50,0,2,V,7E4
000_Cell Voltage 13,Cell 13,2102,q/50,0,2,V,7E4
000_Cell Voltage 14,Cell 14,2102,r/50,0,2,V,7E4
000_Cell Voltage 15,Cell 15,2102,s/50,0,2,V,7E4
000_Cell Voltage 16,Cell 16,2102,t/50,0,2,V,7E4
000_Cell Voltage 17,Cell 17,2102,u/50,0,2,V,7E4
000_Cell Voltage 18,Cell 18,2102,v/50,0,2,V,7E4
000_Cell Voltage 19,Cell 19,2102,w/50,0,2,V,7E4
000_Cell Voltage 20,Cell 20,2102,x/50,0,2,V,7E4
000_Cell Voltage 21,Cell 21,2102,y/50,0,2,V,7E4
000_Cell Voltage 22,Cell 22,2102,z/50,0,2,V,7E4
000_Cell Voltage 23,Cell 23,2102,aa/50,0,2,V,7E4
000_Cell Voltage 24,Cell 24,2102,ab/50,0,2,V,7E4
000_Cell Voltage 25,Cell 25,2102,ac/50,0,2,V,7E4
000_Cell Voltage 26,Cell 26,2102,ad/50,0,2,V,7E4
000_Cell Voltage 27,Cell 27,2102,ae/50,0,2,V,7E4
000_Cell Voltage 28,Cell 28,2102,af/50,0,2,V,7E4
000_Cell Voltage 29,Cell 29,2102,ag/50,0,2,V,7E4
000_Cell Voltage 30,Cell 30,2102,ah/50,0,2,V,7E4
000_Cell Voltage 31,Cell 31,2102,ai/50,0,2,V,7E4
000_Cell Voltage 32,Cell 32,2102,aj/50,0,2,V,7E4
000_Cell Voltage 33,Cell 33,2103,e/50,0,2,V,7E4
000_Cell Voltage 34,Cell 34,2103,f/50,0,2,V,7E4
000_Cell Voltage 35,Cell 35,2103,g/50,0,2,V,7E4
000_Cell Voltage 36,Cell 36,2103,h/50,0,2,V,7E4
000_Cell Voltage 37,Cell 37,2103,i/50,0,2,V,7E4
000_Cell Voltage 38,Cell 38,2103,j/50,0,2,V,7E4
000_Cell Voltage 39,Cell 39,2103,k/50,0,2,V,7E4
000_Cell Voltage 40,Cell 40,2103,l/50,0,2,V,7E4
000_Cell Voltage 41,Cell 41,2103,m/50,0,2,V,7E4
000_Cell Voltage 42,Cell 42,2103,n/50,0,2,V,7E4
000_Cell Voltage 43,Cell 43,2103,o/50,0,2,V,7E4
000_Cell Voltage 44,Cell 44,2103,p/50,0,2,V,7E4
000_Cell Voltage 45,Cell 45,2103,q/50,0,2,V,7E4
000_Cell Voltage 46,Cell 46,2103,r/50,0,2,V,7E4
000_Cell Voltage 47,Cell 47,2103,s/50,0,2,V,7E4
000_Cell Voltage 48,Cell 48,2103,t/50,0,2,V,7E4
000_Cell Voltage 49,Cell 49,2103,u/50,0,2,V,7E4
000_Cell Voltage 50,Cell 50,2103,v/50,0,2,V,7E4
000_Cell Voltage 51,Cell 51,2103,w/50,0,2,V,7E4
000_Cell Voltage 52,Cell 52,2103,x/50,0,2,V,7E4
000_Cell Voltage 53,Cell 53,2103,y/50,0,2,V,7E4
000_Cell Voltage 54,Cell 54,2103,z/50,0,2,V,7E4
000_Cell Voltage 55,Cell 55,2103,aa/50,0,2,V,7E4
000_Cell Voltage 56,Cell 56,2103,ab/50,0,2,V,7E4
000_Cell Voltage 57,Cell 57,2103,ac/50,0,2,V,7E4
000_Cell Voltage 58,Cell 58,2103,ad/50,0,2,V,7E4
000_Cell Voltage 59,Cell 59,2103,ae/50,0,2,V,7E4
000_Cell Voltage 60,Cell 60,2103,af/50,0,2,V,7E4
000_Cell Voltage 61,Cell 61,2103,ag/50,0,2,V,7E4
000_Cell Voltage 62,Cell 62,2103,ah/50,0,2,V,7E4
000_Cell Voltage 63,Cell 63,2103,ai/50,0,2,V,7E4
000_Cell Voltage 64,Cell 64,2103,aj/50,0,2,V,7E4
000_Cell Voltage 65,Cell 65,2104,e/50,0,2,V,7E4
000_Cell Voltage 66,Cell 66,2104,f/50,0,2,V,7E4
000_Cell Voltage 67,Cell 67,2104,g/50,0,2,V,7E4
000_Cell Voltage 68,Cell 68,2104,h/50,0,2,V,7E4
000_Cell Voltage 69,Cell 69,2104,i/50,0,2,V,7E4
000_Cell Voltage 70,Cell 70,2104,j/50,0,2,V,7E4
000_Cell Voltage 71,Cell 71,2104,k/50,0,2,V,7E4
000_Cell Voltage 72,Cell 72,2104,l/50,0,2,V,7E4
000_Cell Voltage 73,Cell 73,2104,m/50,0,2,V,7E4
000_Cell Voltage 74,Cell 74,2104,n/50,0,2,V,7E4
000_Cell Voltage 75,Cell 75,2104,o/50,0,2,V,7E4
000_Cell Voltage 76,Cell 76,2104,p/50,0,2,V,7E4
000_Cell Voltage 77,Cell 77,2104,q/50,0,2,V,7E4
000_Cell Voltage 78,Cell 78,2104,r/50,0,2,V,7E4
000_Cell Voltage 79,Cell 79,2104,s/50,0,2,V,7E4
000_Cell Voltage 80,Cell 80,2104,t/50,0,2,V,7E4
000_Cell Voltage 81,Cell 81,2104,u/50,0,2,V,7E4
000_Cell Voltage 82,Cell 82,2104,v/50,0,2,V,7E4
000_Cell Voltage 83,Cell 83,2104,w/50,0,2,V,7E4
000_Cell Voltage 84,Cell 84,2104,x/50,0,2,V,7E4
000_Cell Voltage 85,Cell 85,2104,y/50,0,2,V,7E4
000_Cell Voltage 86,Cell 86,2104,z/50,0,2,V,7E4
000_Cell Voltage 87,Cell 87,2104,aa/50,0,2,V,7E4
000_Cell Voltage 88,Cell 88,2104,ab/50,0,2,V,7E4
000_Cell Voltage 89,Cell 89,2104,ac/50,0,2,V,7E4
000_Cell Voltage 90,Cell 90,2104,ad/50,0,2,V,7E4
000_Cell Voltage 91,Cell 91,2104,ae/50,0,2,V,7E4
000_Cell Voltage 92,Cell 92,2104,af/50,0,2,V,7E4
000_Cell Voltage 93,Cell 93,2104,ag/50,0,2,V,7E4
000_Cell Voltage 94,Cell 94,2104,ah/50,0,2,V,7E4
000_Cell Voltage 95,Cell 95,2104,ai/50,0,2,V,7E4
000_Cell Voltage 96,Cell 96,2104,aj/50,0,2,V,7E4
 
255 is computer-speak for -1, if the thing is a "signed 8-bit value".
Then 254 is -2, 253 is -3 and so on.
Maybe Torque has a way of saying "this value is signed"?
 
Comprehensive list of PID operators and functions can be found here: http://torque-bhp.com/forums/?wpforumaction=viewtopic&t=4532.0

* multiply, example 256*A
/ Divide, example A/10
+ Add, example 256*A+B
– Subtract, example B-10
& Logical AND, example A&4
() precedence operator, example (256*A+B)*0.1
{A:b} returns the bth bit of the byte A. Least significant bit is 0, example A = 00001010b = 09h, {A:0} = 0; {A:1} = 1
[XX] returns the value of a PID, where XX is the ID of the OBD2 sensor. i.e. [0d] (speed) or [ff1001] (gps speed)
Baro() returns barometer psia from [33] – Vehicle or [ff1270] – Phone.
A^B returns A to the power of b
Log10(A) returns the Log(base 10) of A
SIGNED(A) returns decimal value of A assuming highest bit is a sign bit
ABS(A) returns absolute value of A
VAL{sensor name} returns the value of the sensor, make sure this matches exactly. Sensor names are their untranslated names.
shift operators x<n


So I assume SIGNED() function has to be used?
 
Interesting! What would be the correct equations for batt current and the batt temp 1-8?
Would be nice to see the correct values displayed, especially here when it is as cold as it is.

Quite interesting to see the rise in temperature during driving. After having parked the car for 2 hours in -14C, the temperature for each module was only a degree or so colder. Then during a quick charge at the same temperature (-14C), the module temp went up by 5-6C for each module, except #8, which was a couple of degrees cooler.
 
Updated the code here to use Capital Letters in the signed function!

Thanks for the tips.
The (possibly) corrected code using the Signed operator.
I have not tested any of these. Can someone please post if they are working.
Code:
000_Battery Module 1 Temperature,Batt Temp1,2101,Signed(O),-100,120,C,7E4
000_Battery Module 2 Temperature,Batt Temp2,2101,Signed(P),-100,120,C,7E4
000_Battery Module 3 Temperature,Batt Temp3,2101,Signed(Q),-100,120,C,7E4
000_Battery Module 4 Temperature,Batt Temp4,2101,Signed(R),-100,120,C,7E4
000_Battery Module 5 Temperature,Batt Temp5,2101,Signed(S),-100,120,C,7E4
000_Battery Module 6 Temperature,Batt Temp6,2101,Signed(T),-100,120,C,7E4
000_Battery Module 7 Temperature,Batt Temp7,2101,Signed(U),-100,120,C,7E4
000_Battery Module 8 Temperature,Batt Temp8,2101,Signed(W),-100,120,C,7E4
000_Battery Heater 1 Temperature,Heater Temp1,2105,Signed(X),-100,120,C,7E4
000_Battery Heater 2 Temperature,Heater Temp2,2105,Signed(Y),-100,120,C,7E4
000_Battery Current,Batt Current,2101,((Signed((K)*256)+L)/10,-100,100,Ah,7E4
I too saw the temperature in module 8 be much cooler than the rest. With ambient temp at zero. I drove to to a QC. All modules were 4°C. After the QC modules 1 to 7 were 10°C and module 8 was 6°C. In the summer module 8 was always warmer than the rest. This was explained by module 8 being furthest out along the cooling system. I didn't hear the fan being on while charging, I will add the PID code for the fan so we can check if this is a factor. Otherwise it seems that module 8 stays coolest because it is closest to the air outlet to the outside.
 
No luck - these equations didn't work.

Battery Current still does not display negative value (charge/regen), but 'positive' current draw is not reported correctly. Value now fluctuating between 0Ah and 17Ah.. Actually, wouldn't the logical thing to display be a negative value while drawing current, and a positive one for charge/regen?

Battery Module Temp is displayed like this on a cold battery: 524079024897000000
 
I tried the signed function on my car just now.
signed(p) gave a bizarre result whereas signed(P) worked.
It seems you have to use Capital Letters for the signed function to work.
I have updated the test data in the post just above.
Can you report back if it works for you.
 
Back
Top