How to reduce Arduino Micro/Leonardo bootup time?

When powered on, my Arduino Micro takes about 8 seconds to begin running my program. Is there any way to decrease this delay?

Remove the bootloader and start using ICSP to program it, or replace the bootloader with a faster one if you can.

Yes, install the latest bootloader from the Arduino IDE 1.0.4. It has been optimized to run the sketch from power on. And only run the bootloader when reset button is pressed or during normal Uploads.

hiduino:
Yes, install the latest bootloader from the Arduino IDE 1.0.4. It has been optimized to run the sketch from power on. And only run the bootloader when reset button in pressed or during normal Uploads.

Run I click 'Burn Bootloader' I get this error:

avrdude: stk500_recv(): programmer is not responding

The Micro/Leonardo can receive new bootloaders over USB, right?

No you need an ISP programmer to burn bootloader. You could use another Arduino as ISP to burn the bootloader.

Ok, I'll have to wait until I get/make another arduino to do that. Can an Atmega 328o w/ Arduino bootloader act as an ISP to program an arduino? I know it works the other 'round. I would assume it works but have never tried, the Micro is my first/only arduino and I only got it a few days ago.

Is it possible to use the Raspberry Pi's GPIO pins instead of an ISP?

If you have an ATmega328P chip with a bootloader already on it, then yes you could build a stand-alone Arduino with it. You will need a USB to serial TTL FTDI cable to upload the ArduinoISP sketch to it. Then use that as an ISP to burn bootloader to the Micro.

The Rpi could be used as an ISP, but you will need to write the code for it, unless someone has already done that.

Blazerboy65:
Ok, I'll have to wait until I get/make another arduino to do that. Can an Atmega 328o w/ Arduino bootloader act as an ISP to program an arduino? I know it works the other 'round. I would assume it works but have never tried, the Micro is my first/only arduino and I only got it a few days ago.

Yes. I have two 328p AVRs on a breadboard right now. Both came from an external supplier as ordinary blank chips. I used a regular Uno R3 running ArduinoISP sketch to burn optiboot bootloader in one of them to set the fuses. I then load ArduionoISP sketch into this chip and use to burn bootloader into the other blank chip, also to set fuses. After that so far, I've been using the first to program the second using ArduinoISP. This, of course, has removed the bootloader from the second chip, but I can burn it back any time I like.

You only need to load the bootloader once to set the fuses for the oscillator etc. After that you can keep using the bootloader to upload code to the chip, or you can use a regular ICSP (or ArduinoISP) to flash a hex file into the chip without a bootloader. It's your choice as to how you want to do it.

afremont:
I used a regular Uno R3 running ArduinoISP sketch to burn optiboot bootloader in one of them to set the fuses. I then load ArduionoISP sketch into this chip and use to burn bootloader into the other blank chip, also to set fuses.

Using that same UNO R3 with the ArduinoISP sketch, you may be able to update the bootloader on the Leonardo.

In the IDE, just make sure you select the Leonardo as Board and ArduinoISP as the programmer.