Electronic – arduino – How to use an Arduino to switch another IC’s pin (reset) to ground

arduino

I'm a releative newbie. I'm using an Arduino to control a Cowlacious audio board that uses the ISD1700 chipcorder series of chips. Periodically, I need to pull the reset pin on the chipcorder to ground to reset it to it's original state. It seems to me that with the low currents involved I should be able to do this directly, but I'm not having luck. Using an Arduino pin set to digital out and leaving it HIGH except when switching doesn't work (I assume the chipcorder doesn't like the voltage when it's high). How can I get this to work?

P.S. I know I could use a transistor as a switch, or some sort of relay, but do I need to do that?

Best Answer

The ISD1700 reset pin is active low with an interal 600K pullup resistor, so pulling the pin low with an output pin of the Arduino should work I would guess.

Some things to double check:

  • Are the ground pins of the Arduino and the Cowlacious audio board connected?
  • Did you configure the pin on the Arduino to be an output? (pinMode command)

What is the voltage of the reset pin when the Arduino pulls it low? If it is zero, then that part is working. What is the voltage of the pin when the arduino sets it high? If the Cowlicous board and the Arduino have different HIGH voltages then this might cause a problem. In this case you could try leaving the pin as in input except when you pull the pin low. e.g.

pinMode(X, INPUT);
....
digitalWrite(X, LOW);
pinMode(X, OUTPUT);
delay(100);
pinMode(X, INPUT);

or like you say, use a FET to switch it.