Hello,
I am not sure if this is the right place to post this but I have an Arduino Mega which I wrote a program on that pretty much just prints out serial to the arduino serial monitor and takes actions with regards to the input from the monitor.
The program runs flawlessly on the Mega but when we came to the end of the project we decided to use the Uno as the mega was too big.
WHen I run the program on the Uno I get this...

When I ran the code on two seperate arduino nanos i get this...

And here is how the output should look like as I coded it on the arduino Mega...

as you can see I get the exact same garbage text from the nanos and the uno which leads me to believe that the problem might be with the Atmega328P µController since that is what the nano and uno share in common and also do not have in common with the Mega.
My question is this... has anyone else run in to a problem such as this? also is it fixable?
I have tried everything possible from switching to different baudrates to putting delays between the Serial.print functions. I also made sure that I am selecting the right com port and arduino board before programming the device.
Here is the piece of code that is relevant.
void setup(void) 
{
  Serial.begin(115200);  // Initialize the serial communication device at 115200 baud.
  initializeModule();  
}
void initializeModule()
{
  delay(50);
  displayHelp();
  Serial.println();
  displayOptions();
  Serial.println();
}
void displayHelp()
{
  Serial.println();
  Serial.print("[S]can");     Serial.print("      ");    Serial.println(" Scans the data bus identifying any connected probes.");
  Serial.print("[C]hoose");   Serial.print("    ");      Serial.println(" Chooses a probe to calibrate.");
  Serial.print("[R]ead");     Serial.print("      ");    Serial.println(" Reads the calibration data from the probe.");
  Serial.print("[W]rite");    Serial.print("     ");     Serial.println(" Writes calibration data to the probe.");
  Serial.print("[V]iew");     Serial.print("      ");    Serial.println(" Shows the selected probe address.");
  Serial.print("[F]ormat");   Serial.print("    ");      Serial.println(" Formats the selected probe.");  
  Serial.print("[O]ptions");  Serial.print("   ");       Serial.println(" Displays the available options.");
  Serial.println();
}
void displayOptions()
{
  Serial.println();
  Serial.print("[S]can");     Serial.print("   ");
  Serial.print("[C]hoose");   Serial.print("   ");
  Serial.print("[R]ead");     Serial.print("   ");
  Serial.print("[W]rite");    Serial.print("   ");
  Serial.print("[V]iew");     Serial.print("   ");
  Serial.print("[F]ormat");   Serial.print("   ");  
  Serial.print("[O]ptions");  Serial.print("   ");
  Serial.print("[H]elp");     Serial.print("   ");
  Serial.println("[A]bout");    
}
Thanks in advance!

