Skip to main content

Sky-High Data: Architecting a Mechatronic System for Environmental UAVs

Ground software and RTOS architecture for an amphibious environmental UAV: serial control of acquisition plans and pantograph commands, plus FreeRTOS design handed off for implementation.

Sky-High Data: Architecting a Mechatronic System for Environmental UAVs

Environmental monitoring is changing rapidly with unmanned aerial vehicles (UAVs). I worked on a specialized amphibious UAV platform built for georeferenced water sampling and real-time chemical analysis in rivers and open basins. The mechatronics, airframe, and much of the onboard electronics were developed by others; my contribution was focused on ground-side software and on how the embedded stack should be structured.

The Amphibious Mechatronic Challenge
#

Unlike camera-only drones, this UAV had to land on water, operate against river currents up to 2 m/s, and interact with the environment physically.

The platform centered on an IP43-rated 8-rotor coaxial drone with a custom dual-board payload on ARM Cortex-M4 MCUs:

  • Main Board: point-to-point 2.4 GHz datalink to the ground station, telemetry logging, and Dead Reckoning with a dedicated IMU/GNSS for position and attitude when GPS was degraded or lost.
  • Slave Board: mechatronic control of the sampling framework over an RS485 field bus.

Robotic Arms and Fluidics (System Context)
#

The vehicle carried a motorized pantograph arm to lower a multi-parameter water probe (pH, dissolved oxygen, turbidity, and more) to about 1.25 m below the surface, mechanically compensating for pitch while floating so the probe stayed vertical.

For deeper water, an automated winch could lower a Van Dorn bottle to about 30 m, with servo messenger release and a thermal wire-cutting fail-safe for entanglement. An onboard fluidic path (micro-pump, flow meter, solenoid manifold) supported rinsing (“avvinamento”) before filling onboard vessels to limit cross-contamination.

That complexity sat outside my direct design work; it is the context in which the tools I built had to operate reliably.

What I Built: Electron, Vue.js, and Serial Control
#

I designed and implemented a desktop application with Electron and Vue.js that talked to the hardware over a serial link. Operators used it to:

  • define and generate acquisition plans (how and when sampling should run), and
  • send commands to the drone’s pantograph and related acquisition workflow.

The app was the operator-facing bridge between mission intent and the mechatronic payload, not the flight stack itself.

RTOS Architecture: Definition vs Implementation
#

I also defined the software architecture for the onboard firmware around an RTOS—FreeRTOS in this project—including how tasks, communication, and timing boundaries should be split so flight-adjacent logic, sampling, and I/O could coexist predictably.

The actual FreeRTOS-based implementation was carried out by a third-party team; my role was architectural specification and alignment with the ground tool and serial protocol.

Outcome
#

The result, as a system, was flight dynamics, robotics, and fluidics working together for automated environmental workflows. On my side, the deliverable was clear ground tooling and a documented RTOS-shaped architecture that another group could implement without ambiguity.

Previous entry

Extract timesheet from iCal