Thibaud Chupin


Embedded Software Engineer


Work Experience

AAC Hyperion (Netherlands)

Embedded Software Engineer
February 2024 - September 2025

As is typical in smaller companies, I wore many hats (embedded software, assembly and integration scripts, devops, ...).

Embedded Software

  • Developed embedded software in C and C++ for space hardware and test equipment.
  • Drove a migration away from Microchip Studio Makefile projects to CMake (allowing us to build and test the code in CI).
  • Re-wrote the core communication library (in C), used over UART (RS-485), I2C and SPI, to command our hardware.
  • Wrote a code generation tool for serialization and deserialization of message types using libclang, targeting C, Python and LaTeX backends.
  • Spent too much time with a logic anaylyzer debugging broken hardware.

Assembly, Integration, & Testing

  • Set up a CI with linting, tests, changelog generation, and automated software releases following SemVer.
  • Designed breakout PCBs (in Kicad) for hardware interfaces, and 3D printed jigs (Onshape) to mount them.
  • Wrote a DSL (in Python) and REPL to make it easier to develop testing scripts as part of the production process.
  • Added documentation generation pipelines(doxygen, Sphinx) where possible to surface tribal knowledge about projects.

System Administration / DevOps

  • Procured, set-up, and maintained the company servers (Gitlab & Gitlab CI runners, OpenVPN, Inventree, Artifactory, ...).
  • Responsible for server backups and disaster recovery procedures.

ESA - Human Robot Interaction Lab (Netherlands)

Robotics Engineer
July 2022 - January 2024

Staff engineer for the lab. Responsible for software maintenance and development for the robotic systems (300+ kg wheeled platform with two Kuka LWR arms, Boston Dynamics Spot) used for experiments with International Space Station astronauts. I mentored a rotating roster of interns and trainees with wildly varying skill levels.

Robotics & Software

  • Primary developer on the software stack (C++, Python, Golang, Matlab, Simulink) using DDS for communication.
  • Maintainer of the lab's Buildroot image (from Systemd to GUI) through qualification as a payload on the ISS. Also maintainer of the associated CI infrastructure.

System & Network Administration

  • Maintainer the lab's infrastructure (Gitlab build servers, Minio S3 cache, OpenVPN, Grafana, Telegraf, RTK GNSS) using Docker and Docker Compose.
  • Diagnosed complex IP routing and MTU issues on IP connections between ground and the International Space Station.

Space Applications Services (Belgium)

Robotics Engineer / Systems Engineer
June 2018 - June 2022

Worked as a software and systems engineer on early stage space missions covering satellite rendez-vous systems, rovers, space stations, and in-situ resource utilisation schemes for the Moon.

Robotics & Rovers

  • Wrote embedded software and user interfaces for early demonstrations of the HOTDOCK device (C++, CAN, Python).
  • Wrote the control software for simulation, tele-operation, joint-level control, navigation, and power management for the LUVMI rover on both the on-board Linux computer and micro-controllers (ROS 1, C++, Python, CAN Bus, CANopen).
  • Updated the LUVMI software for the follow-on LUVMI-X rover (video) (ROS 2, RS-422).
  • Implemented a decoder for the S.Bus serial protocol to use an RC controller to control the rover.
  • Defined software and functional safety architectures for astronaut training devices developed in the team in collaboration with space medicine specialists from DLR (German aerospace agency) and EAC (European Astronaut Centre) for ESA (Esuropean Space Agency).

Systems Engineering

  • Systems Engineer for early iterations of an Ethernet switch for deep-space applications working on the definition of electrical and mechanical interfaces.
  • Lead systems engineer for avionics and mobility systems on the Flight Model design of the LUVMI-X rover and the demonstration model.

Image Processing / Machine Vision

  • Developed a robust multi-marker visual tracking system using a custom fork of an ArUco marker tracking library for on-orbit servicing applications (C++, OpenCV, Eigen). Data post-processing scripts written in Python with NumPy.
  • Validated performance of the system on a large robotic simulator.

Politecnico di Milano (Italy)

Research Fellow @ Nearlab
Oct 2016 - June 2018

At Nearlab I was the resident daVinci Surgical System expert, working with the research team developing augmented reality tools for surgeons (OpenCV, PCL, ROS 1) and working on camera/robot calibration.

Education

Politecnico di Milano (Italy)

Automation & Control Engineering MSc.

Undergraduate and graduate degrees focused on control theory and mechanics.

For my Master's thesis I developed a data-driven attitude controller for a quad-copter that significantly improved response time and stability margin compared to the previous state-of-the-art controller.