View on GitHub

Qemu STM32

QEMU with an STM32 microcontroller implementation

Download this project as a .zip file Download this project as a tar.gz file


The latest release of QEMU STM32 includes the following features. Note that only basic functionality may be provided - there will inevitably be features (especially uncommon features) that are not emulated. I have included links to the relevant commits or files.

Other QEMU STM32 Projects

What’s New

September 12, 2021

December 5, 2018

October 18, 2018

August 15, 2018

July 24, 2018 The following changes have been added in the stm32 branch, though not yet included in a release.

July 15, 2016

April 2, 2016

June 6, 2015 - [Release v0.1.3] (


The STM32 implementation is kept in the “stm32” branch (the “master” branch contains the unmodified QEMU code). The “stm32” branch may contain commits that make the software unstable or perhaps even uncompilable. Therefore, I recommend that you use the latest tagged release that looks like this: “stm32_v0.x.x”. These are considered to be relatively stable, and at least minimally tested.

See the README file for more details on compilation, etc..


High level goals (in no particular order):

I have started a wiki page with a to-do list, much of which will never become reality.


With a few exceptions, I am not actively developing new functionality. But I do perform maintenance as I have time, including:

I have not yet submitted any patches to QEMU mainstream for a couple of reasons:

  1. This project is still in a state of flux, and I would like the flexibility to change it without going through a patch process.
  2. I suspect it will take some time and effort to go through the submission process - time I would rather put into the project itself. I have also made changes to the core framework, which may not be acceptable in the main QEMU branch or which will need to be modified. I don’t see much disadvantage to leaving this as a fork. That being said, there are core components that could benefit other parts of QEMU (i.e. The clock tree objects and unit testing framework) that should be submitted.


I welcome and encourage any source code contributions.

Thank you to the following people for submitting patches: