Niklas Hauser

About me

I studied computer science at the RWTH Aachen University with a focus on Human Computer Interaction and Wireless Sensor Networks.

During this time I worked as a student assistent at The Media Computing Group in the area of deeply embedded electronics and helped the Institute of Transport Science rebuild their railway signalling lab. I also helped build and program autonomous robots for the Eurobot competition as a member of the RoboterClub Aachen e.V..

During my 2+ years at Arm, I worked as an embedded software engineer on mbed OS core and HAL, as well as uVisor, a device security layer for Cortex-M microcontrollers, and the arm-none-eabi-gcc toolchain. I have expert knowledge on and experience with all M-profile architectures (v6-M, v7-M and v8-M).

I'm currently back at university studying and working (again) on the VIA railway signalling lab.

I love all kinds of engineering and technology, especially aviation and robotics. Make my day by sharing about your expert knowledge!


I maintain a C++17 barebone embedded library generator called modm which can generate custom HALs for almost 1000 different AVRs and Cortex-M targets.

My other projects are hosted on GitHub too.


At emBO++17 I talked about the next generation of xpcc called modm: a toolbox to generate microcontroller HALs.

At emBO++18 I held a lightning talk on ARMv8-M and TrustZone-M.

I gave a keynote about "Improving Embedded Software with Data Science" at the DLR Software Engineering Workshop 2018 in Bremen.


You can reach me via electronic mail at
Follow my Twitter stream for my brain dump.
For more structured thoughts refer to my blog.