On this page
Overview
STM32CubeF4 is the official versioned firmware package of drivers, middleware, board support, and runnable examples for the STM32F4 series.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Provide HAL and LL drivers through board-specific projects in one package
STM32CubeF4 combines CMSIS, STM32F4 HAL and LL drivers, board support packages, middleware such as RTOS and USB, and projects for Nucleo, Discovery, and evaluation boards. Cloning v1.28.3 with submodules keeps component revisions aligned.
Best fit
Fits firmware work that starts from an official board example
The STM32F4-Discovery GPIO_EXTI example targets STM32F407xx and was tested on RevB and RevC boards. Edges from the User/Wake-Up button on PA0 toggle LEDs 3 through 6, giving a concrete build, flash, and hardware-action check.
Sources: [3]
Before adoption
Pin the board, toolchain, submodules, and component licenses
Projects and pin assignments differ across STM32F4 boards and devices. GitHub reports NOASSERTION; the root table lists Apache-2.0 for CMSIS, BSD-3-Clause for HAL and BSP components, SLA0044 for USB libraries and some projects, and other component terms. Click-through middleware is absent from GitHub, so inspect terms for every file used.
Official sources
- [1]STM32CubeF4 v1.28.3 README(2026-10-05)
- [2]STM32CubeF4 v1.28.3 tag(2026-10-05)
- [3]STM32F4-Discovery GPIO_EXTI example(2026-10-05)
- [4]STM32CubeF4 component license table(2026-10-05)
- [5]STM32CubeF4 GitHub metadata(2026-10-05)
Supplemental curator note
STM32CubeF4 suits developers who want version-aligned drivers and official board examples for STM32F4 work. Pin the board, submodules, IDE, and programmer, and review every used component license before distribution.
Try it in 3 steps
- 1
Clone v1.28.3 with its submodules
Requires Git and network access. Fetch the fixed tag containing the STM32F4-Discovery GPIO_EXTI STM32CubeIDE project and inspect submodule state.
git clone --recursive --depth 1 --branch v1.28.3 https://github.com/STMicroelectronics/STM32CubeF4.git && cd STM32CubeF4 && test -f Projects/STM32F4-Discovery/Examples/GPIO/GPIO_EXTI/STM32CubeIDE/.project && git submodule status --recursive - 2
Build GPIO_EXTI with STM32CubeIDE
Requires a supported STM32CubeIDE. Import the official project from its original location while using an isolated workspace, then clean-build Debug; the artifact remains under the project’s Debug directory.
example_dir="$PWD/Projects/STM32F4-Discovery/Examples/GPIO/GPIO_EXTI/STM32CubeIDE" && stm32cubeide --launcher.suppressErrors -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data "$PWD/.cubeide-workspace" -import "$example_dir" -cleanBuild GPIO_EXTI/Debug - 3
Flash through ST-LINK and operate the button
Require GPIO_EXTI.elf under the original project, flash it through ST-LINK, then press USER on the board and verify LEDs 3–6 toggle.
example_dir="$PWD/Projects/STM32F4-Discovery/Examples/GPIO/GPIO_EXTI/STM32CubeIDE" && test -f "$example_dir/Debug/GPIO_EXTI.elf" && STM32_Programmer_CLI -c port=SWD -w "$example_dir/Debug/GPIO_EXTI.elf" -v -rst && printf '%s\n' 'Press the STM32F4-Discovery USER button and verify LEDs 3, 4, 5, and 6 toggle.'
Growth
Growth trends · Last 30 days
1,345 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 2
- Open PRs
- 0
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- stm32cube-mcu-package
- Stars
- 1,345
- Forks
- 490
- Watchers
- 71
- Open issues
- 0
- Contributors
- 17
- Owner type
- Organization
- Primary language
- C
- License
- Not determined
- Repository last updated
- Oct 5, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Eclipse Paho MQTT Embedded C1,544 Stars
2 shared tag(s) · Same language
use compact MQTT packet serialization plus pluggable-network C and C++ clients on embedded and constrained platforms
C - Contiki-NG1,532 Stars
2 shared tag(s) · Same language
combine firmware and low-power IoT networking through an OS with IPv6/6LoWPAN, RPL, TSCH, CoAP, and cross-platform device support
C - Arduino-ESP3217,473 Stars
2 shared tag(s)
develop for the ESP32 SoC family with the official Arduino core, libraries, board definitions, and integrated Espressif toolchains
C++ - Raspberry Pi Pico SDK4,986 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Build C and C++ firmware for RP-series microcontrollers with hardware APIs, libraries, and CMake tooling
C - Arduino IDE 1.x14,656 Stars
1 shared tag(s) · 1 shared category(s)
edit, compile, and upload sketches to Arduino boards from one desktop IDE
Java - Linux kernel251,023 Stars
1 shared tag(s) · Same language
Manage CPUs, memory, processes, filesystems, networking, and devices while exposing system calls to userspace
C
Report incorrect information
Tell us if any listing information is incorrect or outdated.