So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By Bonzo
#78982 I have spent all afternoon trying to get serial UART working on a Nodemcu using the Arduino IDE without success and have two problems both interlinked. If I can’t select the correct pins how do I know if the code is working?

Which pins to use?
I have tried TX RX ( prevents uploads of code through USB unless I disconnect them, upload the code and reconnect ).
7 & 8 redirected with -Swap which allows the code to be uploaded
Other recommendations on the internet were 0+1 2+3

What code to use; I have tried quite a few examples but unless I know I have the correct pins I do not know if the code is working!

My sensor is outputting a base 64 string five times a second and it is truncated with a CR. I am not particularly worried about this at the moment as even if I receive some gobbledygook I would be happy and can deal with it in the next stage.

Please could somebody put me out of my misery and confirm which pins I should be using and it would be helpful if I also had the simplest of sketches I had confidence in to read the output and display it in the Arduino serial monitor.
User avatar
By btidey
#78984 The NodeMCU has a USB to UART converter on board which is connected to the UART TX and RX lines.This allows easy download from the development environment.

This means you cannot use these TX / RX lines as they are already being driven by this on board hardware.

You can use SoftwareSerial which allows any pair of GPIO to be used as additional UARTS

See https://github.com/plerup/espsoftwareserial

Note the standard Arduino SoftwareSerial can't be used.
User avatar
By Bonzo
#78985 Thanks for the info btidy and it confirms some of my conclusions.

I did try the EspSoftwareSerial onewiretest.ino example without success. I had better look into it as by that time I was getting very confused.
User avatar
By QuickFix
#78990
Bonzo wrote:My sensor is outputting a base 64 string five times a second and it is truncated with a CR.

If you only need to output serial data (TX only), you can use the debug serial port at GPIO2; you start it with Serial1.begin(baudrate) in your code and use it as usual. :idea: