Hi, I'm Marvin 👋
Embedded Systems Engineer with a passion for creating innovative robotics and IoT solutions. Specialized in embedded programming, sensor integration, and autonomous systems.
MH

About

My background in Network Administration gave me a strong foundation in IT, but my true passion lies in Embedded Systems. I have a passion for creating human interactable devices that aim to improve the quality of life and encourages fun and creativity. I have experience with a wide range of technologies, from programming languages to hardware design, with a special focus on embedded systems and robotics.

Work Experience

K

Kenniscentrum Zorginnovatie

February 2025 - July 2025
Embedded Systems Engineer
Engineered a self-balancing telepresence robot (IP-car) for museum accessibility. Implemented real-time sensor fusion (IMU/Gyro) and PID control loops on an Teensy with remote control and fine-tuning via an ESP32. Designed a modular C++ architecture, achieving a 90% vibration reduction and <20° tilt stability over obstacles.
I

IKEA

November 2019 - Present
Sales Assistant
Over a six-year tenure, I worked in as a sales assistant in a fast-paced, high-pressure environment full of distractions. I developed strong stress resistance and communication skills by maintaining high performance and focus in a busy store. I also worked on the safety of the store and helped to design and kick-off an AI powered virtual assistant project.
S

Sens2Sea

September 2021 - February 2022
Embedded Systems Engineer
Developed a water-depth detection system using signal processing to measure water depth. This critical safety system prevents grounding and verifies operational status.
I

International Film Festival Rotterdam

September 2018 - February 2019
Network Administrator
Helped to setup the network required to distribute the movies to the different locations in Rotterdam. I also helped to setup more than 100 temporary workspaces for the employees of the festival, and setup a monitoring and notifying software for the firewall of the network.
P

Pluimen / WishWish B.V.

September 2017 - February 2018
Network Administrator
Helped with managing the IT environment of the company, helped with setting up new workspaces and went to on-site partner locations to diagnose ticketing machines.

Skills

C
C++
C#
Python
Embedded Systems
Arduino
ESP32
Teensy
Microcontrollers
Robotics
IoT
Raspberry Pi
Sensor Fusion
PID Controllers
Motor Control
IMU
RTOS
SPI
I2C
UART
Git
Agile
SQL
Docker
Linux
Home Assistant
React
Next.js
CAN Bus
HTML & CSS
JavaScript
TypeScript
Node.js
Unity
Blender
3D Modeling
PCB Design

Check out my work

I've worked on a variety of projects, from embedded systems to full-stack applications. Here are some highlights:

Self-Balancing Wheeled Bipedal Telepresence Robot

Graduation project: Developed an advanced self-balancing wheeled robot for remote museum tours, enabling mobility-restricted individuals to experience cultural activities. Implemented real-time sensor fusion combining IMU and gyroscope data, PID-based stabilization algorithms, and coordinated brushless motor control using inverse kinematics. Achieved 90% vibration reduction and maintained camera stability within 20° tilt over obstacles up to 2cm.

C++
Arduino
ESP32
IMU
PID Controllers
Sensor Fusion
Brushless Motors
Inverse Kinematics
Real-time Systems

Custom Neural Network - Symbol Recognition

Built a neural network from scratch in Python without using ML libraries like TensorFlow or PyTorch. Implemented forward propagation, backpropagation, and gradient descent to recognize X and O symbols from 3x3 pixel grids. Features custom sigmoid activation, MSE cost function, and weight optimization through iterative training. Achieved pattern recognition through manual tuning of network architecture (9 input, 3 hidden, 2 output nodes).

Python
Neural Networks
Machine Learning
Gradient Descent
Pattern Recognition
Mathematical Optimization

Coffice - Smart NFC Coffee Machine

Developed an innovative smart coffee machine system using NFC technology for personalized coffee experiences. Custom coffee cups with NFC chips embedded in double-bottom design automatically communicate user preferences to the machine. Built companion mobile app for configuring coffee preferences (milk amount, coffee strength, water temperature) and scheduling different coffee types throughout the day. Created complete business model including market analysis, financial projections, and technical implementation for office environments.

Arduino
NFC/RFID
IoT
Mobile App Development
Embedded Systems
Serial Communication
Product Design
Business Development

ArduinOS - Custom Operating System for Arduino

