Firmware Flashing

Before you start

  1. Get the latest .hex file from here.
  2. Turn ProgArm on and switch the SW2 to Flashing Mode.
  3. Press and hold Reset button for more than 300 ms. This will put the device into Flashing Mode.
  4. Follow the instructions below.


  1. Use any bluetooth manager to establish bluetooth connection. If you have no bluetooth manager try blueman!
  2. Download and install stm32flash.
  3. Upload firmware using this command:
    stm32flash -b 38400 -w ProgArm-Firmware.hex /dev/rfcomm0
  4. If the command above requires root privileges, then your user is not in the dialout group. It is highly recommended to be in dialout group, although not obligatory for flashing process. If adding your user to dialout group (and rebooting) didn't help, check sudo lsof /dev/rfcomm0. If you see ModemManager in the output, then try killing it.


  1. Use standard Windows bluetooth manager to connect to the device. Let Windows to automatically install drivers for Serial-Over-Bluetooth interface.
  2. Download and install STM32 Flash Loader Demonstrator.
  3. Use Device Manager to see what numbers do HC-05 virtual com ports have. The port with lower number is main Tx/Rx port
  4. Configure the app as following:
    • Port name: Your port number
    • Baud rate: 38400
    • Data bits: 8
    • Parity: even
    • Echo: disabled
    • Timeout: can be any (I use 3s)
  5. Click Next, choose your memory size and load .hex file to the STM32.