I've compiled an Arduino program via a Makefile and have the resulting hex file.

From the Mac command line, how do I upload this hex file to my STM32 Cortex M3 board? For an ATMEL processor I would use avrdude.

1 Answer 1


There are several different tools for uploading binaries to a Cortex M3. Depending on the board (not chip) configuration, they include (ht: Majenko):

  • dfu-util through an FT232 adapter
  • stm32flash through serial
  • micronucleus through the Micronucleus bootloader
  • stlink through an STLink programmer

Many Arduino flavors use a board with some kind of USB or FT232 adapter. In this case:

the STM32 line of processors include a DFU (device firmware update) bootloader in ROM.

The dfu-util project supports a Mac version of dfu-util, their command line DFU tool.

Note that this answer is identical for any binaries which run on the processor, be they Arduino sketches or programs developed with other frameworks.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.