OVMS for the Kia Soul EV (to remotely access it without UVO)

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.

zax123

Active member
Joined
Sep 8, 2015
Messages
41
Hi guys,

If any of you are interested, a few of us are starting to work on OVMS firmware for the Kia Soul EV. OVMS is an open project for monitoring the CAN BUS of (electric) vehicles and possibly sending actions as well. OVMS was first developed for the Tesla Roadster but has since been adapted to other vehicles.

You can read about it at openvehicles.com.

To get info on the VERY ALPHA Kia Soul firmware, you have to join the dev mailing list.

For now, this is highly technical and I would advise only people who are comfortable flashing firmware and maybe even tinkering with some C code to look at this.

Hopefully the project will grow to a point where we'll be able to do things like lock/unlock doors and turn on the climate control system remotely which is really the goal for most of us working on it.

Rob
 
This sounds great! I can't wait for this project to finish, please let us know the progress.

How much would the hardware be roughly?

Also, is this for the UVO connected systems only? Because in Canada we don't get any UVO service.
 
Hi guys!

Rob, I guess you are the same Rob as on the OVMS-Dev mailinglist. Any luck with the device?

I am currently working on the Soul-part of OVMS. I'm playing around with the code and adding what we have of data (see the Soul Spy-thread on this forum for more info), and I've stolen some of the code from the Twizy and added it to the Kia Soul. Currently we can display data like SOC, charging info, location and estimated range and something called ideal range. Ideal range is your own experience based range on a full battery, so it is simply multiplied with the SOC %. I hope to have SMS alerts now when charging stops, but I haven't tested it yet.
I've also added a "ton" of data from the BMS, but this is also untested. Hopefully I will be able to do some testing to day.

Rob, send a note on the mailinglist when you are ready to start coding! We should discuss what to do and who should do it :)

Geir
 
Good to see activity here developing OVMS. There is already a German page discussing this - http://www.goingelectric.de/forum/kia-soul-ev/ovms-fuer-den-soul-t9741.html . I just found a blog page about OVMS on the Tesla Roadster by Tom Saxton.
The Open Vehicle Monitoring System (OVMS) is an open source hardware and software project created by Mark Webb-Johnson, based in part on earlier work done by Scott Swazey who created the Tesla Tattler. OVMS consists of a $130 device that plugs into the car to both collect information and send commands. The device can interact with the driver via SMS messages and/or relay through a web server which communicates with smartphone apps. Since initial deployment on the Roadster, OVMS has been expanded to support other vehicles, all through volunteer support from vehicle owners.
By analysing the car data using OVMS he was able to create a Charge Time Predictor. This utility allows the user to set a charging end time. See more here - http://www.saxton.org/tom_saxton/2013/12/roadster-ctp.html
 
Hi Geir (et. al.),

Yup, same Rob as on the mailing list. :)

I'm still having trouble with the device. It doesn't even get past the initial boot up sequence. I've ordered another kit but I think they ship from China so it'll be a little while before I can test the new one.

I'm heading to my friend's house to try it on an OBD II port that isn't an electric car. I only have a Tesla and Soul EV here, so just want to make sure the Soul EV is giving out enough power to the board. I will also try it with a bench power supply.

Once I get it working, I'll start to tinker. I'm not a C programmer, but I will likely be able to help a bit with the code. I've read through it and there's a lot of use of hex addressing and bit shifting and stuff it seems. Going back to the computer science courses. :)

I'll keep you posted here and on the mailing list...

Rob
 
JejuSoul said:
By analysing the car data using OVMS he was able to create a Charge Time Predictor. This utility allows the user to set a charging end time. See more here - http://www.saxton.org/tom_saxton/2013/12/roadster-ctp.html
Wow! That was actually a great idea! To bad we have a tiny tiny tiny amount of data, but maybe in a year or so? Heck, I haven't found how to read the external temperature yet. All of the possible values seem to be too high :( So we have some things left to figure out before we can start collecting proper data.
 
Hi guys,

I've been busy lately adding some more data into the OVMS app. Some of the data seems to be correct, others don’t, like engine and “PEM” temperatures, and Accumulated Charge Current (in DEBUG? sms)
The OVMS now alerts you with SMS and/or App-notification when the charging is done.

I’ve also added some more SMS-functionality. Most of it nicked from the Twizy code ;-)

