--- layout: post title: "Arduino boot loader on cheap Chinese BluePill clone" date: 2019-08-11 16:59:46 +0200 comments: true categories: --- Boot modes: flash/ROM (system memory)/RAM Bootloader or not/purpose/various programming methods * UART * ST-LINK * DFU Arduino boot loader: dual device issue (serial ACM vs DFU) * reset -> loader (3s) -> user app * when ACM app detects DTR toggle, reset USB bus (or reset MCU???) and switch back to DFU loader * rogerclarke * support recently integrated in official STM32duino Bare boot loader: DFU only, by default one shot at reset, no support for switching back through DTR (no ACM!) Requires a sketch which implements the ACM dev (SerialUSB) For some reason the distributed combined loader+sketch does not work. Perpetual loader mode (stay in DFU) Once first sketch is programmed, it contains ACM support for loading the next one... *If* the correct programming mode is selected while building the sketch! Alternative: HID bootloader (not thoroughly investigated) Reliability issue (host sometimes unable to open ACM) ST-LINK is superior (no 3s delay at boot time, reliable programming)