Adding manual control to an Arduino output


I think this will be quite a simple question for someone to answer, so sorry if it’s a bit ‘newbie’.

I have an Arduino Pro Mini 3.3v with a simple output command to pull an output pin low on a time delay. The pin is normally held high via a 1k resistor. The pin is connected to another board with a microcontroller whose pin needs to be grounded to activate a function. The pin is also protected externally by a 1k resistor.

I want to be able to manually over-ride, and ground the pin by way of a simple push-to-make button. If the pin is high by default, and I forcefully ground it externally, will this trash the Arduino? If so, is there a way of protecting the Arduino to make this possible?

One other thing. Due to layout restrictions, I want to tie my output pin high using RAW rather than VCC. My RAW votage is 3.5. Will this damage the Arduino?

I have attached a very wonky schematic - sorry, I’ve only just downloaded Fritzing and I’m new to it.

Many thanks in advance,

Ardvino :slight_smile:

That will work(*) but you won't get debouncing. Perhaps better to take the button to a different Arduino pin, debounce it in software and combine it with the other code that drives the output pin.

[ actually I might have mis-spoke - it depends what the pull-up resistor on the other board is - reducing the in-line 1k to 150 ohms would be more reliable in case the other board has a low-valued pull-up. ]

The other board is also 3.3V I hope - otherwise you may have to rethink a bit.

Awesome, thank you :-)

The input on the other microcontroller that this is controlling is already debounced so should be ok. How about the 3.5V vs 3.3V thing - is that ok?

0.2V difference shouldn’t be a problem, the input protection diodes need around 0.5V
to start conducting significantly, but having some in-line resistance will reduce that
current flow should the voltages differ by more (such as at switch on). If the devices
might not both be powered simultaneously that means rather more in-line resistance
would be needed to prevent one circuit powering the other.