Built a complete custom operating system for Arduino with functional bytecode interpreter and instruction set. Implemented stack-based virtual machine supporting multiple data types (char, int, float, string), arithmetic operations, control flow (if/else, while loops), file I/O, and hardware interfacing (GPIO, analog/digital I/O). Features include process forking, memory management, and a complete instruction set (60+ opcodes) for executing custom bytecode programs directly on microcontrollers.

C/C++
Arduino
Operating Systems
Bytecode Interpreter
Virtual Machine
Stack Machine
Embedded Systems
Low-level Programming
Memory Management
Process Scheduling

Multi-Robot Coordination System

Developed a distributed multi-robot coordination system using Webots simulator where autonomous robots navigate to targets while avoiding collisions. Implemented Dijkstra's pathfinding algorithm for optimal route planning, real-time obstacle detection using distance sensors, and TCP/IP socket communication for sharing positions and obstacles between robots. Features centralized server broadcasting robot positions, dynamic map updates, and collision avoidance through shared world knowledge. Robots independently calculate paths while maintaining awareness of other robots' positions through network synchronization.

Python
Webots Simulator
Multi-threading
Socket Programming
TCP/IP
Dijkstra Algorithm
Pathfinding
Distributed Systems
Robotics
Distance Sensors
Real-time Systems

Autonomous Virtual Car - Machine Learning

Developed an autonomous driving system using a Multi-Layer Perceptron (MLP) neural network trained with scikit-learn. Implemented LIDAR sensor processing with 16-sector distance mapping, real-time obstacle detection, and dynamic steering control. The AI processes LIDAR sweep data to predict optimal steering angles and calculates adaptive target velocities based on turn sharpness. Features custom training pipeline with dataset generation and model persistence.

Python
scikit-learn
Machine Learning
Neural Networks
LIDAR Processing
Autonomous Systems
Socket Programming
NumPy
Real-time Control

File Compression Algorithms in Haskell

Implemented multiple lossless file compression algorithms from scratch in Haskell including Huffman coding and Run-Length Encoding (RLE). Built complete Huffman tree construction from character frequency analysis, binary code generation, and bidirectional compression/decompression. Features functional programming paradigms including custom type classes, pattern matching, recursive tree traversal, and immutable data structures.

Haskell
Functional Programming
Huffman Coding
Run-Length Encoding
Data Compression
Binary Trees
Algorithm Design
Type Classes
Pattern Matching

Secure MQTT Chat Application

Built a real-time chat application using MQTT protocol with Docker containerization. Implemented secure pub/sub messaging architecture using Eclipse Mosquitto broker and Apache HTTPd frontend, both running in isolated Docker containers. Features WebSocket connections over MQTT, SSL/TLS encryption with custom-signed certificates, username/password authentication, and automatic client ID generation.

MQTT
Docker
Docker Compose
Eclipse Mosquitto
Apache HTTPd
WebSockets
JavaScript
Pub/Sub Architecture
SSL/TLS
Network Security
HTML/CSS

ESP8266 Over-The-Air (OTA) Firmware Update System

Developed a complete Over-The-Air firmware update system for ESP8266 microcontrollers for Dot Robot B.V., enabling remote configuration and firmware updates for IoT devices worldwide. Implemented dual-system architecture: (1) Key-value settings store with REST API integration using Directus CMS for runtime parameter updates, and (2) Complete firmware OTA using ArduinoOTA with A/B partition failsafe mechanism. Built custom JSON parser (JSMN) for minimal memory footprint, flash memory management with persistence, and rollback capabilities. Eliminates need for physical access to update international deployments.

C/C++
ESP8266
Arduino Framework
ArduinoOTA
Embedded Systems
Flash Memory
REST API
Directus CMS
JSON Parsing (JSMN)
WiFi
HTTP Client
IoT
Firmware Updates

C++ Ray Tracer with Reflections

Built a progressive ray tracing engine in C++ from scratch, evolving through five assignments from basic 3D vector mathematics to a full ray tracer with recursive reflections. Implemented custom Vec3D class with vector operations (dot product, cross product, normalization), ray-sphere and ray-plane intersection algorithms, reflective materials with Fresnel equations, and recursive ray bouncing with brightness attenuation. Final implementation features ASCII art rendering with multiple brightness levels, checkerboard floor pattern, multiple reflective spheres, and configurable recursion depth.

C++
Ray Tracing
Computer Graphics
Linear Algebra
3D Mathematics
Object-Oriented Programming
Vector Mathematics
Geometric Algorithms
Recursive Algorithms
ASCII Art Rendering
Contact

Get in Touch

Want to chat? Feel free to reach out via email or connect with me on LinkedIn.