To load CircuitPython, follow the DFU Bootloader instructions to get the board into bootloader mode

Visit https://circuitpython.org/board/feather_stm32f405_express/ To get the latest firmware available

Download the bin file, and then program it using dfu-util or STM32CubeProgrammer

Upon success, reset the board without the BOOT0 jumper and you will see after a few seconds the CIRCUITPY disk drive appear

CircuitPython Notes

If you are intending to start a project that is very RAM intensive, note you cannot access the full 196KB of RAM that listed on the F405 datasheet and website - only 128KB is available to Circuitpython programs for system reasons. You'll find the same limitation on Micropython and most other F405 devices.

STM32F4 support is new compared to the SAMD and nRF boards, but is now considered stable. Working modules on this board include:

  • Digital IO (LEDs/buttons)
  • analog input
  • analog output (DAC)
  • PWM output on timer pins
  • I2C
  • SPI
  • NeoPixel Support
  • UART Support
  • DisplayIO
  • PulseIO

To come:

  • I2S
  • Audio
  • TouchIO
  • many others!

If you find something missing or flawed, please open an issue in circuitpython

This guide was first published on Nov 05, 2019. It was last updated on Nov 05, 2019.
This page (CircuitPython Setup) was last updated on Oct 30, 2020.