Hey, I have been working on this super simple Arduino project that involves using the car door triggers (when the door is opened) as well as the Lock and Unlock Triggers to initiate a task.
There are three wires that I'm tapping into, door, lock and unlock. The car uses a ground signal as a trigger to let the ECU know that the door is opened or unlocked/locked, otherwise each of the three wires remain at 5.5v or 2v depending on whether the cars ECU is in its sleep mode or not (has to do some with the CAN bus system). Below is the factory wiring diagram for how the door trigger works. same for lock and unlock...
View attachment 1727644459765.png
To use this ground trigger with the Arduino Nano, I connected it all up in the following manner:

To test it out, I first used a perf board and soldered everything up accordingly. And then used an external 12v battery to kinda simulate the ground triggers and test everything out before plugging it in the car and well, it worked perfectly. Wired it all up in the car and Success!!
But didn't stop there, wanted to make it a bit more permeant, and so I designed a PCB using the exact same Diagram and connections and got it printed from Elecrow. But that is where the problem started.
When I tested the PCB using the external 12v battery, everything worked as it should. However, wiring it up to the car didn't give similar results. The Arduino does not seem to pick up the ground signal from either the door, lock or unlock trigger wires. The weird thing is, my car has an aftermarket car alarm which also sends out ground triggers to lock and unlock the car when the key fob is used. wiring the PCB to its wires made it work as it should, meaning the Arduino could recognize the ground triggers normally from the car alarm. (Using serial monitor to know if triggers are active or not)
I'm kinda stuck now as I'm not sure what the problem might be.
I do have my doubts on two things however but not really sure if those are the culprit here...
First, while designing the pcb using Fritzing, I checked on the Ground Fill option which means all the empty part of pcb where there are no traces will be filled with copper and connected to ground. Maybe that is somehow affecting the triggers from being interpreted correctly by the arduino and messing up the signal? then again, it works perfectly when tested with a 12v battery or when hooked up to the car alarm.
Secondly, I have my doubts on the ardunino nano I'm using as well. While desoldering it from the perfboard and soldering it on the pcb, i think i messed up something because now IDE is not able to upload code to it on its first try. i have to keep pressing the reset button on the nano while the IDE tries to upload code and eventually, after a minute or two and a few failed attempts, it uploads the code. Do note, the nano otherwise works perfectly. Serial monitor, other test codes for turning on and off relays etc..
Im at your mercy now to help me through this project. Feel free to ask any questions that you might have to further understand what I'm working with.
There are three wires that I'm tapping into, door, lock and unlock. The car uses a ground signal as a trigger to let the ECU know that the door is opened or unlocked/locked, otherwise each of the three wires remain at 5.5v or 2v depending on whether the cars ECU is in its sleep mode or not (has to do some with the CAN bus system). Below is the factory wiring diagram for how the door trigger works. same for lock and unlock...
View attachment 1727644459765.png
To use this ground trigger with the Arduino Nano, I connected it all up in the following manner:

To test it out, I first used a perf board and soldered everything up accordingly. And then used an external 12v battery to kinda simulate the ground triggers and test everything out before plugging it in the car and well, it worked perfectly. Wired it all up in the car and Success!!
But didn't stop there, wanted to make it a bit more permeant, and so I designed a PCB using the exact same Diagram and connections and got it printed from Elecrow. But that is where the problem started.
When I tested the PCB using the external 12v battery, everything worked as it should. However, wiring it up to the car didn't give similar results. The Arduino does not seem to pick up the ground signal from either the door, lock or unlock trigger wires. The weird thing is, my car has an aftermarket car alarm which also sends out ground triggers to lock and unlock the car when the key fob is used. wiring the PCB to its wires made it work as it should, meaning the Arduino could recognize the ground triggers normally from the car alarm. (Using serial monitor to know if triggers are active or not)
I'm kinda stuck now as I'm not sure what the problem might be.
I do have my doubts on two things however but not really sure if those are the culprit here...
First, while designing the pcb using Fritzing, I checked on the Ground Fill option which means all the empty part of pcb where there are no traces will be filled with copper and connected to ground. Maybe that is somehow affecting the triggers from being interpreted correctly by the arduino and messing up the signal? then again, it works perfectly when tested with a 12v battery or when hooked up to the car alarm.
Secondly, I have my doubts on the ardunino nano I'm using as well. While desoldering it from the perfboard and soldering it on the pcb, i think i messed up something because now IDE is not able to upload code to it on its first try. i have to keep pressing the reset button on the nano while the IDE tries to upload code and eventually, after a minute or two and a few failed attempts, it uploads the code. Do note, the nano otherwise works perfectly. Serial monitor, other test codes for turning on and off relays etc..
Im at your mercy now to help me through this project. Feel free to ask any questions that you might have to further understand what I'm working with.
