Blinking pin 13

I am experiencing a weird issue where my pin 13 on my arduino uno starts blinking rapidly and then pauses and continues this indefinetly when I plug in the board. It continues blinking until i enter anything into either the serial monitor or on putty connected to the serial port.

Once i do that, the programming I have uploaded starts up. Pushing reset only stops the blinking for as long as I hold reset down.

It doesnt matter what I have uploaded either, uploaded the blink example and still had the same issue.

EDIT:

I have a cellular shield, and a protoshield v2 stacked on top. and the uno board by itself is fine. when I plug it in, the blink program runs successfully from the getgo.

The problem occurs when I add on the cellular shield, even without the protoshield on top of it. Connected to power using the barrel jack, everything works fine. but when unplugging from the usb, and plugging it back in again, it fails to load correctly.

where my pin 13 on my arduino uno starts blinking rapidly and then pauses and continues this indefinetly

That is what an un programmed UNO does, they all do this.

It doesnt matter what I have uploaded either, uploaded the blink example and still had the same issue.

Does the program say it has up loaded successfully or are there errors reported?

That is what an un programmed UNO does, they all do this.

Except the uno is programmed, and removing the cellular shield and plugging in the usb will let the programming run. And by programming i mean the blink example.

But when adding the cellular shield, and plugging into usb, the programming doesnt run until i enter something, anything, into the serial monitor or via putty.

Does the program say it has up loaded successfully or are there errors reported?

Yes, I can upload the blink example successfully(included at the end of my post) but if I plug in the arduino to the usb with the cellular shield connected, it will sit there and blink 3 times rapidly, then wait half a second and blink three times rapidly and repeat until I enter something on the serial monitor or putty, and then it will run the programming that is uploaded to it.

It's the cellular shield that is the problem as i can attach the protoshield which has only and led and a button on it and it works fine.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);     
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

It's the cellular shield that is the problem

Yes it sounds like the shield is holding the serial input low and preventing the boot load from concluding nothing is trying to program it. Then when you inject some real serial data the bootloader sees that byte and realises it is not being programmed and goes and executes the main sketch.

I would say this is a poorly designed shield. You could arrange a switch to isolate the serial lines from the shield while downloading. But better yet get back to the supplier of the shield and complain.