How to hard reset several devices

Hello, I am developing a system that includes two Arduinos (Mega and Duemilanove), two GLCDs and one VDIP USB host. Each of these five devices has a reset pin - pulled low to reset. I'd like the tie the five pins together and reset all with a momentary switch tied to ground (through a Hex debouncer IC). This works, but not reliably.

Is this a bad idea? Could I isolate the devices some way and still reset as a system?

Any help will be appreciated. Thanks.


The output of the debouncer IC is driving all the resets?

It's output current max may not be enough.

You could use more than one of the sections of the debouncer if you have extras available.

Or, you need to buffer the output of the debouncer. A transistor would work (the same as, for example, a relay driver).

If each device has its own reset pull-up resistor then the debounce ICs output pin may not have enough sinking current capability to drive the common reset/ signal low enough.
A scope would probably tell you what is going on with your setup.

Another problem is that the different devices might have a different come live time after being reset to operate correctly as a system. A start-up delay in the 'master' controller might help let everything settle down long enough before operating.


This works, but not reliably.

You're tying together at least two (maybe more) RC networks designed to work with a pushbutton pull-down to ground. One possibility is to insert series diodes between the debounce chip and the Arduinos, so it looks more like a pushbutton to ground, and keeps their onboard reset circuits from interacting.

Another possibility is that the GLCD hardware is taking longer to reset than the Arduinos. Try adding a delay of, say, 50 or 100mS to your setup() functions before any interaction with the GLCD.

EDIT: for clarity, "longer to reset" should have been "longer to initialize itself after being reset". That's a different issue from the width of the reset pulse.

Thanks for the replies. I just measured the reset sink current with all five devices connected together (with and w/o debouncer). The max current is ~3mA (measured with Fluke87 on record max mode). If measured correctly, then this is within capacity of the MC14490 debouncer (I think, not real clear to me on datasheet).

Lefty, it could well be a timing issue, as it appears better if I hold the reset button a bit longer. I do have a USB scope but not clear on how/what to do you suggest the hook-up?

Thanks again, Bob

I do have a USB scope but not clear on how/what to do you suggest the hook-up?

Actually it doesn't really reqire a scope. Just measure the reset voltage with your Fluke while you hold the reset switch down. If the measurement is at or below a the valid reset low voltage specification for ALL the devices, then it's not a debouncer IC output drive problem. Timing would best be handled by software delay timing additons in the device that initiates the first operation of the system.


Reset voltage pin (combined) measured as ~4v high ~0.25v low. Neither VDIP or GLCD datasheets specify "valid low" for reset. Perhaps it's the MC14490 holding low at 0.25v and I could run through a transistor to ground, or even bypass for this button. I guess a bouncing reset button is tolerable, unlike the display select and settings buttons.

Is 0.25v high for a low condition?

Thanks again for you quick, helpful responses.


Is 0.25v high for a low condition?

That should be OK, but researching specific data sheets for your various devices would be required to state absolutely. Here is a spec sheet showing the ViL spec varying from .75 to 1.3 for valid maximum logic LOW voltages for various logic chip families.