a hypervisor for realtime microcontrollers
Get Started


Hermes is a hypervisor for MCU-based systems with real-time requirements. The goal of Hermes is to manage tradeoffs between performance and flexibility in software that runs on embedded systems. Bare-metal software often has the best performance—low I/O latency, less CPU and memory overhead, etc. RTOS-based software has comparatively higher flexibility in terms of its ability to share resources and manage multiple jobs, but often sacrifices latency. Hermes aims to provide software developers with the option to run some portions of code in a bare-metal like environment with minimal latency while allowing other jobs to run within a more flexible RTOS.

try it out


  1. Get Atmel Studio 7 and install it on your Windows machine
  2. Get the source code archive and unzip it on your Windows machine. This contains all the source code for FreeRTOS v9.0.0 (patched for Hermes) plus project files for the Atmel SAME70 microcontroller.
  3. Remove the hermes directory inside the source code archive (it's old) and check out the most updated version from BitBucket in its place.
  4. Use Atmel Studio to open up the RTOSDemo_Consolidated project from the source code archive.
  5. Build and run the code! NOTE: Atmel studio is quirky when running FreeRTOS. There's a trick to attaching the Atmel Studio IDE to the debugger so you can step through code. This video explains how to do that.