Building intelligent systems at the intersection of robotics, hardware, and data. Currently pursuing an Erasmus Mundus Master in Smart Systems across Finland, Norway & Hungary.
Autonomous UAV pipeline for orchard monitoring tested in a digital twin of a real orchard. YOLOv7 detection, waypoint navigation, and georeferenced per-tree apple counting.
A modular mechanical model of planetary motion where each planet can be studied independently. Built with 3D-printed and laser-cut components controlled by Arduino.
Sensor-based wearable prototype detecting early signs of Parkinson's disease using grip strength and finger-tapping clinical tests.
Three-layer data lake integrating 6 data sources, processing 100+ GB with Delta Lake on Amazon EMR. Featured in an official AWS Brazil blog post.
Autonomous robot navigating a maze to detect and extinguish a live flame. Led CAD design, 3D printing, and Arduino embedded logic.
Open to research, engineering, and data roles — especially in robotics, embedded systems, or intelligent infrastructure.
An autonomous UAV pipeline for orchard monitoring — built and validated in a digital twin of a real apple orchard using Unreal Engine and AirSim. Covers waypoint navigation, YOLOv7 apple detection, multi-object tracking, and georeferenced per-tree counting.
Manual apple counting is labour-intensive, inconsistent, and unscalable across commercial orchards. Growers need accurate fruit estimates to plan harvest logistics, but walking every row and counting by hand is impractical at scale.
This project builds an autonomous UAV pipeline that flies along orchard rows, detects individual apples using deep learning, and produces a georeferenced per-tree apple count — without any manual intervention during the flight.
The full pipeline was developed and tested in a simulated replica of a real apple orchard, built in Unreal Engine with AirSim as the flight simulator. Tree positions were GPS-matched from a real orchard dataset — creating a digital twin that reflects actual spatial layout and canopy density. The DJI Mavic 3T (thermal + RGB) was the target real-world platform.
The UAV follows programmed waypoint paths running parallel to each tree row, with the camera oriented perpendicular — giving the detector a lateral view that exposes fruit that would be occluded in a top-down (nadir) pass. Flight altitude and inter-waypoint spacing were tuned to balance detection coverage against flight time.
Tree-facing flight paths: Rather than flying overhead, the UAV navigates at canopy height alongside each row. This lateral viewing angle dramatically improves fruit visibility compared to standard nadir surveys.
A YOLOv7 model was fine-tuned for apple detection on simulation frames, outputting bounding boxes and confidence scores per frame. Multi-object tracking was applied across frames to avoid double-counting the same fruit as the drone passes by. Each tracked detection was assigned a GPS coordinate from the drone's pose at detection time, producing a georeferenced apple map per tree.
The pipeline was validated against the simulated orchard where each tree has a known ground-truth apple count of 8. The per-tree apple count distribution tracked closely around the expected value, with the majority of trees detected within ±3 apples of ground truth across 160+ trees in the orchard.
Ongoing master's thesis — results and methodology will be refined through the 2026 academic year.
A modular mechanical orrery where each planet's translation, rotation, axial tilt, and satellite orbit can be studied independently — designed for STEAM education, with mathematically scaled dimensions and orbital periods.
Traditional solar system models are fixed — they show one configuration and can't be adapted to focus on a single planet or its satellite. For STEAM education this limits how teachers can use them interactively in class.
The goal was a modular system: the structure physically adapts depending on which planet is being studied, and each planet's orbital mechanics — translation, rotation, axial tilt, and satellite revolution — can be explored in isolation.
Rather than arbitrary proportions, the system uses a base-10 logarithmic scale for planet diameters (so Jupiter at 51.6 mm and Mercury at 36.9 mm remain visually distinct) and a separate log scale for orbital distances — placing Mercury at ~100 mm and Neptune at ~200 mm from the central lamp. Orbital and rotation speeds are derived from real astronomical data, scaled so Jupiter's rotation period sets the maximum motor speed.
Each planet module uses a stepper motor for rotation, two micro-servo motors for axial tilt and satellite orbit inclination, and a ring gear driven by the satellite servo inside a compact planetary housing (Caixa Planetária). The satellite arm mounts on the ring and stays synchronized — always showing the same face toward the planet, reproducing synchronous rotation. All components were modelled in Autodesk Inventor, then fabricated via 3D printing (PLA) and laser-cut acrylic/MDF at the Laboratório Aberto de Brasília.
The three assemblies below show every modelled component: the main shaft and translation arm, the planetary support structure, and the full planet + satellite mechanism.
An Arduino Uno manages 4 motors simultaneously — a stepper for planetary rotation, a stepper for satellite revolution, and two servos for axial tilt and orbital inclination. Slip rings (anéis coletores) at rotation joints prevent wire tangling during full translation. Speed ratios are calculated from real astronomical data so each planet runs at its correct relative period.
Key challenge: The translation servo had only a 180° range, so the firmware automatically returns to the start position and continues, allowing continuous orbital demonstration within that constraint.
The first version was tested with Mercury, Venus, and Earth + Moon. All seven motion requirements were met — translation, rotation, axial tilt, satellite revolution, synchronous satellite rotation, direction-locked translation plane, and easy planet swap — except continuous translation (limited by the servo range, handled in firmware).
A sensor-based health monitoring prototype using grip strength and finger-tapping tests — two validated clinical assessments — to detect early signs of Parkinson's disease.
Parkinson's disease is typically diagnosed years after neurodegeneration has begun. Two of the earliest detectable symptoms — changes in grip strength and finger-tapping speed — are measurable non-invasively with the right hardware. Vitacheck aims to make these clinical tests accessible outside a hospital setting.
The system has two main components: a 3D-printed grip force sensor housing (MA-100 force cell) that the patient squeezes, and a tablet running the Vitacheck app. A second test asks the patient to tap a screen as fast as possible — a digitized version of the standard clinical finger-tapping test. Both signals are processed in real time with metrics displayed live in the GUI.
Design principle: The experience had to be intuitive for both patients and clinicians — the GUI was designed around the clinical workflow, not the engineering stack.
Three-layer data lake integrating 6 heterogeneous data sources, processing 100+ GB of insurance data — featured in an official AWS Brazil publication.
The platform follows a three-zone pattern: Raw Zone (exact source replicas), Staging Zone (cleaned, deduplicated), and Curated Zone (business-ready tables). CDC ingestion via AWS DMS; all processing on Amazon EMR with Delta Lake — enabling ACID transactions, upserts, schema evolution, and time-travel queries.
Scale: 100+ GB processed across Raw → Staging → Curated, fully orchestrated by AWS Step Functions.
Gave every business unit at AKAD access to clean, versioned, queryable data for the first time. One measurable outcome: reduced cargo insurance loss ratios. Featured in an official AWS Brazil blog post, credited as co-author alongside the AI Engineering Manager and AWS Solutions Architects.
An autonomous robot that navigates a maze-like arena, detects a live candle flame, and extinguishes it — built for the Trinity College International Firefighting Home Robot Contest.
The Trinity College Firefighting Robot Contest places autonomous robots in a house-like maze. When an alarm triggers, the robot must navigate from its starting position, locate a lit candle, and extinguish it — all without human intervention. The arena layout is unknown in advance.
Led structural CAD modeling in Autodesk Inventor, then fabricated components via 3D printing and aluminium profile framing. Arduino-based embedded logic handled ultrasonic wall-following navigation, flame sensor array direction finding, and motor control for drive and the extinguisher mechanism.
Creative solution: A sealed bird water feeder was repurposed as the on-board water container — leak-proof, lightweight, and electronics-safe.