Juicing Up The Chevy Volt With Raspberry Pi

While Chevrolet’s innovative electric hybrid might officially be headed to that great big junkyard in the sky, the Volt will still live on in the hearts and minds of hackers who’d rather compare amp hour than horsepower. For a relatively low cost, a used Volt offers the automotive hacker a fascinating platform for upgrades and experimentation. One such Volt owner is [Jared Stafford], who’s recently made some considerable headway on hacking his hybrid ride.

In an ongoing series on his blog, [Jared] is documenting his efforts to add new features and functions to his Volt. While he loves the car itself, his main complaint (though this is certainly not limited to the Volt) was the lack of tactile controls. Too many functions had to be done through the touch screen for his tastes, and he yearned for the days when you could actually turn a knob to control the air conditioning. So his first goal was to outfit his thoroughly modern car with a decidedly old school user interface.

Like most new cars, whether they run on lithium or liquefied dinosaurs, the Volt makes extensive use of CAN bus to do…well, pretty much everything. Back in the day it only took a pair of wire cutters and a handful of butt splice connectors to jack into a car’s accessory systems, but today it’s done in software by sniffing the CAN system and injecting your own data. Depending on whether you’re a grease or a code monkey, this is either a nightmare or a dream come true.

Luckily [Jared] is more of the latter, so with the help of his Macchina M2, he was able to watch the data on the CAN bus as he fiddled with the car’s environmental controls. Once he knew what data needed to be on the line to do things like turn on the fan or set the desired cabin temperature, he just needed a way to trigger it on his terms. To that end, he wired a couple of buttons and a rotary encoder to the GPIO pins of a Raspberry Pi, and wrote some code that associates the physical controls with their digital counterparts.

That’s all well and good when you need to mess around with the AC, but what’s the Pi supposed to do the rest of the time? [Jared] decided a small HDMI display mounted to the dash would be a perfect way for the Raspberry Pi to do double duty as information system showing everything from battery charge to coolant temperature. It also offers up a rudimentary menu system for vehicle modifications, and includes functions which he wanted quick access to but didn’t think were necessarily worth their own physical button.

In the video after the break, [Jared] walks the viewer through these modifications, as well as some of the other neat new features of his battery powered bow tie. What he’s already managed to accomplish without having to do much more than plug some electronics into the OBD-II port is very impressive, and we can’t wait to see where it goes from here.

Today there are simply too many good electric cars for hybrids like the Chevy Volt and its swankier cousin the Cadillac ELR to remain competitive. But thanks to hackers like [Jared], we’re confident this isn’t the last we’ve seen of this important milestone in automotive history.

