Bike Sensor
The idea was to measure the smoothness of the road by attaching an accelerometer to a bike. For this an ESP32 microcontroller and a MPU6050 accelerometer was used. All the data processing was done on the ESP32 which would output aggregated data via HTTP.
Delirium
Delirium is a game created in Unity during my game development minor. The team consisted out of seven members. My role was lead programmer and Scrum master. My main contribution was the random level generator algorithm. During this project I gained experience with Git. I was responsible for the repository and setup automated builds.
Blog post
OneList
This is a simple to-do list in Go. The idea was to keep it as simple as possible and make it easy to deploy. The binary contains its own webserver, website, storage and authentication. This was my first attempt at OOP Go. I primarily used interfaces to make it easy to extend with different frontend and storage methods.
View on GitHub
Build System For C projects
During my bachelor’s degree I worked often with the ESP32 microcontroller. The build system that came provided had a nice tool (Kconfig) to manage compile flags and options. I wanted something that used Kconfig for generic C project, but I could not find it. So I decided to implement it myself. I used CMake as base.
View on GitHub
8-bit Computer In Logisim
This is an 8-bit computer based on the videos of Ben Eater in Logisim (logic gate simulator). I had attempted to build it on breadboards like in the videos, but I ran into power issues due to bad components. Instead I opted to continue the project in Logisim. The computer has a limited instruction set and memory. It can be used to calculate Fibonacci numbers.
View on GitHub
Unity Machine Learning Agent
Unity Machine Learning Agents (ML-Agents) uses a combination of deep reinforcement learning and imitation learning to create emergent behaviours. I made a simple level where a ball had to be guided to a certain spot. First I had to create special training level with multiple instances of the main level to speed up the learning process. After the training was done it generated a model that could be used in a game to do this specific task.
View on GitHub
C++ Vector In C
My implementation of the Vector datatype from C++ in C. It can be used to put integers into a dynamically growing container (not available in C by default). At the base is a normal char array saved to the heap. This allows me to manually allocate and free memory as items are added and removed.
View on GitHub
Offset Scanner
The main use case for this program is to find pointers in the memory of an external process. First you must define a process and a pattern you want to search for. The program will then search in the memory of the specified process and output a pointer. This pointer can then be used to manipulate the process externally.
View on GitHub
Domotica Server
The aim of this project was to create a domotica server which would control certain devices in my room. For the hardware I chose a Raspberry Pi. The Pi tried to determine if I was inside my room by looking at the signal strength of the WiFi and Bluetooth of my phone. Based on this it would control the lights and Spotify.
View on GitHub