I’m an embedded software developer from Beesd, The Netherlands, with a passion for robotics. I’ve been programming since my youth, building websites and experimenting with microcontrollers and electronics. Over the years, I chose to specialize in embedded systems, driven by my fascination with low-level systems like Linux and RTOS. This passion led me to focus on robotics, where I apply my expertise in embedded development to design and integrate systems for autonomous and robotic applications. My experience includes working with advanced robotics frameworks such as ROS2, integrating communication protocols, and developing real-time control systems to enable intelligent robotic behaviors.
When I’m not hacking on code/hardware I will most likely be out wakeboarding on a cable park, race bicycle touring, taking pictures or having a drink with friends and family.
You can contact me via email or you can view my projects on Github
Automotive CTO, System Innovations Mobile Robotics applications
In this role, I apply my expertise in system architecture, computer science, hardware design and robotics. My day-to-day work includes architecting new software, debugging, driver development, and middleware testing. I leverage technologies like Linux, RTOSs such as Zephyr and NuttX, and I'm comfortable working across a wide range of platforms, from large MPUs to small MCUs, adapting my approach to meet the unique requirements of each system. Throughout these tasks, I work closely with cross-functional teams, including hardware engineers, product managers, and other developers, and the open-source community, ensuring smooth collaboration and effective communication to deliver solutions that align with project goals.
I have expertise in integrating communication protocols such as DDS, TSN, and CAN to ensure real-time, reliable data exchange and synchronization across distributed robotics and autonomous systems. Additionally, I integrate ROS2 applications to enable various robotic functionalities, including sensing, simulation, planning, and control.
Graduation internship at NXP Automotive Systems Innovations. As part of my MSc study I've conducted a research to improve the safety and fault tolerance of autonomous vehicles. As a result I've created a novel hypervisor-based approach based on e-GAS 3-level safety concept, the hypervisor creates and manages the virtual machines (VMs), to isolate and monitor software components in the vehicle's architecture. The mechanism distributes the different Functions (Level 1) into separate VMs which are monitored by seperate monitors (Level 2 & 3) and utilizes ROS2 & Data Distribution Service (DDS) as the communication channel.
At Theo van der Perk bv I’m responsible for the design, development and hosting of their websites currently maintaining: 1001Parts.nl an OEM parts ordering site with about 2.300.000 products. 1001Farmtoys.nl is a toy store selling LEGO, Playmobil etc. Gazonmaaierwinkel.nl a webshop for garden equipment and power tools. All webshops are fully integrated integrated with the accounting software for automatic billing and shipment integration for automatic labels.
Development of a indoor-localization (GPS-like) algorithm & system which uses audible sound to determine the location
August 2013 – January 2014
Research and implementation of a CAN diagnostics module containing a GSM/3G modem for global coverage.
January 2014 – September 2015
After my internship I continued working part time at Kverneland Group Mechatronics. Doing various projects but I’ve mainly focused on the IMT simulator, simulating a Kverneland Linux terminal on a Windows computer.
Created the Tropic Community VMU, an open-source vehicle management unit for robotics using the Teensy 4.1 microcontroller. Designed the hardware, integrated sensors, CAN transceivers, and GPS, and enabled software support for systems like PX4. Built 3D-printable enclosures and contributed to a community-driven project for robotics developers. More details: TropicCommunityVMU GitHub.
In my spare time, I ported the classic DOOM game to run on NXP MCX N947 MCU on top of the Zephyr RTOS. It was a fun challenge adapting the game for embedded systems, adding touchscreen and joystick support, and ensuring it worked smoothly on the FRDM-MCXN947 board. This hobby project allowed me to explore low-level hardware programming while combining my interests in gaming and embedded development. For more details, refer to the repository: Doom-MCX GitHub.
A hobby project where I’ve replaced the original LEGO motor controller by a raspberry pi zero including a PWM controller, dc/dc converter for the battery and a camera for live streaming. Furthermore, I hope to include some vision algorithms to the raspberry pi to do obstacle detection to ensure no collision occur on the railways. Here a small demo video of the live streaming feature.
As part of my bachelor thesis project I've developed together with Steven Hunsche an indoor-localization (GPS-like) algorithm & system which uses audible sound to determine the location
In multi-disciplinary team with electrical engineers and computer scientists an Internet of Things board designed for the minor product development project. The chip on this PCB is a TI CC2538 running Contiki-OS providing 6LowPan support.
Draw TowerDefense project I've done with Peter Hoeven as part of Avans bachelor minor specilization project. Draw TowerDefense is a game running on a NXP i.MX6 embedded multi-media processor and uses a camera with computer vision algorithms to detect player gestures and glyphs and projects the game on a whiteboard using a beamer.