30 thoughts on “Juicing Up The Chevy Volt With Raspberry Pi

  1. I agree that non-tactile buttons/knobs on a car are… insane. even actual tactile buttons that’re all the same size, shape and texture. having to take your eyes off the road to read the tiny text on a capacitive button is an unnecessary distraction. having to take your eyes off the road to use capacitive buttons to go through a menu screen is a hugely unnecessary distraction. ideally, you should be able to reach over to the climate control, and discern which thing you manipulate to adjust the fan speed with only touch. :/

    1. I’ll agree that non-tactile buttons in a car are stupid.

      But I’ll add that even tactile button in a car aren’t exactly smart, even if they are different textures locations, etc…

      Climate control should be something we don’t have to worry about any more… Even in cars with automatic climate control this isn’t the case… you still need to manually say if the windshield needs to be defrosted… this could be automated with the temperature/humidity sensors already in the car…

      Sure some of the manual controls aren’t going away… while automated headlights might be decent they aren’t perfect .. yet… and until they are I want a manual control for it… but really we should be taking more of these controls away from drivers…. smarter cars that handle all these things we needed controls for… once that’s in place then I fully support moving those controls into some sub menu of a touch screen…

        1. Nailed it. I own a Volt and love it, but there are certainly times I’d rather inhale a bit of cold air than turn on a heater that draws more watts than driving the car down the road (non highway). The seat heaters are great, now for that steering wheel….(I hate gloves when driving)

      1. The biggest reason manufacturers do not take those controls away is because people like me will not buy a car without them. I refuse to buy a car with an automatic transmission and you expect to take away climate controls too.

      2. My 2015 Volt that I bought used last October has pretty much all the climate control automated. You set the temperature you want it to maintain, the maximum fan speed, and a couple of other things and then hit “auto”. It either runs the ICE or not, depending on how cold it is, to boost the generation of heat until it reaches that temperature. It detects people in seats and switches on only the heated seats that are occupied, and sets the level based on indoor and outdoor temperature. It will automatically turn on the defroster based on temperatures and internal humidity. It alerts me if I’m leaving my traffic lane, lets me know if something or someone moves behind me while I’m backing up, warns me if I’m following too close for the speed, switches from fog lights to headlights based on the outside light levels… With my Android phone running Audible and Google Auto, it starts my current audio book playing through the stereo when I select the Bluetooth input. If I get a text on my phone, it offers to either display it on the dash or read it to me verbally. It has GPS navigation, a built-in wifi access point (if I subscribed to the service), Sirius radio with movie listings and weather forecasts. While I would like it to offer voice control of some of the functions, that can probably be hacked in later. So far, I’m loving the car.

        When I drive my 1996 Ford Bronco, it feels like the car in the Flintstones. I have to do *everything* myself!

    2. My old ’75 Firebird was a simple as you could get.The lights and wipers were on the left side of the steering column, you could simply grab either w/o looking.

      Climate controls were on the other side and just as simple.

      Yes, I do like screens as much as the next guy (now have a Honda Civic) but they are not as intuitive nor as easy to repair.

    3. Cars in the ‘50’s and ‘60’s utilized all kinds of different solutions on one dashboard. You often saw push buttons, levers, and knobs all on one dash…. and it was often done with aesthetic style. Gorgeous. Some of it even looked George Jetson, making it twice as cool.

    4. I don’t understand the point of this hack. Tactile or not, you touch ONE button and the HVAC goes to work bringing the cabin to the set thermostat level. …and if you never turn in off, it does this every time without having to hit any button. As a bonus, tap the defrost button, and it goes to work clearing everything up, tap again, and it’s off, all the wile not messing up your cabin settings. And if that wasn’t enough, from a ridiculously long way from the vehicle, lock and hold a button on the fob, and the car goes to work heating up or cooling down the cabin for you based on the exterior temperature.

      1. I kept getting an error message in my car (a 2015 Jeep) saying there was a problem with some non-essential device… I read online that a software update would fix it. So, I searched the Jeep website for the proper software using the car’s VIN. The software update failed. The device was bricked. I drove around for a couple of days with no radio, almost no AC control, no heated seat, no heated steering wheel, no navigation, no backup camera, and about a dozen other features that had no actual physical control, including features like driver preferences when using the key-fob. I had no idea that key-fob control of driver preferences were stored in the memory of my info-tainment system. So, pressing and holding the lock button on the key-fob would do nothing if you had a software problem like mine. It was a minor inconvenience, and definitely a first world problem, but the lack of physical control for so many features of the car was annoying. You would miss physical buttons too if you suddenly lost all software control of features that you use every day. The update finally took after what must’ve been my 17th attempt at the update. U-connect (the name of the division of FCA that handles info-tainment) was ready to to re-imburse me for costs of going to get the device repaired by a dealer, but lucky for me, I didn’t have to wait for a service appointment, or for a re-imbursement check.

        1. Auto control on my Chrysler heat is dumb. They thought to have the fan off till there is heat, then it ramps up. Wow such design aren’t they proud. Every time when it’s cold enough I have to tweak the fan dial to low (override) to blow cold air right away on defrost so my breath doesn’t fog on the windshield. Gone is that pesky AC that fogs up the windshield when starting up because of condensate that collects in what should be a dry furnace not a steamer.

          Yeah it’s dryer air, but running the AC in the winter is dumb too. Give me a mechanical lever that has continuous range between floor and defrost-defog I know what I want and would tweak it more than any other dumb on-off-this-or-that scheme. Same for heat amount. That control of air doors is done with one motor that craps out leaving you with only one stuck setting. This motor gets a workout with the this-or-that scheme. Bring back levers and fan control, KISS.

    5. An interesting development from playing around with IOT house gadgets is experiencing the limitations of voice control first hand. It’s a poor substitute for good tactile controls, but an acceptable stand in for asking a passenger to adjust an HVAC setting.

  2. How many screens can be installed into a car?

    I’ve been tinckering to add a raspberry pi into my car (Audi A6), but in order to make it neat I have to replace (or use) the existing TFT display or find a compatible screen. The Original doesn;t have touchsreen so the old buttons needs to be integrated. Also the integration with things like A/C and car settings will make it a project too complicated. Option is a box that adds a video in, but that cost alone about 300 USD, without any userinput…

    The solution will be obtaining a car that has a (double) DIN car radio slot ;)

    1. i use openauto pro ( a cousin of cranksahft / android auto on raspberry pi) in my bmw, i have it replacing the original Idrive screen. the reason I bring this up is the author of open auto has shown videos of his stuf working on the audi MMI system and using all the controls too. so if you have the itch this is a path worth investigating.

  3. To debate the author’s last statement, I sure as hell don’t think BEVs mean that PHEVs are done with. A few notable exceptions aside, the average range of BEVs mean they are an in-town vehicle, and preclude any form of road-trip, unless you can dedicate frequent stops along the route.

    With EV infrastructure building out rapidly, it’s becoming easier to plan routes, but there are still areas that don’t have coverage sufficient enough to transit through, unless you have a 200+mi range on your BEV.

    This is where a PHEV like the Volt, Ionic, and others shine. The ICE range will allow you to road-trip without any worry and serves to eliminate any range anxiety, while the the EV range allows the vehicle to perform like a BEV for most daily use.

    Without a major improvement in battery technology, or some advent of fuel-like equivalent timescales for recharging (i.e. recharge your vehicle to full with a 5 minute stop at a station), I think PHEV like vehicles with increasing battery capacities are the ideal path forward.

  4. Amp hours is a measure of battery capacity, horsepower is a measure of mechanical power. Are you telling me that your Volt doesn’t have any horsepower? Did you mean to write kilowatt, rather than amp hours? If so, the output of combustion engines can also be measured in kilowatt. If you want to compare amp hours to anything, it should probably be liters of fuel in the tank of a traditional car.

  5. Modifying any vehicle (not just a Volt) to safely brake better, handle better and / or add horsepower would be time & effort well spent. I’ve owned both generations of Volts and had no problem using any of the controls whatsoever. The dash cams are a good idea but you don’t need to hack the vehicle to accomplish that. You can control many of the on-line features shown here with your wifi / OnStar apps.

  6. On the Volt: Sony CXB1457R/1458R GVIF Chipset to intercept, switch or re-drive the 800×480 LCD. RS-232 over a CAN PHY if you want to intercept, switch, emulate, or re-drive the resistive cap-touch controller.

    1. Really like my 2013 volt. Infotainment center is buggy is the only real problem. I’ve been scouring the web for a hack that allows me change the mountain mode battery recharge percentage to something greater than 50%- why not 100%? Oh, I’d love to disable the fob all window roll down ability. My interior has been soaked 2x now-Yikes!

      1. Does your volt have ‘hold’ as a drive mode ?
        Mine has
        Normal
        Sport
        Mountain mode
        Hold
        If I have a charged battery and think I might want to save more than mountain mode does I select ”’hold’ that will use the generator to keep it charged to, say 35 miles .
        The engine will come on as necessary to keep it charged.
        You can also run in ”L’
        instead of ”D’ for more precise Regen and gain some battery there

Leave a Reply to Thinkerer Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.