In this thesis project, I have learned to appreciate abstractions once more. This meant that I did not have to care about hardware specific implementation once the support package was done. I could also re-use code that I wrote for another part of the application i.e., queue implementations. I have always enjoyed writing software that actuates hardware. Testing Bern RTOS on an espresso machine meant that I could combine the abstract world of real-time kernel design and the real world.
The espresso machine application again showed me the advantages and disadvantages of Rust on embedded systems. The language itself suites microcontrollers very well and the tooling is better than anything I have encountered in embedded systems. However, library support might be a deal breaker for some developers. But we have to start somewhere and improve from there.
All things considered, I enjoyed this project very much, and I am looking forward to continuing development after the summer break, albeit with less time at hand.