libopencm3 and FreeRTOS projects using the STM32F103C8T6 MCU
FreeOpen-source STM32F103C8T6 examples with libopencm3 and FreeRTOS
About libopencm3 and FreeRTOS projects using the STM32F103C8T6 MCU
This GitHub repository provides a collection of example projects for the STM32F103C8T6 microcontroller using libopencm3 and FreeRTOS. It is the companion source code for the book 'Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC' (ISBN 978-1-4842-3623-9). The top-level directory contains libopencm3-only projects (e.g., miniblink, uart, uarthwfc), while the ./rtos subdirectory holds FreeRTOS-based examples (blinky, uart3, usbcdc). The environment is built entirely with open-source tools (no proprietary IDEs) and is compatible with Cygwin, Linux, macOS, and BSD systems. Prerequisites include an arm-none-eabi cross-compiler toolchain, the st-link flashing utility, and the libopencm3 and FreeRTOS sources. The repository includes a Makefile and linkerscript for easy builds.
Key Features
Pros & Cons
- 100% open-source – no vendor lock-in
- Works on multiple operating systems
- Clear project structure separating bare-metal and RTOS examples
- Easy to reproduce with provided Makefiles and detailed README
- Accompanies a well-regarded book for structured learning
- Limited to the STM32F103C8T6 microcontroller (not generic)
- Requires manual setup of cross-compiler and st-link tools
- FreeRTOS source must be downloaded separately and extracted
- No graphical IDE; relies on command-line tools
- Not a standalone library – primarily a set of examples