I am using a NodeMCU ESP 12E board which will be programmed using the Arduino IDE. I intend to use it to send GPS data to the Blynk app server. I also want to interface a Bluetooth module HC-05 to the board along with the GPS module. I am also interfacing a L239D motor driver IC to the NodeMCU in order to control two DC motors. I am also using a metal detector module with analog output which is connected to the A0 pin of the board. Motor driver inputs are given using D0,D1,D2 and D3 pins set as digital out.

I need the NodeMCU to receive data from the GPS module and also send and receive data through the Bluetooth module. So I need 2 UART serial ports. I understand that the UART0 port can be used as the Serial port using Serial.begin(BAUD-RATE). UART1 can be used only for transmission. UART2 can be configured on GPIO13 and GPIO15 as Rx and Tx using Serial.swap(). But this cannot be used along side the UART0 port.

So is there a way I can implement Software serial in the Arduino IDE in order to set 2 ports, one for receiving only and other for both sending and receiving serial data ?

  • the Arduino esp8266 boards package has a SoftwareSerial library. a new one in the 2.5.0 version – Juraj Apr 4 at 19:30
  • Consider upgrading to the ESP32. It has bluetooth built in, and far more GPIO and analog facilities. Not to mention much much much more power in general. – Majenko Apr 4 at 19:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.