How to do STM32 with no abstractions?

This page summarizes the projects mentioned and recommended in the original post on /r/embedded

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • blue_pill_too

    Like the STM32 blue pill there is a STM32F030F4P6 based blue board which so far as I know doesnt have a cool name yet.

  • Do check David Welch' repositories, like this one for the blue pill https://github.com/dwelch67/blue_pill_too

  • CMSIS_5

    CMSIS Version 5 Development Repository

  • You can download the generic CMSIS files from here. The device-specific CMSIS header files can be downloaded from the Keil website: MDK5 Software Packs. Those pack files are ZIP files, btw.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • stm32-cube-cmake-vscode

    STM32, VSCode and CMake detailed tutorial

  • Here is a guide to porting an STM32 project from CubeIDE to VSCode and CMake. All credit to MaJerle.

  • stm32-cmake

    CMake for stm32 developing.

  • I highly suggest https://github.com/ObKo/stm32-cmake Using cmake allows to build using cli commands. If you then onboard people later on, they still can work with their IDE thanks to cmake.

  • RIOT

    RIOT - The friendly OS for IoT (by RIOT-OS)

  • Or try RIOT-OS. Which is programmed in C and works nicely with STM32. It has some nice abstractions you can study. https://riot-os.org

  • Here's a repo I've made for my students https://gitlab.com/matsievskiysv/stm32_programming/. In it I start with assembly, introduce C and linker scripts and finally write my own HAL. It uses stock gcc, gdb and openocd from debian repo.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts