Serial Monitor not working at any baud rate. ESP8266 & Uno

I'm running a fresh today installation of Ubuntu 16.04 for 64 bit machines at home. Yesterday I was working on somebody else's Windows 10 machine and once I figured out baud rates had no issues communicating with my Arduino Uno and three NodeMCU ESP8266's.

This is day two with my Arduino's. I'm excited about the project I am working on, but I can't get past the serial monitor.

Scripts upload and work, but the serial monitor offers either nothing or

B⸮ZUP⸮L⸮%I⸮eZe⸮VխYP⸮]Z⸮W⸮⸮⸮V⸮EQd⸮⸮AH(H⸮H!VRZ⸮H⸮RuWU⸮⸮AF⸮ZTe⸮⸮⸮UY⸮B\⸮BQ⸮V!)⸮⸮⸮⸮⸮i]⸮⸮⸮,iHRR]⸮⸮V⸮]⸮iVJW⸮⸮ե⸮M⸮YJ⸮TE⸮]P B\ ⸮H BHRZ⸮H⸮RVjWU⸮҂E⸮Z⸮e⸮*⸮⸮U]⸮B\⸮*EVj⸮B\⸮F⸮^⸮

Nothing remotely intelligible.

Four devices that all communicated yesterday on a different machine.

I can change colors on a programmable LED strip, but nothing out of the serial monitor. Obsessively tried every baud rate on every device for longer than I should have.

I'm stumped. Any nudges in the right direction would be appreciated.

It's not very clear (to me) how everything fits together. Are NodeMCUs communicating with the Arduino? Or directly connected to the PC (I'm not familiar with them).

This morning my serial monitor did spit out garbage due to a coding mistake. So maybe post your code(s)? If so please use code tags

** **[code]** **

Paste your code
** **[/code]** **

I actually have five different devices. Arduino Uno. Arduino Mega, and three NodeMCU ESP8266.

The problem isn't the code I am uploading. I am using examples that work. For example, simple chip led blink or controlling a string of individually addressable LEDs. Uploads and runs without issue, but I can not read messages in the serial monitor to get information like what IP address my device is working on.

Everything works but the serial monitor. I've tried every setting I can think of.

Suggestion for an alternative serial monitor program might help determine whether this is confined to the Arduino IDE software.

Windows 10 worked. Ubuntu 16.04 might be the problem. Maybe? Stumped.

I just tried the 'screen' serial monitor native to Ubuntu.

Still nothing legible.

Screen gave me this when I reset my attached device:

{$l��|�l�|�l�b|����r�#�c��on�$no���bp��cl {$p�N��l��bN�|l����"��no�l��l �oNl Ns������l r��o��$�n�rdl��|�l�|�l�c|����r�#�c��on�$oN���#p�l{ls$p�N��$��#o�|$���p�|~�o�l��l �2Nn$or������l r��N��$`�o�

Same as Arduino Serial Monitor.

Using basic code like blinking arduino LED on and off every second works. More complex code also works.

Nothing more complicated than one thing attached to my computer USB port at a time. Nothing else attached to confuse anything.

Nothing comes to mind I haven't already tried.

I'm quite sure ubuntu still comes with minicom. You can give that a shot.
Maybe unicode related?

See if this article helps.

Most ESP devices will give a short preamble of garbage on a serial connection.
Its not garbage but an odd baud rate with what is almost a BIOS message.

One that has appeared it will revert to the baud rate that is either the default or the one it is told to use.

They need to match the baud rates of the serial monitors being used (or vice versa)

Blink does not use serial so what you see with that sketch is the preamble.

Please post the actual sketch you are using as we dont have a clue which “example” you are using or from which library.
Dont forget to use code tags to post the sketch ( </> )

I am running Arduino IDE 1.8.3 on Linux Mint 18.
No problems ever with the Serial Monitor communicating with Arduino Uno R3 or ESP-01 or Arduino Pro Mini.

Problem solved... sort of.

Changed everything but my keyboard, mouse and monitors. New memory, HD and motherboard and serial monitor works.

Ran out of software/ configuration ideas and decided to change the hardware.