How to send an interrupt from ESP8266 to Arduino UNO when installed on one board?


my project is getting data from sensors on Arduino UNO and passing those to ESP8266 (which are on the same board - Arduino Uno+WiFi ATmega328P+ESP8266 32Mb | LaskaKit this is the one I am using) and then sending those data to my RPi via POST.

My current approach is using LowPower library on UNO (GitHub - rocketscream/Low-Power: Low Power Library for Arduino) and ESP.DeepSleep() function on the ESP. However, this approach only allows me to put the UNO to sleep for only 8 seconds and I would like to extend this by sending external interrupt to the UNO from the ESP.
I found from googling that in order to do this you have to connect GND pins of both microcontrollers. But since the ESP8266 has only one GND and I am using it for the ESP.DeepSleep() function I have no spare GND left.
My question is - do I need to connect UNO's GND and ESP's GND or they are somehow connected when installed on the same board? I am asking this because I dont have any equipment to duplicate the GND pin on ESP8266 at the moment.

Sorry if this is a dumb question, I am just starting with this whole Arduino thingy :slight_smile:

Thank you for your responses!

If you want to send the ESP into DeepSleep for a certain time, you do not need Gnd.
... for the ESP to wake itself up after the time has elapsed, a permanent connection must be established between RST and GPIO16.
[ESP8266 Deep Sleep Mode - How to Use Deep Sleep Mode for Power Saving]

This part I have sorted out - my question is about how to send an interrupt from ESP to UNO and if I need to connect their GND pins in order to it when they are on the same board

There's a lot in this question. But to the basic question, except for very exceptional cases (I have to say this for the purists who find the one in a thousand exceptions), the grounds of all parts of a circuit must be connected together. In most cases something won't work if not.

Why are you using an Uno plus an ESP when the right ESP board can likely do everything the Uno can- and it already has WiFi? The Arduino NANO 33 IOT also has WiFi, but I have never used it.

You should connect all GNDs together.
If the time method is not an option, you can wake up the 8266 by toggling the reset input.

Why are you using an Uno plus an ESP when an ESP board can likely do everything the Uno can- and it already has WiFi?

This question also comes to mind.

Deep sleep and low power ?
Extreme power optimisation, say for running on batteries, is certainly a valid goal, but then then you have to look for boards which are not stocked with all sorts of power hungry components such as indicator leds, voltage regulators, USB interface chips etc. etc.
In all but special cases grounds are interconnected.

I was just thinking about getting into Arduino and got these boards for the price of a standalone ESP8266. My thought was to get some cheap boards to play with and get better equipment eventually later so I dont waste that much money for nothing :slight_smile:

thank you both! I will try it

I buy my Wemos D1 Mini boards 5 at a time for $5 each.

this is the esp8266 header on Uno+WiFi. you can wire esp8266 pins to Uno headers

Nano 33 Io is "SAMD21 + Esp32" like this Uno+WiFi is "ATmega328p + esp8266"

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.