Currently these SMS’ are available:
DEBUG? - Returns different data for debuting purposes
RANGE XXX - Specifies how long you can drive on a full battery in 20 degrees C.
RANGE? - Returns the value you have sat. The number is also available in Feature #12.
CA - Charge alert. Partly implemented (see Twizy documentation for more info)
BTMP - Returns the temperature data for the main battery
BATT - Returns info of the battery excl. temperature
BCV X - Returns battery cell voltages in bulks of 25. X can be 0,1,2 and 3.
QRY XXX - Returns the can data for the specified 3-digit hex can id.

Since we have a huge amount of data, I’ve shortened most of the descriptions in the SMS’ in order to fit them into one SMS, so tell me what you think about it. The alternative is to split the SMS’ into more.

I’m not 100% sure if everything is correct when it comes to KM<->Miles conversion. I might have missed some values.

Let me know what you think :)

Binary:
http://geir.validalo.net/OVMS.KIA-v.0.3unofficial.zip

Source:
https://github.com/goev/Open-Vehicle-Monitoring-System
 
Hi Geir!

Looks like you're making great progress!

I still can't connect my OVMS without the car freaking out about the power system. I un-did the wire we soldered to get a proper ground and now the unit doesn't even power up properly.

So, I'm kind of stuck.

I've ordered a new unit which should arrive in a week or so, at which time I'll be able to test again.

Thanks for keeping this alive!

Rob
 
There is a translation error in the English version of the Battery Management System Data. This error is not in the German version.
The terms Accumulative Charge Power and Accumulative Discharge Power are used in the English version of the Kia Diagnostic System Software.
We have copied these terms from the 'official' source. But both of these values represent energy not power.
The names should be Cumulative Charge and Cumulative Discharge.
The word Cumulative is better here than Accumulative. So we should also change
Accumulative Operating Time to Cumulative Operating Time
Accumulative Charge Current to Cumulative Charge Current
Accumulative Discharge Current to Cumulative Discharge Current

I will cross-post in the Soul Spy thread
 
New binary: http://geir.validalo.net/OVMS.KIA-v0.31unofficial.zip
Fixed issue with BCV-sms, speed should now be correct in map in APP, added trip (untested) + some other minor stuff.

Thanks for pointing out the naming issues.
 
Will the CAN protocol allow to perform actions on the car? (ex. Starting heating or reschedule heating or unlock doors) ?
 
Do you have CAN protocol manual with special Kia Command Set ? Or you have to test each numeric commands and see what it does ?
(ps. i'm a software developer)
 
It is a reverse engineering job. Log everything on the can-bus when the car does nothing in order to get a base line. Then log everything while you do whatever you want to do. Then compare the two sets in order to find the correct commands.

Easy in theory, but the can-bus is 500kbaud so many can-readers are too slow to log everything.
 
Colonelsender said:
Thank you for the precision. Good Luck!
I may have spare time early 2016, i might offer a little help.

Any help is appreciated! Do you know iOS, Android or C-programming? Testing is also very welcomed, and also help figuring out the mysteries on the CAN-bus :D
Writing a user manual is also something that is useful! I'm lousy at it :lol:
 
New version:
// 0.32 12 Nov 2015 (Geir Øyvind Vælidalo)
// - Motor and MCU temperatures
// - Better charge handling (Sense proper car on, car off, port open etc.)
// - Added time to full charge

http://geir.validalo.net/OVMS.KIA-v0.32unofficial.zip
 
goev said:
New version:
// 0.32 12 Nov 2015 (Geir Øyvind Vælidalo)
// - Motor and MCU temperatures
// - Better charge handling (Sense proper car on, car off, port open etc.)
// - Added time to full charge

http://geir.validalo.net/OVMS.KIA-v0.32unofficial.zip

Hi Geir!

This is awesome!

So happy to see you continuing.

I have the OVMS working now, so that's awesome, but I don't have unlimited text messages, so I was wondering if your current version of the app reports all this information back to the tmc.openvehicles.com server via data? I'm asking because I will write a quick app that fetches data from their API and stores it in a database to be able to study and graph later.

We're actually having charging trouble with our car. Sometimes it doesn't fully charge and we can't figure out why. This debug information might help. :)

Thanks!
 
zax123 said:
I have the OVMS working now, so that's awesome, but I don't have unlimited text messages, so I was wondering if your current version of the app reports all this information back to the tmc.openvehicles.com server via data? I'm asking because I will write a quick app that fetches data from their API and stores it in a database to be able to study and graph later.

Great to hear you have the OVMS working now :D

I'm not sure which data is sent to the server for logging, but I'm sure most of the data that is available in the SMS-responses (DEBUG, BATT, TMPS, BTMP, BCV) is not sent to the server. Maybe that is something you could look into? I don't know much about those mechanism in OVMS.

I would be very interested in what you are planning to make :)
 
Back
Top