08-23-2021, 04:19 PM
(This post was last modified: 08-23-2021, 05:39 PM by manedstripes.)
I've been working on this for about a year now, and while there's still a lot left to do I thought I'd put up some of my project here and get some feedback and any tips from other users!
The Car:
I've had my Lexus IS300 for about a year now, after my previous IS200 was written off in a collision by another negligant driver. I had fallen in love with the instrument cluster and cabin design of the IS200, so I didn't want to replace it with something else—so I got my original car's 'big brother' instead. I picked up the IS300 in near-stock condition, the previous owner had only made minor external modifications such as the exhaust and brakes. The interior was pristine, and it still had the original head unit—and something my IS200 had lacked: a satnav unit!
The maps hadn't been updated since shortly after the car's manufacture—and being a vehicle from the early 2000s, their accuracy and utility was extremely limited. It didn't take me long to start researching if it was possible to have it display something a bit more useful. As it turns out, there's countless threads of people sticking old Samsung tablets or similarly-sized external Satnav options into the slot, but I wanted something a little bit more integrated with the rest of the car.
I spent a few weeks reading wiring diagrams and figuring out how the separate compnents of the head unit and satnav communicate, and sure enough—it seemed pretty easy to replace the unit, and (almost) entirely using existing wiring! I put some footwell LEDs in (matching them to the orange glow of the cabin LEDs!) so that I could get a look at how everything is set up and how much space I have to work with. While I was getting a look behind the console, I bought some spare parts to work with...and, well. It's been a year; let me show off where I'm at.
Part one: Prep Work
Parts modification:
Using spare parts from ebay, I removed the original satnav unit from the housing, confirming the amount of space I had to work with. I had initially selected the official Pi Foundation 7" TFT touchscreen as my display because the screen size matched the original unit—unfortunately, the extremely large bezels on the display proved too much to fit in the housing.
Pictured instead, the DFRobot 7" Pi touchscreen is a much better fit, although it does have some issues with my power supply and will occasionally miss inputs. This is a very minor issue and is an acceptable compromise compared to using tools to modify (and likely damage) the housing.
Next up, I modified the Nav Housing logic board. There were originally two plugs on the board: the M4 (Multi-Display Plug 1) and M5 (Multi-Display Plug 2). Since the wiring diagram confirmed the the M5 plug exclusively communicated with the Navigation ECU in the trunk, I completely removed it from the board (note the large blank space next to the remaining plug).
I also pigybacked onto several pins of the remaining plug: extracting the 12V positiive, 12V ACC/Switching, Illumination, and Ground. There are also two pins labelled RE1 and SGD1 which I have piggybacked onto (more on this later).
To keep a clear path for the USB cable on the Pi, I've used the existing wiring clips to bring these inputs into the housing, rather than the pathway originally used by the satnav ribbon cable. Using the original pathway led to cables bunching up in the housing, and put strain on the motor and occasionally halted its operation. Instead of connecting the ACC wire directly to my power supply, I have gated it with a latching switch and wired this to the 'TILT' button on the housing, allowing a more suitable power button that can be used while driving. More on this later, too.
Next up, I'm modifying the radio. I'll put a separate reply for this in the coming weeks, because I'm still progressing through this stage and waiting for a replacement CD player before I continue. I'm unhappy with options such as Grom or Electronicx selling extremely expensive dongles just to add auxiliary input, so I'm doing it directly. Removing the cassette player module from inside the radio exposes a the L/R audio heads, which allows for analogue audio to be directly inputted to the board. My goal is to modify the radio so that the AUX input is entirely internal, and the audio is entirely controlled by the radio—negating the need for separate volume controls on the Pi.
When complete, this will allow me to switch between car radio audio (for my iPod, CDs, or I guess radio if I ever listen to it) and the head unit audio (streaming, podcasts, navigation) by simply selecting the casette player on the radio. I am currently exploring options to sum the audio signals into a single stereo output so that audio from one device can play over top of another, allowing for voice navigation while listening to a CD (for example). There appears to be a way of doing which was wired into the car using the stock wiring setup, but the navigation audio only comes from the driver door speaker and so it is not able to be used in a stereo manner.
The Remote:
Behind the handbrake of this car is a remote controller, which controls the satnav unit. However, this module only has six wires plugged into it—and the wiring diagram confirms that four of these are ACC 12V+, ground, Illumination + and Illumination -, and two pins labelled SGD1 and RE1. Upon investigation, it would seem that the remote communicates entirely via these two pins, suggesting that with a suitable wrapper, the output could be interpreted as an input device by the Pi. I'll update this part of the project as it comes together.
It's just a matter of getting this interpreted as a keystroke, right...?
Some previews!
Since I want to avoid putting too much information in one post so that I can edit/update more easily, I'm going to cut this post off here!
I'll go into more details on the separate parts of this project in subsequent replies. To be continued / updated!
Here's some previews of my work so far!
And of course, the mandatory "it can run Doom!" video.
The Car:
I've had my Lexus IS300 for about a year now, after my previous IS200 was written off in a collision by another negligant driver. I had fallen in love with the instrument cluster and cabin design of the IS200, so I didn't want to replace it with something else—so I got my original car's 'big brother' instead. I picked up the IS300 in near-stock condition, the previous owner had only made minor external modifications such as the exhaust and brakes. The interior was pristine, and it still had the original head unit—and something my IS200 had lacked: a satnav unit!
The maps hadn't been updated since shortly after the car's manufacture—and being a vehicle from the early 2000s, their accuracy and utility was extremely limited. It didn't take me long to start researching if it was possible to have it display something a bit more useful. As it turns out, there's countless threads of people sticking old Samsung tablets or similarly-sized external Satnav options into the slot, but I wanted something a little bit more integrated with the rest of the car.
I spent a few weeks reading wiring diagrams and figuring out how the separate compnents of the head unit and satnav communicate, and sure enough—it seemed pretty easy to replace the unit, and (almost) entirely using existing wiring! I put some footwell LEDs in (matching them to the orange glow of the cabin LEDs!) so that I could get a look at how everything is set up and how much space I have to work with. While I was getting a look behind the console, I bought some spare parts to work with...and, well. It's been a year; let me show off where I'm at.
Part one: Prep Work
Parts modification:
Using spare parts from ebay, I removed the original satnav unit from the housing, confirming the amount of space I had to work with. I had initially selected the official Pi Foundation 7" TFT touchscreen as my display because the screen size matched the original unit—unfortunately, the extremely large bezels on the display proved too much to fit in the housing.
Pictured instead, the DFRobot 7" Pi touchscreen is a much better fit, although it does have some issues with my power supply and will occasionally miss inputs. This is a very minor issue and is an acceptable compromise compared to using tools to modify (and likely damage) the housing.
Next up, I modified the Nav Housing logic board. There were originally two plugs on the board: the M4 (Multi-Display Plug 1) and M5 (Multi-Display Plug 2). Since the wiring diagram confirmed the the M5 plug exclusively communicated with the Navigation ECU in the trunk, I completely removed it from the board (note the large blank space next to the remaining plug).
I also pigybacked onto several pins of the remaining plug: extracting the 12V positiive, 12V ACC/Switching, Illumination, and Ground. There are also two pins labelled RE1 and SGD1 which I have piggybacked onto (more on this later).
To keep a clear path for the USB cable on the Pi, I've used the existing wiring clips to bring these inputs into the housing, rather than the pathway originally used by the satnav ribbon cable. Using the original pathway led to cables bunching up in the housing, and put strain on the motor and occasionally halted its operation. Instead of connecting the ACC wire directly to my power supply, I have gated it with a latching switch and wired this to the 'TILT' button on the housing, allowing a more suitable power button that can be used while driving. More on this later, too.
Next up, I'm modifying the radio. I'll put a separate reply for this in the coming weeks, because I'm still progressing through this stage and waiting for a replacement CD player before I continue. I'm unhappy with options such as Grom or Electronicx selling extremely expensive dongles just to add auxiliary input, so I'm doing it directly. Removing the cassette player module from inside the radio exposes a the L/R audio heads, which allows for analogue audio to be directly inputted to the board. My goal is to modify the radio so that the AUX input is entirely internal, and the audio is entirely controlled by the radio—negating the need for separate volume controls on the Pi.
When complete, this will allow me to switch between car radio audio (for my iPod, CDs, or I guess radio if I ever listen to it) and the head unit audio (streaming, podcasts, navigation) by simply selecting the casette player on the radio. I am currently exploring options to sum the audio signals into a single stereo output so that audio from one device can play over top of another, allowing for voice navigation while listening to a CD (for example). There appears to be a way of doing which was wired into the car using the stock wiring setup, but the navigation audio only comes from the driver door speaker and so it is not able to be used in a stereo manner.
The Remote:
Behind the handbrake of this car is a remote controller, which controls the satnav unit. However, this module only has six wires plugged into it—and the wiring diagram confirms that four of these are ACC 12V+, ground, Illumination + and Illumination -, and two pins labelled SGD1 and RE1. Upon investigation, it would seem that the remote communicates entirely via these two pins, suggesting that with a suitable wrapper, the output could be interpreted as an input device by the Pi. I'll update this part of the project as it comes together.
It's just a matter of getting this interpreted as a keystroke, right...?
Some previews!
Since I want to avoid putting too much information in one post so that I can edit/update more easily, I'm going to cut this post off here!
I'll go into more details on the separate parts of this project in subsequent replies. To be continued / updated!
Here's some previews of my work so far!
And of course, the mandatory "it can run Doom!" video.