/* ── GoatTracking ── */
Mechanical Systems Engineer
Designing systems that move — through water, air, and the digital world.
About
MSc Aerospace Engineer specialising in the design and integration of complex physical systems — spanning low-speed fluid dynamics, UAV architecture, and underwater marine robotics.
Currently building miniROV, an open-source tethered ROV with a locally-hosted LLM control pipeline.
Projects
Tethered underwater ROV with LLM-assisted supervised autonomy for UK coastal and lake deployments. Natural language commands → Ollama (qwen2.5:14b) → structured JSON → pymavlink → ArduSub. Manual override retained at all times.
System Architecture
Two-node topology over a 50 m tether. Topside: Apple M4 Pro running Ollama locally and a Python minirov-brain agent for command arbitration and safety envelopes. Subsea: Raspberry Pi 5 running ArduSub via Blue Robotics Navigator Hat, driving 4× T200 thrusters. Zero cloud dependency in the inference loop.
NL → MAVLink Pipeline
Specifications
| Topside Compute | Apple M4 Pro (Ollama local) |
| Subsea Compute | Raspberry Pi 5 |
| Flight Controller | Blue Robotics Navigator Hat |
| Firmware | ArduSub Stable-4.1 |
| Thrusters | 4× Blue Robotics T200 |
| Tether | 50 m (comms + power) |
| LLM | qwen2.5:14b via Ollama |
| Interface | pymavlink RC override |
| Simulation | ArduSub SITL |
| Target | UK coastal & lake |
Development Phases
Fully deployable buoyancy-driven glider platform fitted with a NaI nuclear scintillator for oceanic radiation mapping. Designed end-to-end in OnShape — watertight acrylic enclosure, NEMA-17 leadscrew buoyancy engine, centre-of-mass shifter — fabricated, assembled, and tested in a small water enclosure.
Design Rationale
Gliders offer far greater endurance-to-cost than propeller-driven AUVs. Gamma rays attenuate rapidly in seawater — peak contamination concentrations occur in the upper water column, making a shallow-survey glider the right platform for radiation mapping. The design minimised acoustic signature to protect scintillator SNR, and prioritised deployability without specialist equipment.
System Overview
| Enclosure | Cast acrylic tube, 4″ (Ø114.3 mm) |
| End caps | Aluminium 6061-T6, Type III anodised |
| Hydrofoils | Laser-cut acrylic, Al + SLA mounts |
| Electronics | Arduino Uno + stepper motor drivers |
| Power | 12 V LiPo 550 mAh |
| Payload | NaI scintillator + NanoPi |
| CAD | OnShape — full assembly drawings |
Buoyancy Engine
A NEMA-17 stepper + T8 stainless leadscrew drives a BD Plastipak syringe plunger, modulating displaced volume to control buoyancy. SLA-printed support plates constrain the syringe body on 6 mm carbon fibre rails. The Arduino control loop reads a depth/pressure target, steps the motor to the required syringe position, and holds. Feedback integration with a pressure sensor is a planned next step.
Buoyancy engine bench test — Arduino Uno, NI ELVIS III, dual-syringe prototype
Full assembly — buoyancy engine (left) and CoM shifter (right) both visible
Centre-of-Mass Shifter
A second NEMA-17 + leadscrew mechanism translates the battery pack longitudinally within the hull, trimming pitch attitude. This eliminates the need for external control surfaces and their associated drag. By commanding both leadscrews — buoyancy for depth rate, CoM for pitch angle — the glider executes a sawtooth dive/climb trajectory, converting vertical motion to forward glide via the fixed hydrofoils.
Sensing Payload & Water Enclosure Test
The payload integrates a NaI scintillator for in-situ gamma detection, feeding a NanoPi onboard computer. Measurements are timestamped against GPS fix and pressure-derived depth, producing depth-resolved radiation maps. Buoyancy and sealing were validated in a small water enclosure — the hull held pressure and the buoyancy engine cycled correctly through dive and ascent commands.
Water enclosure test — buoyancy validation, no hydrofoils fitted
Lessons & Next Steps
Flat-plate wings to be replaced with a symmetrical thin hydrofoil planform for improved glide ratio. Syringe/stepper buoyancy engine to be replaced with a compact higher-force actuator. Pressure sensor + IMU required to close the depth/pitch feedback loop properly. Roll control mechanism to be designed and added.
Custom tricopter UAV with servo-actuated thrust vectoring yaw — eliminating the counter-rotor — and an in-house electromagnetic pickup/release mechanism for 150 g vaccine payload delivery at 15-minute loaded endurance.
Top-down bench view — FC, ESCs, vectoring servo mount visible
Yaw Control Architecture
The aft rotor is mounted on a servo-driven vectoring mount, rotating ±30° to generate yaw torque — no counter-rotating propeller pair required. This avoids the weight and drag penalty of a fourth motor while retaining payload-fraction efficiency. The mount was tuned to minimise cross-coupling with roll and pitch channels.
Design Challenges
The vectoring mount introduces PID tuning complexity — aft rotor thrust vector rotation affects pitch authority at servo travel extremes, requiring mechanical travel limits and gain scheduling to prevent attitude excursions under payload. Endurance vs. payload fraction drove motor and propeller selection throughout.
Payload Delivery Mechanism
In-house latched electromagnet release activated via flight controller auxiliary channel. Sized for a standard vaccine cold-chain pack (150 g max). The latch mechanism was designed for field reliability under continuous vibration loading from all three rotors, with a positive retention force sufficient to prevent premature release in turbulence.
Pre-flight bench check — RC transmitter, vectoring aft arm visible
Specifications
| Configuration | Tricopter — 2 fixed + 1 vectored aft |
| Yaw mechanism | Servo-actuated thrust vector |
| Frame | Carbon fibre arms |
| Max payload | 150 g (vaccine delivery) |
| Endurance | 15 min (loaded) |
| Release | Latched EM — FC AUX output |
| Team size | 5 engineers |
CAD — Tricopter Layout
CAD render — frame geometry and arm layout
Aerothermal design lead for the lithium battery pack cooling system on a Formula Student electric vehicle. Modelled as forced convection through CFRP duct geometry — parametric sweep of inlet area, diffuser angle, and area ratio to locate the Pareto optimum between heat removal and aerodynamic drag.
Thermal Design Problem
Formula Student electric powertrains subject the battery pack to sustained high-discharge thermal loads during dynamic events. The constraint: extract sufficient heat from lithium cells using ram air only — no active cooling, no pumps, no added mass beyond the duct structure itself.
Aerothermal Modelling
Analytically modelled as internal forced convection over a parameterised finned battery module. Duct geometry swept across inlet area, diffuser half-angle, and area ratio — characterising Nusselt number, pressure recovery, and skin friction drag increment. The Pareto front between cooling performance and aerodynamic cost identified the design-point geometry for manufacture.
Specifications
| Vehicle class | Formula Student Electric |
| Cooling mechanism | Ram air forced convection (passive) |
| Analytical model | Internal forced convection parametric sweep |
| Optimisation | Drag vs. heat removal Pareto front |
| Role | Lead — aerothermal design |
Productivity app for couples — 200,000+ downloads worldwide. Co-founded and led product roadmap, UX architecture, and cross-platform engineering in Flutter for iOS and Android. Reactive architecture with real-time shared state between geographically separate users.
Scope
Co-founded and led across the full product lifecycle: market research → product definition → UX design → engineering → App Store / Play Store → growth. Led product roadmap, UX, and cross-platform engineering. Engineering systems thinking applied directly to consumer software product development at scale.
Architecture
Flutter for a single codebase across iOS and Android with native rendering performance. Reactive state management handles real-time shared state between two users on separate devices. Backend handles auth, data sync, and push notifications.
Scale
Specifications
| Framework | Flutter (Dart) |
| Platforms | iOS & Android |
| Architecture | Reactive, real-time sync |
| Role | Co-founder — product, design, engineering |
| Downloads | 200,000+ worldwide |
| Status | Live — ongoing |