Comunicación serie entre Arduino uno y Nodemcu

Quiero enlazar por medio de comunicación serial un Arduino Uno y un Nodemcu. La idea que tengo es realizarla por medio de la librería SoftwareSerial, usando dos pines en cada placa, y dejando la comunicación serial normal que tiene cada una para el uso de USB y la comunicación con la computadora.

En cuanto a software no encuentro problema, pero en cuanto a hardware pienso que puedo encontrarme con un problema y por eso vengo a pedir ayuda.

Todavía no intenté hacer conexiones porque el problema que encuentro es que los pines de Nodemcu dan 3 voltios y los de Arduino 5 voltios. ¿Como debo conectarlos entre sí para que se haga efectiva la comunicación serial? Si los conecto directamente, ¿los 3 voltios de Nodemcu bastarán para que Arduino considere eso como un uno? ¿Los 5 voltios de Arduino no quemarán algo en Nodemcu?

Quedaré muy agradecido con cualquier orientación al respecto.

muchas formas de interconectarlas

  1. divisor de tensión serie 1k, y 2k contra GND, de la union de ambas Resistencias al pin RX del nodemcu

  2. con 2n7000 asi

  3. 74LS245

  4. con un NPN

Solo puedes prescindir en el camino desde el node TX al RX del UNO porque el HIGH del node esta por encima del VIHlow del UNO.
O sea puede ser directo nodemcu TX al RX del Arduino UNO.
Todas las salidas del UNO debe ir con desplazamiento de nivel al node. En tu caso una sola, asi que yo usaria el 2n7000 pero prueba con la R o el BC547

Muchas gracias Surbyte.

Haré las conexiones que sugieres. Creo que optaré por la más simple que es el par de resistencias.

Ya hice la prueba, y funciona perfectamente, por lo que agradezco nuevamente. Envié y recibí caracteres, textos, e incluso datos binarios de varias decenas de bytes.

Una pregunta adicional por favor:

Usé el método 1, es decir un par de resistencias bajando el voltaje, solamente en la línea RX de Arduino (TX de Nodemcu). Y una conexión directa desde el TX de Arduino a RX de Nodemcu.

¿Esta conexión que usé es totalmente confiable y dentro de las normas? Lo pregunto porque las otras 3 opciones parecen ser más "correctas" (notar las comillas). Mi intensión es tener estas dos placas (Arduino y Nodemcu) encendidas en forma permanente (24 horas al día), sin apagarse nunca, y comunicándose entre sí esporádicamente. Entonces no quiero que por causa de una conexión no del todo adecuada, sufran desgaste y se quemen antes de tiempo.

la opción 2 y 4 son la mejor alternativa para comunicaciones bidireccionales ejemplo para cada linea i2c entre un UNO y un sensor i2c de 3.3V o un nodemcu conectado por i2c.

la opción 3 es muy usada cuando interconectas un TFT o una SD o sea varias líneas I/O de 5 a 3.3V en algún sentido.