I just got back from a three-week roadtrip across the country, and I didn't want to make the trip without Bluetooth at least.
So I worked my butt off and got a bunch of stuff installed. Let's have a look!
The mods need power, so I started by finishing up the installation of the custom fuse box. As a refresher, the power system...
The V3 fuse box looks like this:
And here's what it looks like in the car:
The trickier part of the install was wiring into the car's battery. I had to take off wipers (and motor), the cowling, and remove a bunch of crud just to get at the firewall. Here are some pretty pictures:
A voltmeter showed me that the battery and switched power was working as expected. With that, I had power all sorted out.
An early prototype of the Bluetooth module was the first thing I made - it just used sample code from a library, a cigar lighter power adapter and an aux cord. I wanted something more sophisticated and integrated into the car.
I decided to split the Bluetooth functionality into two modules - the audio portion which handles device connection and audio streaming, and the controller which handles user input and displaying information. I started on the hardware side first:
The install isn't the prettiest on account of my filament or CAD skills (Blender), but it works.
The software side was a whole other story. I wanted something that felt like a car bluetooth system - remember multiple devices, menus to connect and switch devices, display song info, etc.
I don't have many pretty pictures to show on the software development side of things - you can check the Github repo to see how it developed over time.
To talk briefly about how the system functions...
One thing that disappointed me was that I can't seem to get the current play time of playing songs - it seems like either my phone or the ESP32 I am using doesn't support it. Oh well.
Keep reading or jump down to see the Bluetooth in action.
I wanted to see my fuel economy, estimated range, and coolant temperature - especially important when you are driving across the country. I'd done all the CAN sniffing I need to do - I just needed to hook up a display and install the CAN data sender. So I did.
None of the buttons or switched on the panel are functional yet - I was in a rush to get everything installed before the trip and didn't care much to hook anything up yet. I had the breaker installed when I wanted to turn everything off.
Here's the info display and Bluetooth in action:
I have a dashcam in my car. It has a front and rear camera, but I was waiting to install the rear camera so I could get a clean installation. I had some downtime on the farm so I tore apart the car and installed it:
I'm happy with the install so far - things are finally coming together. However, it is a bit haphazard and needs some work:
I started work on the audio switcher before the trip, but didn't have time to finish it:
(I should probably learn a proper program for doing circuit diagrams :P)
I also did a bit more CAN sniffing - I found a program called SavvyCAN and edited my logging code to emulate GVRET messages (by ripping code from here).
That let my goofy data center talk to SavvyCAN in realtime - much more useful than reading log files. Take a look:
What I learned from this is that there are no CAN messages when you press steering wheel buttons, meaning I can't use the CAN bus to detect when I try to skip, pause, rewind a song - I'll need to physically find which wires going into the radio control these (unless it is using some sort of LIN bus, which would be a huge PITA).
On the bright side, I found the CAN message for the odometer, which I will use to add a service/oil change reminder to the info display. On the not-bright side again, SavvyCAN likes to freeze as soon as I unleash the high-speed CAN bus onto it, which is annoying because I need to sniff the HS-CAN bus too. I might end up logging it to a file and loading it OR blacklisting certain IDs in the microcontroller if I can't get it to stop freezing.
I want to find the CAN messages for doors being opened (and show them on the info display), and other stuff I can't remember right now. If only I had blogs to look back at to see what I wanted to do...
I'm not really sure what to do next. The audio switcher is a good place to start, or I could install the PA system, or the reverse proximity sensors, or the carputer, or this or that. Free country.
I have Bluetooth now and I can see how inefficiently I am driving (7.8L/100km). There's still a billion things I could do to the car...
But the summer is ending soon enough and I get to go back to school. I should probably update my portfolio. Or study C++ for Ubisoft NEXT and work on my engine. Or work on a game. Or simply explode.