Skip to content
View hannesgook's full-sized avatar
🚁
Building autonomous UAVs from scratch...
🚁
Building autonomous UAVs from scratch...

Block or report hannesgook

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
hannesgook/README.md

Hannes Göök

Typing SVG


About me

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.

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.

🏆 YSEA Award Winner (2026) – Received the Most Outstanding STEM Exhibit at the Unga Forskare National Final (Sweden's Championship for Young Researchers).


Projects

KattVis   2026 to present

A stereo-vision quadcopter built from scratch, flying without GPS or a barometer, using onboard stereo cameras and an IMU instead.

KattVis drone Flutter ground station
  • 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 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

Status: 10 seconds of controlled flight demonstrated so far. Altitude hold is functional and being tuned.


PidraQRL   2025 to 2026

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.

PidraQRL drone System setup
  • 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 at the Unga Forskare 2026 National Final.

What the jury said

"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)

Press and links


GDForge   2025 to 2026

Generates a playable Geometry Dash level from any song using beat detection and physics simulation.

GDForge GUI GDForge result
  • 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 .gmd format used by the GDShare mod to write valid level files importable directly into GD
  • PyQt GUI with synchronized audio waveform and level geometry preview


Work Experience

Software Developer, CPAC Systems · 2021 to 2025 (recurring)

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)

Tech Stack



Area Skills
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)

Pinned Loading

  1. pidraqrl pidraqrl Public

    Full-stack quadrotor from scratch: custom ESP32 flight controller, BLE/LoRa comms, Flutter app, live SAC RL agent tuning roll-controller gains in real time, and a Unity HDRP digital twin.

    ShaderLab 1

  2. gdforge gdforge Public

    Generates a playable Geometry Dash level from any song using beat detection and physics simulation.

    Python 1

  3. kattvis kattvis Public

    Stereo-vision, GPS-denied quadcopter built from scratch. Custom flight controller, onboard visual odometry, custom Flutter control app.