user30341: I designed a PWS (personal weather station) which will be placed in a difficult to access location.  In case of the master crashing and not requesting from the slave for a certain amount of time (stay alive protocol), is it possible to reset the master from the slave by powering a digital pin?

Note, I improvised a pull down circuit so that the Arduino Nano's D7 (or any other digital pin) 5V output could be pulled down to 3.3V.

user37622: There is no need for a voltage divider or a level conversion on the reset pin of the esp8266. The esp8266 has internal pull-up on reset pin. To reset the esp8266 the reset pin must be connected to ground for a very short moment.
To pull the reset pin LOW with pin of the other MCU we do:
void resetEsp() {
  pinMode(ESP_RESET_PIN, OUTPUT);
  delay(1);
  pinMode(ESP_RESET_PIN, INPUT);
}

ESP_RESET_PIN is the pin wired to reset pin of the esp8266. It is not configured in setup() and it is never set HIGH (we don't want to send 5 V to esp8266). Setting the ESP_RESET_PIN to OUTPUT connects it to ground, setting it back to INPUT hands the control of the line back to esp8266 reset pin's internal pull-up.

30341: <p>I designed a PWS (personal weather station) which will be placed in a difficult to access location.  In case of the master crashing and not requesting from the slave for a certain amount of time (stay alive protocol), is it possible to reset the master from the slave by powering a digital pin?</p>

<p><a href="https://i.stack.imgur.com/bI7Ow.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bI7Ow.png" alt="enter image description here"></a></p>

<p>Note, I improvised a pull down circuit so that the Arduino Nano's D7 (or any other digital pin) 5V output could be pulled down to 3.3V.</p>
 37622: <p>There is no need for a voltage divider or a level conversion on the reset pin of the esp8266. The esp8266 has internal pull-up on reset pin. To reset the esp8266 the reset pin must be connected to ground for a very short moment.</p>

<p>To pull the reset pin LOW with pin of the other MCU we do:</p>

<pre><code>void resetEsp() {
  pinMode(ESP_RESET_PIN, OUTPUT);
  delay(1);
  pinMode(ESP_RESET_PIN, INPUT);
}
</code></pre>

<p>ESP_RESET_PIN is the pin wired to reset pin of the esp8266. It is not configured in <code>setup()</code> and it is never set <code>HIGH</code> (we don't want to send 5 V to esp8266). Setting the ESP_RESET_PIN to <code>OUTPUT</code> connects it to ground, setting it back to <code>INPUT</code> hands the control of the line back to esp8266 reset pin's internal pull-up.</p>
