On Tuesday, 10 September 2024, I bought the VW Golf. On closer inspection I found the following faults with the car:
Temperature gauge doesn't work, an aftermarket temperature gauge was installed by the previous owner, but this also did not work.
The coolant expansion tank has been replaced with some other car's tank, so the sensor wires did not fit.
Opening any of the 2 front doors (the rear doors could not open) was a rather difficult and tricky process.
The vehicle had no back board.
Things that have been fixed
Bought a set of 4 door handles and installed these, very simple, don't even need to take off the door panel. Not that expensive, now works as good as new.
Installed an ECU for the car, ESP32 Tensilica LX6 32-bit Dual-Core processor with WiFi, BT.
Installed an OLED display in the instrument cluster
On the console there is 2 rows for LEDs, the bottom row is not used at all (had to drill out the plastic), installed 5 individually addressable red LEDs to be used as warning lights.
While the OLED display is displaying the above, the LEDs does a little light show, then flashes with a 250ms delay a few times. I think it would attract attention when enabled.
ECU
The ECU is connected to the ignition via an INA219 Voltage/Current sensor.
Version 1.0 read and displayed the temperature of the coolant expansion tank and the battery voltage. It also kept record (in EEPROM) of minimum and maximum values. Monitoring the cooland tank temperature is in fact pointless.
Version 1.1 code was rewritten entirely to read and displayed the temperature sensors - one in the coolant expansion tank, one connected to the pipe heading into the car's head (DS18B20 in a modified crimp connector, with some thermal paste, heat-shrinked together, hten connected to the pipe using some more thermal paste. EEPROM was cleared, and it also kept record of minimum and maximum values, but no longer displayed that on the OLED at startup.
Version 1.2 is more advanced:
Attempts to connect to my HA wifi network, if after 20 seconds there is no connection, it disconnects and shuts down the WiFi, as the vehicle is clearly not at home. If it does manage to connect, it starts a 5-minute timer, sends the minimum and maximum values stored in EEPROM to Prophet (my Home Automation system). When the 5 minute timer expires, it disconnects from wifi and shuts it down.
During this 5-minute period that the ECU is connected to my HA wifi system, it listens for OTA (Over-The-Air) updates, meaning I no longer have to physically connect a USB cable to the ECU to reprogram it - I can simply switch on the car (doesn't even need to be started), and push the OTA update.
Still reads/displays both temperatures and battery voltage.
Next version I'm planning to add the following:
Add battery-backed RTC (DS1307), at startup get time from (local) SNTP server and set RTC.
Log (every minute) timestamp, current values for sensors to SPIFFS filesystem.
At startup, if data is available on SPIFFS filesystem, push to Prophet at startup.
Add accelerometer (ADXL345) to detect vehicle speed.
Add SIM800L GPRS board, use A-GPS to determine location and log this to SPIFFS filesystem too.
Consider/check costs to use GPRS to transfer data (at least position, possibly all) to Prophet while driving.
Figure out where the anti-hijack is disconnecting the fuel supply, possibly on receipt of SMS with certain contents, activate this device. Alternatively set some shutoff relay in the battery to car cable.
Measure and check if possible: Add INA219 to battery +12V car supply (not the starter) and save/send/report/etc the values.
Currently reads mcu's INA219 voltage, read current as well, and save to SPIFFS/send/etc.
The minimum and maximum data collected will be used to determine when to activate an alarm on the display for high temperature for future versions.
Check soldering/replace 2nd red LED in cluster warning lights row.
Install new seat covers (already purchased) - would need to perform some maintenance on the seats first, they are tearing at places, have ordered cloth repair tape to see how that performes holding everything together.
Install new window washer tank/pump/etc (already purchased) - currently not working for some reason.
Build new side-wires for the backboard, the ones I initially built both snapped.
Install central locking system. Unlock should only unlock the driver door, but lock should lock all four doors.
ECU:
Figure out why ECU buzzer is not working.
Create a function for providing warnings, which flashes the LED warning lights and activates the buzzer.
Gearlock sensor, detect if it has been inserted. Without much if anything visible (can do it with sonar or IR distance sensor but that'll look ugly).
See if I can get some seat-belt sensor (shouldn't be too difficult) for a seatbelt reminder.
Trigger a warning if water pipe temperature exceeds some threshold.
Trigger a warning if battery is out of some range.
Accelerometer that triggers the central locking system to lock all doors when speed exceeds a threshold (think my BMW is set to 40kph).
The back board was built out of pegboard, with two pine supports to make it strong enough to hold (some day) 6x9 speakers. The fluffy black "carpet" was glued on using Bostik clear glue and some hot glue at the bottom.
Easy build, just measure the size where it's supposed to go in the back, and build it to that size. The pine supports have 45-degree angles which abruptly ends in being cut away to allow for easier positioning of the board.
Here's some images of the board, do note I ended up painting the underside of the board with grey sealant, it looks much better when painted.