Caution:
Before you connect the received part (HW-024) with ESP32/MEGA, please get the schematic in order to be sure about the meanings of the symbolic names (Fig-1) and the 3.3V/5V sides. Any mistake will instantly fry the ESP32.
That is what i'm confused, the discussion above are saying that i can put tx and rx pin into the LLC Hw-024 pin sda and scl. Because I think the LLC it just for I2C communication, not for rx tx serial communication. Lasat night i tried it and my arduino IDE said "Avr blabla 500: timeout" Luckily my esp32 not getting fried hahaha.
Do you have any guide to help me to do the LLC for rx tx serial communication? I guess i should buy another LLC that has Hv and Lv pin label, is it right?
As you have no level shifter of the kind of post #10 while level shifter of post #1 is confusing, you can safely use the following resistor network as level shifter for TX2 (MEGA) ----> RX2 (ESP32) line; TX2 (ESP32) ----> RX2 (MEGA) would not require level shifter.
I agree with using the resistor network. There is no need for bidirectional level shifting here, and it only complicates things. The Mega should recogize 3.3V on its Rx pin as high, so no translation is needed on that line at all. The divider does the needed reduction in the other direction.
With Vcc at 5 V, the MEGA will indeed recognize even an input voltage of 3.0 V as HIGH state, and it is evident from the following excerpt of data sheets.
Indeed. Adafruit's microSD card module is used widely with 5V Arduinos, and the card's MISO pin (3.3V) is connected directly to the MISO header, with no translation. The module works fine.
For the other three SPI lines going from the Arduino to the card, they use an active translator chip of some kind to reduce the voltage down to 3.3V. I assume that is used to retain maximum speed. The resistors may slow things down a bit, but probably not.