Project Idea : Add "missing" features to 2016 Kia Sorento


I am Frank, from Montreal, Quebec, Canada. I am an experienced programmer with a passion for cars and modifying them.

I have a 2016 Kia Sorento that I really like but I feel like I am missing a few cool features and I think that I will be able to create them with my M2.

Here’s what I currently plan to do:

*Make the heated seats automatically turn on when vehicle starts and it’s bellow a certain temperature
*Make the steering mode independent from the fuel economy mode. This will probably end up only having the sport steering mode on at all time, but I will look into having way to switch between steering assistance and fuel economy modes on their own.
*Have a way to turn on the rear view camera without having to be in reverse gear.

Once I am confident enough I might try to see what I can do to have better performances, but that will be for another topic.

So far I only played with the leds, blinking and fading them, but I can’t wait to plug it into my suv and see what can be done!

The heated seat idea sounds interesting. I think my 2008 Buick actually does this. It can automatically turn on the seat heat in the winter when you remote start it. It doesn’t seem to do it when you start it with the key.

On my 2013 Leaf it’s possible to turn on the cameras while going forward so that you can see what you’re doing. It seems to only allow this at parking lot speeds. You can’t do it while going 70MPH down the road.

Anyway, just saying that those sound like reasonable ideas and that they have existed on some vehicles. When you’re ready to party here’s what I’d suggest:

  1. Get CAN capturing working first of all. Capture a lot of traffic where the vehicle is on and ready but not doing anything other than just idling there. Try to capture all the buses you can. It could have multiple CAN buses and probably single wire CAN too. A 2016 vehicle is not likely to have the older protocols. Chances are everything runs some form of CAN or ethernet.

  2. Now, try a capture while turning on the seat heat. It could easily be on single wire CAN. You’ll have to figure out where it’s at. A service manual would be handy. What you’re looking for is a change in traffic when you turn on the heat.

  3. Do the same thing with the other things you want to find. You need to find what changed when you did the operation you’re trying to find and which bus it changed on. SavvyCAN could help with this. I really need to start documenting it better. Software developers have a bad habit of constantly writing new stuff and neglecting to tell anyone how the existing stuff works.

  4. You’re going to have to find the outside temperature too. You can try to find it in proprietary data on the CAN bus or you can cheat and use OBDII PID to grab it in an industry standard way. All vehicles have to conform to OBDII standards so your vehicle should report the intake air temperature in PID code 0x0F. You can poll for this any time you want so long as you’re attached to the OBDII port.

Thanks for the great reply! Plenty of useful hints!

Hi - did you get anywhere with this?

I would like to do the same thing as you with the seats :slight_smile: