Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

STM32F4/7 Base Project

This base project is designed to provide a quick and platform independent method of building projects for STMicro STM32F4 and STM32F7 family processors.
Based on ryankurte/efm32-base.


Build Status

STM32F4 & STM32F7 working. STM32L0 & STM32L1 processors experimental / broken.


  • Getting started with Microcontrollers is hard (and time consuming)
  • Vendor IDEs are ultimately useless when approaching testing and build-automation

This project addresses this by providing a common base for for projects using STM32F4/7 processors.
You may also wish to look at stm32plus, platformio or Arm Yotta.



This project can either be used directly or as a submodule in a larger project.
Note that submodule use will allow updates to this project for fixes or further device support.
For an example project using this method, see [TODO].

To use the project directly:

  1. Download this repository
  2. Change the project name and device in the CMakeLists.txt file
  3. Move your source and include files into the source and include directories
  4. Add your source files to the CMakeLists.txt file
  5. Make something awesome!

To use this project as a submodule:

  1. Add the submodule to your (already git controlled) project using:
    git submodule add
    git submodule update
  2. Copy the CMakeLists.txt file from this project (stm32f4-base) to the top level of your project
  3. Update the project name and BASE_LOCATION variables in the new CMakeLists.txt
  4. Add your source files (and cmake libraries) to the CMakeLists.txt file
  5. Make something even more awesome!


Once you have integrated this project with your project, you can build in the standard cmake manner.

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make
  5. make flash (to program the attached device)


A couple of ST Examples ported to this framework are included in the examples directory. To use, change to the examples/EXAMPLE directory and run the build steps above.


  • As of 2016-06-01 the latest version of stlink in the homebrew repositories does not support STM32F7 devices. To use the flash command you will need to compile the latest tools from the github link above.

If you have any issues, suggestions or alterations, feel free to open an issue or a pull request.


No description, website, or topics provided.




No releases published


No packages published