What would be the cleanest solution to reset one MCU from another?
Say, I have two Uno's. The idea is to connect one GPIO from the first Uno to the Reset of the second. When pull-down GPIO, the second Uno will reset. But should I make it High otherwise? I think it should go through a transistor, but not sure how.
Any suggestion?
I don't see the need for a transistor. The reset is normally held high by a resistor so holding it high with the out put from the 1st Arduino is pretty much the same. Take the reset low, briefly, to reset the MCU. Consult the MCU data sheet for the minimum pulse width. The grounds of the Arduinos must be connected.
The proposed circuit will need a resistor in between the GPIO and the transistor base a 5K to 10k should do it.
If you connect it directly the "slave" will not be able to reset if you try to program it.
You could get away with a small diode. The cathode (banded end) to the GPIO and the anode to the reset. This will do nearly the same as the transistor.
OR.....
You could connect the GPIO directly to the slaves' reset and change the GPIO to an input when you are not resetting the slave.
That's why I like you guys here. Thank you.
I will post here my results.
who_took_my_nick:
What would be the cleanest solution to reset one MCU from another?
To not do it 
A reset should never be the solution.
Indeed - why reset? I only ever use reset while testing/prototyping stuff; in finished projects I normally don't even have a reset button, the only thing that uses and is connected to the reset in that case is the ICSP.