I build end-to-end real-time control and machine-learning systems across custom hardware and software: embedded firmware, wireless communication, computer vision, and reinforcement learning. Programming for 7+ years, professionally since 2021.
Recent projects: two from-scratch quadcopters with custom ESP32 flight controllers. KattVis uses onboard stereo vision for GPS-free motion and position estimation, while PidraQRL has a live RL agent tuning PID gains in real time on physical hardware.
🏆 Winner of the Yale SEA Most Outstanding STEM Exhibit - Unga Forskare 2026 National Final
A stereo-vision quadcopter built from scratch, flying without GPS or a barometer, using onboard stereo cameras and an IMU instead.
- Custom ESP32 flight controller with a cascaded PID loop at 250 Hz, running independently of the vision workload
- Deadcat airframe with a tuned front/rear roll-mix to compensate for the front motors' extra torque leverage
- Raspberry Pi 5 running an onboard stereo-vision and visual-odometry pipeline (dual OV9281 global-shutter cameras, 12 cm baseline) for GPS-free motion and altitude estimation
- Custom Flutter ground station with the actual CAD-modeled airframe rendered live, PID tuning, a per-motor test mode, and built-in stereo calibration
- Prototyped the stereo pipeline in Unity before buying the physical cameras, to prove the approach out first
- Custom nylon airframe designed in Fusion 360, manufactured and sponsored by PCBWay
- 10 seconds of controlled flight demonstrated so far; altitude hold functional and being tuned
Repo: KattVis
A quadrotor built entirely from scratch with a live SAC reinforcement learning agent tuning roll-controller gains in real time and a Unity HDRP digital twin mirroring live telemetry.
- Custom ESP32 flight controller with cascaded PID, Madgwick AHRS, and biquad filters (250 Hz loop)
- Full wireless chain: Flutter app -> BLE -> Raspberry Pi -> LoRa -> ESP32 (+ direct BLE for RL)
- SAC RL agent tuning PID gains in real time on the physical drone, no sim-to-real transfer
- Custom single-axis test rig for safe RL training with live propellers
- Unity HDRP digital twin with Fusion 360 models, mirroring live IMU telemetry over UDP
- Winner of the Yale SEA Most Outstanding STEM Exhibit - Unga Forskare 2026 National Final (Sweden's Young Researchers national championship)
🏅 Official winners list (Swedish) (Drone Control System)
🗞️ Winners announcement with photos (LinkedIn) (Swedish)
"The project stands out through a very high level of technical ambition. The custom-built flight controller, the distributed communication chain, and the well-designed failsafe solution demonstrate a deep understanding of real-time systems, control theory, and system safety. The methodology is exemplarily clear and reproducible." - Translated research jury feedback, Unga Forskare 2026
"In this project, the team members refused to take any shortcuts whatsoever. By rejecting ready-made frameworks and instead building everything from scratch, from communication to software, this work has demonstrated a technical dedication beyond the ordinary." - Winners catalogue, Unga Forskare 2026 (translated) - Link (Swedish)
📰 Press: Hulebäcksgymnasiet news (Swedish), School video (Swedish), Local press (Swedish)
Repo: PidraQRL
Generates a playable Geometry Dash level from any song using beat detection and physics simulation.
- Analyzes audio to detect beats and uses them to drive level generation
- Cube mode simulates ballistic arc physics reverse-engineered from observed in-game behavior
- Wave mode generates a diagonal path with rails and ramps sampled by arc length
- Reverse-engineered the
.gmdformat used by the GDShare mod to write valid level files importable directly into GD - PyQt GUI with synchronized audio waveform and level geometry preview
Repo: GDForge
Software Developer - CPAC Systems - Recurring, 2021-2025
Five paid internships starting at age 15 across four years building internal tools and simulators in C#, Python, and Unity.
- Optimized a Unity simulator, doubling frame rate
- Built a Python diagnostics tool adopted by senior engineers for root cause analysis
- Built a license management service (HTML, CSS, JS)
- Developed machine simulations with custom mesh generation in Unity
- Refactored Perl codebases and worked on a web application (HTML, SCSS, TypeScript)
Embedded systems: C++, Arduino, PID control, IMU data filtering and handling, Fusion 360
Simulation & Graphics: Unity, C#, procedural generation (noise combining), Blender
Computer Vision: OpenCV, stereo vision, visual odometry, feature tracking, camera calibration
App: Flutter (dart), React, Python
AI: Reinforcement learning, YOLO, Torch, dataset generation
Languages: Swedish (native), English (fluent), French (basic)





