+## STM32 (ARM)
+
+For a majority of ARM boards (including the Proton C, Planck Rev 6, and Preonic Rev 3), when you're ready to compile and flash your firmware, open up your terminal window and run the build command:
+
+ make <my_keyboard>:<my_keymap>:dfu-util
+
+For example, if your keymap is named "xyverz" and you're building a keymap for the Planck Revision 6 keyboard, you'll use this command and then reboot the keyboard to the bootloader (before it finishes compiling):
+
+ make planck/rev6:xyverz:dfu-util
+
+Once the firmware finishes compiling, it will output something like this:
+
+```
+Linking: .build/planck_rev6_xyverz.elf [OK]
+Creating binary load file for flashing: .build/planck_rev6_xyverz.bin [OK]
+Creating load file for flashing: .build/planck_rev6_xyverz.hex [OK]
+
+Size after:
+ text data bss dec hex filename
+ 0 41820 0 41820 a35c .build/planck_rev6_xyverz.hex
+
+Copying planck_rev6_xyverz.bin to qmk_firmware folder [OK]
+dfu-util 0.9
+
+Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
+Copyright 2010-2016 Tormod Volden and Stefan Schmidt
+This program is Free Software and has ABSOLUTELY NO WARRANTY
+Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
+
+Invalid DFU suffix signature
+A valid DFU suffix will be required in a future dfu-util release!!!
+Opening DFU capable USB device...
+ID 0483:df11
+Run-time device DFU version 011a
+Claiming USB DFU Interface...
+Setting Alternate Setting #0 ...
+Determining device status: state = dfuERROR, status = 10
+dfuERROR, clearing status
+Determining device status: state = dfuIDLE, status = 0
+dfuIDLE, continuing
+DFU mode device DFU version 011a
+Device returned transfer size 2048
+DfuSe interface name: "Internal Flash "
+Downloading to address = 0x08000000, size = 41824
+Download [=========================] 100% 41824 bytes
+Download done.
+File downloaded successfully
+Transitioning to dfuMANIFEST state
+```