I have a 2017 GMC Yukon Denali that I’ve had for almost two years now that I have been pretty pleased with and have really no complaints with. However, I have this itch inside that just makes me want to tinker and play with things by adding computer integration with them wherever possible. Lately I have been feeling like my Yukon should be the next victim of my shenanigans. The outline on this project is pretty vague at this moment, but once I find out what is possible with it then I will adjust my goals.
My Yukon came equipped with I believe every feature that is available for the 2017 Denali trim package. I’m not completely sure but it does have all the available electronics packages installed.
Some features that will probably be utilized in this project are:
- Heads Up Display (HUD) – Projection of data on to the windshield
- Entertainment System – HDMI video input, dash and rear video screens.
- OnStar WiFi Hotspot
- Steering Wheel Controls
- Exterior Sensors
- Climate Control
The vehicle is pretty much stock and I hope not do any major permanent modifications as these can effect future resale value, the specific things I want in my vehicle do not necessarily apply to the general public. That said, currently the only changes I have done are the following:
- Amazon Fire TV Stick – Plugged into the HDMI input port, currently allows streaming of my Plex content as well as YouTube and various other content onto the video screens in the vehicle.
- PAC Audio NU-GM51 “Navigation Unlock Module” – Removes the restrictions on the dash system. Allows navigation input while driving, Video mode on dash screen while driving, and more. See here…
As I said, the goals of this project are vague at the moment. They will become more clear as the project progresses and I have a better understanding of what capabilities my Yukon has to offer.
As of right now I want to accomplish a few things. I want to have a lot of data logging of the vehicle, just because having a lot of metrics can be interesting to decipher patterns and just pique curiosity. To accomplish that I am going to be setting up GPS tracking and logging of the vehicle, as well as interfacing with the CAN Bus system (diagnostics data and more) in addition to the GMLAN system (communication between modules in car interior like window control, instrument panel, radio, door locks, and more). I will be logging this data and transmitting it to a server remote from the vehicle and having a web interface to view it.
Beyond data logging, I also want to use the GMLAN system to use preexisting buttons and controls on the vehicle to preform actions on my system. This will be much cleaner and integrated than adding additional buttons to the vehicle that do not match the styling.
I also want to look into what additional media improvements I can bring to the vehicle. I am not sure what that would be, because as of right now I feel pretty content with the current entertainment system combined with my phone and an Amazon Fire TV Stick.
I am going to be using a Raspberry PI 3 B+ as the platform for everything to operate one. Depending on how I see fit I may use an additional Raspberry PI 3 B+ and/or some Arduino boards to divide tasks/features into multiple modules.
So What’s Next?
Right now I am waiting on receiving a PiCAN2 to do the interfacing between the Raspberry Pi and the CAN systems on the vehicle. I have a GPS module already that will be used for the GPS functions. I am planning to take care of the GPS functions first as they will be more simple to accomplish. I have been juggling a lot of ideas around trying to pick how I want to power the Raspberry Pi without causing drain on the car battery and controlling safe shutdowns to prevent data corruption. Look for some work done in terms of GPS coming soon.