# ESP32 to Arduino mega UART communication

**URL:** <https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390>\
**Category:** General Guidance\
**Created:** [June 14, 2021, 7:47am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390 "2021-06-14T07:47:25Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vijan](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@Vijan](https://forum.arduino.cc/u/Vijan)\
**Post date:** [June 14, 2021, 7:47am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/1 "2021-06-14T07:47:26Z")

</div>

Hi,  
I'm transmitting data packet over UART from ESP32 to Arduino mega using `SerialTransfer.h` library.  
When I tested it with ESP32 as a receiver, code is working perfect. But when I switch receiver to Arduino mega I don't get transmitted values. Can someone guide me to solve this problem?

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [June 14, 2021, 8:05am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/2 "2021-06-14T08:05:35Z")

</div>

Have you taken into account that the Mega is a 5V device and the ESP is a 3V3 device ?

If you want more help please post your code, using code tags when you do

---

<div class="post-metadata">

**Author:** ![Vijan](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@Vijan](https://forum.arduino.cc/u/Vijan)\
**Post date:** [June 14, 2021, 8:14am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/3 "2021-06-14T08:14:07Z")

</div>

@UKHeliBob I'm using a level shifter for that case

---

<div class="post-metadata">

**Author:** ![srnet](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/srnet/32/238868_2.png) [@srnet](https://forum.arduino.cc/u/srnet)\
**Post date:** [June 14, 2021, 8:36am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/4 "2021-06-14T08:36:38Z")

</div>

> [@Vijan](#):
>
> Can someone guide me to solve this problem?

Not without seeing your ESP32 and Mega code ............................

---

<div class="post-metadata">

**Author:** ![Vijan](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@Vijan](https://forum.arduino.cc/u/Vijan)\
**Post date:** [June 15, 2021, 8:09am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/6 "2021-06-15T08:09:52Z")

</div>

Solved the problem. It occurs in Serial.println().

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [June 15, 2021, 8:43am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/7 "2021-06-15T08:43:17Z")

</div>

So what exactly was the problem ?

---

<div class="post-metadata">

**Author:** ![Vijan](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@Vijan](https://forum.arduino.cc/u/Vijan)\
**Post date:** [June 15, 2021, 9:56am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/8 "2021-06-15T09:56:29Z")

</div>

I added several Serial.println(data) to print incoming data. Then instead of Serial.println() I added Serial.print space.

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [June 15, 2021, 11:38am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/9 "2021-06-15T11:38:01Z")

</div>

Such a change should not make a difference to whether the ESP32 could receive the data or not unless the code running on the ESP32 was different to that running on the Mega

Was the code the same in both cases and which Serial interfaces were you using on each receiver ?

If only you had posted your code ...

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [October 13, 2021, 11:38am UTC](https://forum.arduino.cc/t/esp32-to-arduino-mega-uart-communication/874390/10 "2021-10-13T11:38:32Z")

</div>

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