3v3 ESP one way communication with 5 V Arduino?
Yes, it will work, but only just. It's borderline.
The ESP32 gives out at most 3.3V as a HIGH signal. The Arduino accepts &quot;above 0.6Vcc&quot; as a HIGH signal. That means that it needs to see a voltage that is at least 60% of the voltage on the Vcc pin (5V pin) of the Arduino.
If the Arduino has exactly 5V then 60% of that is 3V. Since 3.3V is higher than 3V it sees it has a HIGH.
However if the Arduino is being powered by a slightly higher voltage than 5V (some USB ports can give out 5.2V and it's still in spec) and if the ESP32 is being powered slightly below 3.3V, then that 0.3v margin of error gets narrower and narrower. Eventually it disappears and HIGH can no longer be detected.
For example if the Arduino has 5.2V and the ESP32 has 3.1V then the Arduino expects at least 3.12V and the ESP32 gives out no more than 3.1V.
So in  most circumstances it does work, but there are factors that can stop it from working. Those factors can be mitigated by using logic level translation.