Arduino + LCD in car - no power to either but they light up under quick throttle

Hey guys,

I'm looking for a little input on a strange happening I saw today.

I installed an LCD and Arduino in my project car to help with sensor data display. I'm not ready to run it yet so I just left the USB cable unplugged. All that's connected is the Arduino to the LCD via 6 digital pins, 5V and GND. The wiring harness runs from the Arduino in the glovebox, under the dash, probably near some vehicle wiring harness, into the steering column.

Basically, when I stab the throttle or get on it to accelerate, the LCD lights up as well as the green power light on the LCD. It dies very quickly when the transient throttle disappears. I'm guessing there is some type of current being induced in the LCD harness, but I'm pretty surprised it's enough to light up the LCD.

I also thought the 5v channel on the Arduino was like an "out only" thing, to feed other devices, not to power the Arduino.

Any input welcome, checkout the video to see what's going on.

Ghost arduino (youtube)

Hi.
Can you please post a copy of your sketch, using code tags?
Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png or pdf.

So that is what happens with no power applied?
What is happening is due to the internal circuitry of the Arduino chip, any potential that appears on its input pins can make the IC start and display.
I hope you have a plug for all your inputs, I would suggest you disconnect the arduino, the current levels travelling in the IC where they aren't supposed to be could damage the IC.

Tom.... :slight_smile:

Thanks Tom for the inquiry.
Yep this is what happens with no USB plug into the arduino. Which input pins do you mean? 5v & Ground or the analog and digital channels?

Will this be an issue when the arduino is powered? Hopefully the USB power will be enough to get it operating normally and overpower whatever potential is being induced?

What do you mean plug for inputs? Unfortunately I don't think so... I use solid core 20 or 22 gauge as it pins right into the arduino.

As requested, here's my circuit diagram and code. In the actual installation, the LCD harness is a bundle that goes under the dash, and the Wideband (oxygen sensor controller) is just a 3.5mm stereo cable that runs along the transmission tunnel. Both harnesses may come in proximity to wires that carry decent amounts of current.

Also, I realized I didn't save my code but I rewrote it (without testing on the arduino), but this is the gist of it.

"/*
 
  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// AFR from Innovate LM-1 Wideband controller
int AFRpin = A0;
double AFRv = 0;
double AFR = 0;
double AFRv_low = 0.498;
double AFRv_high = 4.498;
double AFR_low = 16.99;
double AFR_high = 9;


void setup() {
  Serial.begin(9600);

  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
 
  lcd.setCursor ( 0, 0 ); 
  lcd.print(""AFR:"");

}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  
  //Read voltage on AFR pin
  AFRv = analogRead(AFRpin)*5.0/1024;
  //Trasnfer function: voltgage -> AFR
  AFR = 16.99 - (AFRv - AFRv_low) * (AFR_high - AFR_low) / (AFRv_high - AFRv_low);
  
  lcd.setCursor ( 3, 0 ); 
  delay(500);
  lcd.print(AFR);
}"