This is a job I am not particularly looking forward to as there are a lot of wires to redo and reroute in order to make room for the blue plastic Gauge Cluster housing I modified to fit the Arduino Mega Enclosure, 16 Channel Relay Module and additional NAIS Relays Module.
Way back when I first started this project I was really not sure how many Relays I was going to need or really any sort of direction as to how to go about hooking them up. Now I have a lot more experience with this stuff and a lot more of a structured direction to go in. Like I say it's not a job I am looking forward too but the upshot will be that when I am done the install will be a lot cleaner and easier to manage. It's going to be a real wiring "Knightmare" though. ;)

I have all of the 16 Channel Relay Modules Relays controlled by the Arduino Mega labeled so that way I can know what they are at a glance even though I also have the wires going to each on the low voltage input pins labeled too having the tops of the relays visibly marked helps things a lot too. I figure this will make the job of connecting the switch side of each 10 amp Relay up to it's corresponding device a lot easier. The funny thing is that many of the Relays I don't even have a device to hook up to them yet, but it's sure nice knowing that the initial framework is all in place and ready for very easy hook up when I do eventually have the devices to hook up to them.... and that my friends saves a boat load of work to do in the future right? ;)
I installed the HMC5883L Digital Compass into the Upper Console, I struggled long and hard for s good starting place to install this very tiny sensitive device. You are supposed to keep them away from wires and metal, lol well good luck with that as where in a car can you install something like this that it's not going to be fairly close to some sort of metal or electrical wires. I thought about somewhere in the dash but again same problem plus that area is close to the Engine Bay so I figured "Nay Nay" on that idea.
The trunk area I thought but then I'm running an excessive amount of wires for a 5V tiny device. The Upper Console seemed like a good idea as it's only got the T-Bar metal to deal with, it's somewhat centrally located, and yes there are wires but how close is "Too Close" ?? I guess when I take the Upper Console out for a test fit I'll find out won't I? If that does not work then I am at somewhat of a loss as to where a good place to install the compass would be. At least in the Upper Console I can run the 5V Power and ground off of the same one that the Temperature Sensor Module and Compass Indicator LEDs are using. Anyways, I hooked it all up to my Arduino Mega & Unity 3D setup and gave it all a bench test and it seems fine with the exception of the Compass still needing to be calibrated properly, but it all works. That Temperature Sensor I'm very impressed with, that thing works beautifully.
I made a diagram for the basic layout for the Optocoupler Combo board I whipped up just using some Proto-Board. In the diagram I did not include all of the Optocouplers I'm currently using as it;s likely to change and the format is simple enough to just continue the pattern to add more as needed. I have not added the Digital Compass yet either so I'll be doing another updated diagram later but this gives an idea of how simple it is to connect up some stuff like the Switch Pod button inputs for the Arduino Mega to activate screens in our Knight O.S. Dash Software interface and connect up the LDR and Temperature Sensors. You can see the Optocouplers provide complete isolation between the 12V Switch Pod buttons and the 5V ground pulse needed for the Arduino Triggers.
UPDATE:
I updated the diagram to include the connections for the HMC5883L Digital Compass.
I can start working on minimizing the need for the Breadboard now especially after I make a Optocoupler board for the button inputs to the Arduino so that Switch Pod or other buttons can be assigned to trigger certain screens in our Knight O.S. interface like the Environment Scan Screens, Manual Override, or Telephone Tap Simulator Screen. These can be any momentary button which makes either the Switch Pod, Space Matt Buttons or Possibly Lower Console Or Upper Console Buttons usable for this so long as they are momentary buttons.... heck even if they are not momentary buttons I have a circuit that allows Latching Buttons to generate a short pulse to simulate the function of a momentary button. So the option either way is there.
I currently have plugged into the Breadboard a bunch of wires that are going into the Arduino ports that are coded for stuff but not actually hooked up to a Relay Module yet. I need to get a 2nd 16 Channel Relay Module and modify that one just like the one here, but for now that is kind of optional for me as most of the main functions are routed through the first Relay Module. The 2nd Relay Module would be more for all the cool extras. Although you can mix and match and assign ANY of the outputs to whatever Relay you want so for example if you don't use the Auto Doors but are going to use the S.I.D. function all you would need to do is connect up the stuff you are using, The interface would still go through the motions just without the Relay hooked up it would not actually perform the "Physical" function.... but I think you get that.
The other thing I can do now is hook up the LDR and Temperature Sensors, I think I am going to install those two up into the Upper Console as that seems a logical place. The LDR Sensor I can mount so that it is facing forwards out the front part of the Upper Console that way it will get it's light values from whatever comes through the front Windshield. The Temperature Sensor seems to make sense to me to be up in the Upper Console as that way it is away from the Heater and Air Vents which I think would cause inaccurate readings to occur, that's my thought on it anyways, but I can see that being on of the best places. The Sensor for the Compass however is a whole other animal right now so not sure about that one. Getting Closer though :D