The Arduino library serves as one of the best training wheels in microcontroller programming. Years ago this was frowned upon for being bloaty for industrial applications. Today a ton of 3D printers, quadcopters, CNCs and MCU based equipment use the library due to it’s simplicity, as firmwares can be easily tweaked by the average joe. Today it’s an accepted quick universal way of programming prototype experiments. The bootloaders are available in popular MCUs (AVR chips, STM32s, ESP32s & etc…) It remains my favorite till this day as it cuts the time for the prototyping stage.