Field Guide · concept

A bootloader is a small program that runs first when a device powers on or resets, then loads and starts the main firmware or operating system.1

Overview

On a desktop the bootloader chain hands off to an OS; on a microcontroller the bootloader is often the only thing between reset and your application. Many MCUs ship with a factory bootloader in ROM that speaks USB DFU, UART, or SPI/I²C, so new code can be loaded without a dedicated programmer. Custom bootloaders add over-the-air (OTA) updates, integrity checks, and fallback to a known-good image if an update fails.

Where it fits

A bootloader is what lets you reflash a board over USB instead of always using in-system programming with an external debugger — the Arduino “press reset, upload sketch” flow is exactly this. In a fielded embedded system it is the safe path for firmware updates, often paired with a watchdog timer so a hung update cannot brick the device.

Sources

  1. Bootloader — Wikipedia, on bootloaders and their role at startup. 

See also