Arduino pro micro doesnt show anything in the serial monitor

im trying to start a project with an arduino pro micro,but even if i try a simple hello world sketch and open the serial monitor nothing shows up.

That's very sad.

  1. Do you have a question for the forum?
  2. Can you ask it in a way that enables the forum to answer it for you?
  3. Have you read the forum guide?

Put the following line in the sketch after Serial.begin()

while (!Serial) {}

A Pro Micro needs time to establish the USB connection before printing to Serial.

Welcome to the forum

As your topic does not relate directly to the installation or operation of the IDE it has been moved to the Programming category of the forum

Please post your simple "Hello World" sketch, using code tags when you do

Which version of the IDE are you using ?

I assume you have selected Tools>Board "Sparkfun Pro Micro"
also make sure you select the correct voltage version 5V or 3.3V
programming the 3.3V as 5V causes problems and the device may appear dead

does the program compile, link and load OK?

try the following simple blink program

//  Pro Micro - blint LED and print to serial monitor

// NOTE: select correct Pro Micro 5V or 3.3V - programming 3.3V with %v will cause problems

/* Pro Micro Test Code
   by: Nathan Seidle
   modified by: Jim Lindblom
   SparkFun Electronics
   date: September 16, 2013
   license: Public Domain - please use this code however you'd like.
   It's provided as a learning tool.

   This code is provided to show how to control the SparkFun
   ProMicro's TX and RX LEDs within a sketch. It also serves
   to explain the difference between Serial.print() and
   Serial1.print().
*/

// select Tools>Board Sparkfun Pro Micro

int RXLED = 17;  // The RX LED has a defined Arduino pin
// Note: The TX LED was not so lucky, we'll need to use pre-defined
// macros (TXLED1, TXLED0) to control that.
// (We could use the same macros for the RX LED too -- RXLED1,
//  and RXLED0.)

void setup()
{
  pinMode(RXLED, OUTPUT);  // Set RX LED as an output
  // TX LED is set as an output behind the scenes

  Serial.begin(9600); //This pipes to the serial monitor
  delay(2000);
  Serial.println("\n\nInitialize Serial Monitor");

  Serial1.begin(9600); //This is the UART, pipes to sensors attached to board
  Serial1.println("Initialize Serial Hardware UART Pins");
}

void loop()
{
  Serial.println("Hello world!");  // Print "Hello World" to the Serial Monitor
  Serial1.println("Hello! Can anybody hear me?");  // Print "Hello!" over hardware UART

  digitalWrite(RXLED, LOW);   // set the RX LED ON
  TXLED0; //TX LED is not tied to a normally controlled pin so a macro is needed, turn LED OFF
  delay(1000);              // wait for a second

  digitalWrite(RXLED, HIGH);    // set the RX LED OFF
  TXLED1; //TX LED macro to turn LED ON
  delay(1000);              // wait for a second
}

serial monitor output is

Initialize Serial Monitor
Hello world!
Hello world!
Hello world!
Hello world!

and the LEDs alternatly blink on/off