I'm quite new to Arduino. It is important for me to have a micro controller that is instant on. The nano board seems to load a blink program for 5 seconds and then it starts to execute my program when I turn it on. Why is that? My arduino compatible teensy 3.1 board is instant on for instance. Is there a way to fix that? Thanks.
That 5 seconds delay is the bootloader waiting to see if a new firmware is coming.That will happen always unless you overwrite the bootloader.You could do that if you program your chip using an external programmer connected to SPI interface.But there is a trade of, if you overwrite the bootloader then you always need to upload new programs via SPI, so you loss the capability of upload programs via usb port like you use via arduino IDE.You could always re burn the bootloader again of course if you which.
For me during development I use the bootloader but when I make a board to a final product I overwrite the bootloader to escape that initial delay
Hope it helps
On the Uno, it comes on very quickly, because they have the DTR reset trick to load firmware, so they know it will be reset at the right time, and don’t have to wait. In the dark ages before that trick, you had to press the reset button while uploading the sketch.
On the Nano, it uses a Bootloader that is meant to support cases where DTR isn’t connected to reset through a cap. However, the board itself does have that cap in there (or the schematic says it does - if it’s a chinese clone, check :-P)
I’ll bet you could put the Uno bootloader on it, and pretend it’s an Uno and it’d work. I do that with Pro Mini’s (optiboot is also a little smaller, so you have more room for your sketches)