Help! Can I have analog input to board with Arduino board powered off.

Hello, I have a quick question as I'm trying to finish this project up. My board is controlling my fuel pump speed on my car through analog input. However, when the engine is off but key is in the on position the power to the board is off but the analog input power is on. Is this harmful at all to the board?

It's probably OK. I assume you have a voltage divider or some kind or an over-voltage protection with a resistor in series with the analog input?

...You can end-up drawing excess current into the Arduino's analog input (the current into the pin is virtually zero when powered-up and operating normally). That could cause problems with the circuit driving the input, or sometimes that can end-up powering-up the Arduino (or partially powering it) through an I/0 pin.

Thanks for the quick reply!
I don't have any voltage divider or over-voltage protection. The analog input is the output on 5 volt 2 bar map sensor. Do I need a resistor or any over-voltage protection?

I'm a bit confused here; "My board is controlling my fuel pump speed on my car through analog input."
I'm guessing you mean that you are measuring the fuel pump speed with an analog input, and using that to control something.

Anyway, the spec on the Arduinos is as follows:

"The ADC is optimized for analog signals with an output impedance of 10k or less. If such a source is used, the sampling time will be negligible. If a source with higher impedance is used, the sampling time will depend on how long time the source needs to charge the S/H capacitor, which can vary widely. The user is recommended to only use low impedance sources with slowly varying signals, since this minimizes the required charge transfer to the S/H capacitor."

If the signal you are measuring is only changing slowly (say below audio frequencies) you can safely use a 100k serial resistance.

Now assuming 0v on the Arduino is connected to ground the most current that could flow is 12V/100k = 0.12mA and that would not cause any damage.

Thanks for the reply. My map sensor sends a 0-5 volt signal to the arduino board via analog pin and then a map function takes that input value to control the duty cycle of my primary fuel pump through a pwm pin connected to an H-bridge. That way durring regular driving the fuel pump is not overdoing it and heating up the fuel along with shortening it's life. External fuel pumps running off of ethanol fuel typically don't last long as ethanol contains much less lubricants than gasoline. Plus they are pretty noisy. The arduino seems to fix all these issues. :slight_smile:

It sounds like based on the information you provided that I won't have any issues, unless however, my specific application changes anything. Sorry, I'm a bit of a noob when it comes to electronics. My map sensor sends out 2.2 volts with the engine off, key on, arduino nano board off.

The MAP sensor must be powered from Arduino's 5volt pin for a correct and stable (ratiometric) readout.
Or the Arduino must be powered (5volt pin) from the map sensor supply.

That requirement also solves your phantom-powering problem, which could damage the pin and/or the MAP sensor.
Leo..

You must not apply power to any I/O pin if the chip is powered down. :astonished:

Theoretically if you have a series resistor limiting the current into the input pin to substantially less than 1 mA, it should survive.

Wawa:
The MAP sensor must be powered from Arduino's 5volt pin for a correct and stable (ratiometric) readout.
Or the Arduino must be powered (5volt pin) from the map sensor supply.

That requirement also solves your phantom-powering problem, which could damage the pin and/or the MAP sensor.
Leo..

I appreciate your input but I don't think using the sensor's power feed matters that much. My car's computer is tuned to use the map sensor to determine how much fuel to feed the engine via the fuel injectors and the injectors aren't wired directly to the map sensor. As long as the map sensor has a stable voltage along with the arduino which it does as of now via fixed volt regulator I don't think I'll have any issues. If there is any lag or other issues during wot then I can fine tune my code to provide a higher base fuel and max out my fuel pump at a lower pressure range. Basically I can have it provide barely any fuel at very low thottle which happens 99% of the time I drive the car and substantially more fuel for anything else. I have a fuel pressure sensor guage along with a/f ratio so I should be able to get the code dialed in perfect for any condition.

Paul__B:
You must not apply power to any I/O pin if the chip is powered down. :astonished:

Theoretically if you have a series resistor limiting the current into the input pin to substantially less than 1 mA, it should survive.

Thanks for your help. It sounds like the safest solution would be to add a relay between the sensor and arduino which is triggered from the same power source the arduino is powered from. Unless anyone knows of a much safer, easier and more reliable method.
I would have a total of 3 relays if I added another one which I might want to avoid for less clutter and less chance of having something failing.

The output of a ratiometric MAP sensor ALSO depends on it's supply voltage.
And Arduino's A/D result ALSO depends on it's supply voltage.
Both are equal and opposite, so if you power the sensor from the SAME supply as Aref of the Arduino, then errors are compensated. If you don't (separate supplies), then pressure results will drift.

If you follow the path of two supplies, then just use a >=5k (10k) resistor between MAP output and Arduino analogue input. A <=10k resistor won't influence measuring results.
Forget about a relay. It's too slow to protect anything.
Leo..

Gotcha, But realistically how big of a difference should be expected? I assume the stock ecu/map sensor has a very reliable 5 volt regulator.
Then I have a fixed 5 volt regulator installed before the Arduino. They both Use the same power source initially(car battery) and I measured the analog input's voltage at the Arduino board at idle and with the engine off to determine my map values.

Sorry if I'm coming off as argumentative, I just don't want to take apart half my interior again just to run a wire from the engine bay to the trunk if it is a minuscule difference or if the difference is somehow remotely predictable and can be easily compensated in the code.