Skip to content
Early access openRev 0.1Robots in the lab 0001Local --:--:--
//Follow one flight

Inspection drone

A quadcopter that inspects a power line. It takes off from a dock beside the line, flies a planned route from pole to pole, holds position beside each pole while a stabilised camera photographs the insulators, and flies back to the dock before its battery reaches its reserve.

Step 1 of 8: Plan

Step 01 of 08, on the machine

Plan

On the dock before the flight, the companion computer hands the flight controller the day's mission: waypoints along the line, a stop beside each pole, and a geofence the aircraft must not leave. The flight controller checks its sensors, waits for a satellite fix, and refuses to arm until every check passes.

Why it is hard, and what is at work

A mission is only as good as the map it was planned on. A waypoint a few metres off beside a live line is a collision, and a geofence drawn too tight ends the flight halfway. The checks that refuse to arm are what keep a failing sensor on the ground.

Parts working at this step
  • Companion computer

    A Linux computer between the plates runs the mission software, talks to the flight controller over MAVLink, the autopilot's message protocol, stores the images, and carries the network link. It is the computer a fleet system enrolls.

  • Flight controller running PX4

    A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.

  • Satellite receiver and compass on a mast

    A satellite positioning (GNSS) receiver and a compass sit in a puck on a short mast above the frame, away from the motor currents. They tell the flight controller where the aircraft is and which way it points.

Step 02 of 08, on the machine

Take off

The flight controller arms the motors and spins them up together. The aircraft climbs straight up from the dock to its route height, holding its position over the dock as it climbs.

What it costs

The pack can deliver up to 90 A if it is two parallel strings of the listed cell, each rated for 45 A continuous. That is what the pack can supply, more than the motors draw; climbing and holding against wind are when they draw the most.

Derived from the Molicel INR-21700-P42A lithium-ion cell catalogue row

Why it is hard, and what is at work

Close to the ground, the propellers' own downwash comes back off the dock and rocks the aircraft. A motor that starts late, or a propeller fitted to the wrong motor, flips it before it leaves the ground. At about 600 W in flight, the aircraft draws about 28 A from the 21.6 V pack, well inside what the pack can deliver.

Parts working at this step
  • Motors, propellers, and speed controllers

    Four brushless motors turn fixed-pitch propellers, two clockwise and two anticlockwise. Each motor has its own electronic speed controller on its arm, which turns the flight controller's throttle command into motor current.

  • Battery and power module

    A pack of lithium-ion cells under the frame powers the motors and everything else. A power module between the pack and the aircraft measures voltage and current, so the flight controller knows how much charge is left.

  • Flight controller running PX4

    A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.

Step 03 of 08, on the machine

Fly the route

The aircraft follows the line to the next pole. Several hundred times a second, the flight controller reads its motion sensors and adjusts the four motors to hold its attitude against the wind. About a hundred times a second, it folds the satellite fix and the compass into its estimate of where it is, and steers to hold the route.

What it costs

About 2.5 ms for each pass of the fastest control loop if it runs 400 times a second: read the gyroscope and set the four motors, on every pass, without running late. The position estimate updates less often, about every 10 ms.

Estimate

Why it is hard, and what is at work

Beside a line, wind gusts and swirls round poles and trees, and every gust has to be answered within milliseconds. Near steel, the satellite fix and the compass can both go wrong at once. The flight controller has to stop trusting them, and its motion sensors alone hold the aircraft only for seconds before a failsafe lands it or turns it for home.

Parts working at this step
  • Flight controller running PX4

    A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.

  • Satellite receiver and compass on a mast

    A satellite positioning (GNSS) receiver and a compass sit in a puck on a short mast above the frame, away from the motor currents. They tell the flight controller where the aircraft is and which way it points.

  • Motors, propellers, and speed controllers

    Four brushless motors turn fixed-pitch propellers, two clockwise and two anticlockwise. Each motor has its own electronic speed controller on its arm, which turns the flight controller's throttle command into motor current.

Step 04 of 08, on the machine

Capture

Beside the pole, the aircraft holds its position and the gimbal turns the camera to each insulator in turn. The companion computer saves every image with the time, the aircraft's position, and the camera's angle, so it can be matched to this insulator on this pole later.

What it costs

A new thermal frame about every 115 ms, because the listed thermal module runs at 8.7 frames a second. At 5 m/s the aircraft moves about 57 cm between frames, which is why it holds still beside each pole.

Derived from the Teledyne FLIR Lepton 3.5 (500-0771-01) catalogue row

Why it is hard, and what is at work

A cracked insulator or a hot joint is a few centimetres across, seen from metres away by a camera on an aircraft that keeps moving. Hovering longer for a sharper picture costs battery at every pole on the route.

Parts working at this step
  • Gimbal camera

    A camera on a three-axis stabilised mount under the nose points at each insulator while the aircraft moves and tilts. An inspection camera often pairs a zoom camera with a thermal one, which shows a joint that runs hot.

  • Companion computer

    A Linux computer between the plates runs the mission software, talks to the flight controller over MAVLink, the autopilot's message protocol, stores the images, and carries the network link. It is the computer a fleet system enrolls.

Step 05 of 08, on the machine

Land

At the end of the route, or sooner if the battery reaches its reserve, the flight controller flies the aircraft back to the dock and lands it. The flight log and the images stay on the aircraft.

What it costs

181 Wh in a pack of 12 of the listed cells, six in series and two in parallel: 12 × 4.2 Ah × 3.6 V.

Derived from the Molicel INR-21700-P42A lithium-ion cell catalogue row

Why it is hard, and what is at work

The reserve has to cover the flight home from the farthest point, into the wind, with charge left over, and the battery's estimate is least reliable when the pack is cold and nearly empty. If the aircraft draws about 600 W in flight, the pack empties in about 18 minutes, and a flight plan keeps a reserve well above empty. The aircraft has to land on the dock to within centimetres, closer than a satellite fix can place it near the ground, so the last metre needs a precision-landing aid.

Parts working at this step
  • Flight controller running PX4

    A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.

  • Battery and power module

    A pack of lithium-ion cells under the frame powers the motors and everything else. A power module between the pack and the aircraft measures voltage and current, so the flight controller knows how much charge is left.

  • Frame, arms, and landing gear

    Two carbon plates hold the electronics between and on them. Four carbon arms carry the motors about 0.9 m apart across the diagonal, and two skids on legs keep the camera clear of the ground when the aircraft lands.

Step 06 of 08, across the fleet

Log

After landing, the flight log and the images come off the aircraft. The flight controller wrote the log to its SD card during the flight, and the images are on the companion computer. Across 1,000 aircraft, the flights produce more files every day than a team can open. Device to Cloud Flywheel does not collect PX4 flight logs itself. Its general route is to run a command on the companion computer, such as your own upload script, and return the output; the device agent runs it only when it was started with remote commands turned on.

What it costs

At best, the listed modem sends 50 Mbit/s, about 6 MB a second, so a flight that records about 15 GB of images takes at least 40 minutes to send.

Derived from the Sierra Wireless AirPrime MC7455 catalogue row

Device to Cloud Flywheel solution: A PX4 drone fleet

The fleet view shows 1,000 aircraft to show the problem at that size; Device to Cloud Flywheel has been run on fleets of single digits to low tens of devices.

Why it is hard, and what is at work

Logs and images are large, and they wait on the aircraft until its link has time to move them. When a log is overwritten or lost, the record that explains a crash can be the one that is gone.

Parts working at this step
  • Flight controller running PX4

    A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.

  • Companion computer

    A Linux computer between the plates runs the mission software, talks to the flight controller over MAVLink, the autopilot's message protocol, stores the images, and carries the network link. It is the computer a fleet system enrolls.

  • Telemetry radio and LTE modem

    A telemetry radio links the aircraft to the pilot's ground station. An LTE modem on the companion computer links it to the internet, for its status in flight and for its files after it lands.

Where Device to Cloud Flywheel fits: A PX4 drone fleet

Drones running PX4. Flights produce logs you want off the aircraft, and firmware and parameters you need to roll out without bricking a fleet.

Demo

embodiments/px4-drone/demo.sh

Needs a running stack, Go, uv, jq, curl, Docker, and the PX4 SITL image.

The demo script in the repository runs PX4's own flight firmware in a container, flying a simulated airframe (PX4 SITL, software in the loop). The fast tests use a MAVLink mock instead. No aircraft flies in either. To reach a real aircraft, set PX4_ENDPOINT to the aircraft's MAVLink URL instead of the SITL container's.

The repository is private while the first release lands, so this demo cannot be run from this page. Write to hello@devicetocloud.ai and we will tell you when it opens.

From the solution page. What the demo needs is read from its script.

Step 07 of 08, across the fleet

Learn

People review the flight: the images of each insulator, and in the log, anything the aircraft did that it should not have, such as a slow climb, a jump in position beside a pole, or a battery that sagged early. From that they prepare the next mission or a parameter change for the flight controller. In Device to Cloud Flywheel, the mission, the geofence, and the parameters are one declared section of each aircraft's desired state, kept with its history. Device to Cloud Flywheel reviews no images or logs and schedules no training.

What it costs

About 15 TB of images a day to look through if each of 1,000 aircraft flies one route a day and records about 15 GB.

Estimate

Device to Cloud Flywheel solution: A PX4 drone fleet

A second product, Device to Cloud Engineer, is an engineer agent that writes the device code a machine like this runs. It is in development, and there is nothing to try yet.

The fleet view shows 1,000 aircraft to show the problem at that size; Device to Cloud Flywheel has been run on fleets of single digits to low tens of devices.

Why it is hard, and what is at work

The defects worth finding are rare, and a change that fixes one aircraft's behaviour can harm another's, on a different frame or in different wind. The team has to know which aircraft, firmware, and parameters produced each log.

Where Device to Cloud Flywheel fits: A PX4 drone fleet

Drones running PX4. Flights produce logs you want off the aircraft, and firmware and parameters you need to roll out without bricking a fleet.

Demo

embodiments/px4-drone/demo.sh

Needs a running stack, Go, uv, jq, curl, Docker, and the PX4 SITL image.

The demo script in the repository runs PX4's own flight firmware in a container, flying a simulated airframe (PX4 SITL, software in the loop). The fast tests use a MAVLink mock instead. No aircraft flies in either. To reach a real aircraft, set PX4_ENDPOINT to the aircraft's MAVLink URL instead of the SITL container's.

The repository is private while the first release lands, so this demo cannot be run from this page. Write to hello@devicetocloud.ai and we will tell you when it opens.

From the solution page. What the demo needs is read from its script.

Step 08 of 08, across the fleet

Ship

A parameter change goes out as a rollout: one target applied to a group of aircraft in batches, with pause, resume, and rollback. On each aircraft, the device agent on the companion computer applies the parameters to the flight controller, and applying the same values again changes nothing. Flashing new flight controller firmware is not built into Device to Cloud Flywheel: parameters travel as desired state, and firmware does not.

What it costs

A parameter change is a few hundred bytes for each aircraft, so about 1 MB across 1,000 aircraft. A firmware release, which the team moves by its own route, is about 2 GB if the image is about 2 MB.

Estimate

Device to Cloud Flywheel solution: A PX4 drone fleet

The fleet view shows 1,000 aircraft to show the problem at that size; Device to Cloud Flywheel has been run on fleets of single digits to low tens of devices.

Why it is hard, and what is at work

A bad parameter file or firmware image can make every aircraft that takes it unstable in the air. That is why a change reaches a few aircraft first and flies there before it goes to the rest. When an aircraft may take a change is the team's rule to set, and Device to Cloud Flywheel does not decide it.

Parts working at this step
  • Flight controller running PX4

    A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.

  • Companion computer

    A Linux computer between the plates runs the mission software, talks to the flight controller over MAVLink, the autopilot's message protocol, stores the images, and carries the network link. It is the computer a fleet system enrolls.

  • Telemetry radio and LTE modem

    A telemetry radio links the aircraft to the pilot's ground station. An LTE modem on the companion computer links it to the internet, for its status in flight and for its files after it lands.

Where Device to Cloud Flywheel fits: A PX4 drone fleet

Drones running PX4. Flights produce logs you want off the aircraft, and firmware and parameters you need to roll out without bricking a fleet.

Demo

embodiments/px4-drone/demo.sh

Needs a running stack, Go, uv, jq, curl, Docker, and the PX4 SITL image.

The demo script in the repository runs PX4's own flight firmware in a container, flying a simulated airframe (PX4 SITL, software in the loop). The fast tests use a MAVLink mock instead. No aircraft flies in either. To reach a real aircraft, set PX4_ENDPOINT to the aircraft's MAVLink URL instead of the SITL container's.

The repository is private while the first release lands, so this demo cannot be run from this page. Write to hello@devicetocloud.ai and we will tell you when it opens.

From the solution page. What the demo needs is read from its script.

And back

Back to 01 Plan, with the new parameters

The aircraft plans its next flight and goes through the same steps, this time flying on the new parameters. Its next flight log shows whether the change did what the team expected.

On the machine
Across the fleet
And back
//Every part in the cycle

Each subsystem has its own way to fail.

The catalogue examples are representative parts taken from vendor datasheets and product pages, each linked to its source. They show the kind of component each subsystem uses and the numbers that matter for it. They are not a bill of materials, and nobody has checked that they work together.

PartWhat it doesWhy it is hardCatalogue examples
Frame, arms, and landing gearWorking at 05 landWhat it does. Two carbon plates hold the electronics between and on them. Four carbon arms carry the motors about 0.9 m apart across the diagonal, and two skids on legs keep the camera clear of the ground when the aircraft lands.Why it is hard. The frame has to be stiff and light at once. An arm that flexes or rings at the propellers' speed shakes the flight controller's motion sensors, and the controller then answers vibration instead of wind. Arms that fold for transport have to lock in the same place every time.Catalogue examples

The catalogue has no airframe, arm, or landing-gear row.

Motors, propellers, and speed controllersWorking at 02 take off, 03 fly the routeWhat it does. Four brushless motors turn fixed-pitch propellers, two clockwise and two anticlockwise. Each motor has its own electronic speed controller on its arm, which turns the flight controller's throttle command into motor current.Why it is hard. A quadcopter steers only by changing the speeds of its four motors, so every correction has to reach the propellers within milliseconds. When one motor or propeller fails, a four-rotor aircraft cannot stay level. A nick in one propeller shakes the whole aircraft.Catalogue examples

The catalogue has no drone motor, propeller, or speed-controller row. The rotary actuators it lists are robot joints.

Flight controller running PX4Working at 01 plan, 02 take off, 03 fly the route, 05 land, 06 log, 08 shipWhat it does. A small board with its own processor and motion sensors runs PX4, an open-source autopilot. It estimates where the aircraft is and how it is tilted, flies the mission it was given, and writes a flight log to its SD card as it flies.Why it is hard. Its control loop runs several hundred times a second and has to keep that pace. Corrections that arrive late, pass after pass, let a gust tip the aircraft further than it should, and enough of them can flip it. It has to fly safely on its own when every link to the ground drops, because a failsafe that depends on the link fails with it.Catalogue examples
accel range max 24 g · gyro range max 2,000 °/s · supply voltage 2.4 to 3.6 V

The BMI088 listed is a motion sensor of the kind a flight controller board carries. The catalogue has no flight controller board or processor row.

Satellite receiver and compass on a mastWorking at 01 plan, 03 fly the routeWhat it does. A satellite positioning (GNSS) receiver and a compass sit in a puck on a short mast above the frame, away from the motor currents. They tell the flight controller where the aircraft is and which way it points.Why it is hard. Near a steel pole, a tower, or a substation, satellite signals bounce and the position can jump by metres, and nearby steel pulls the compass off at the same time. The flight controller has to notice a fix it cannot trust and stop steering by it, instead of steering toward the error, and then hand over to a failsafe.Catalogue examples

The catalogue has no GNSS receiver or compass row. The LTE modem listed under the radios also carries a GNSS receiver; a flight controller uses its own.

Companion computerWorking at 01 plan, 04 capture, 06 log, 08 shipWhat it does. A Linux computer between the plates runs the mission software, talks to the flight controller over MAVLink, the autopilot's message protocol, stores the images, and carries the network link. It is the computer a fleet system enrolls.Why it is hard. It is an ordinary computer on an aircraft: it has to boot, keep time, and write files through vibration and power dips, and a crash in its software must not reach the flight controller. Anything it sends the autopilot is a command to an aircraft in flight.Catalogue examples
core 4 · core clock 2,400 MHz · memory 8 GB

A Raspberry Pi 5 is one common choice. It is specified for a 5 V, 5 A supply, up to 25 W, which on an aircraft comes out of the flight battery.

Gimbal cameraWorking at 04 captureWhat it does. A camera on a three-axis stabilised mount under the nose points at each insulator while the aircraft moves and tilts. An inspection camera often pairs a zoom camera with a thermal one, which shows a joint that runs hot.Why it is hard. The aircraft keeps moving: it tilts to hold its position in wind, and the mount has to cancel that so the picture stays sharp. An image is only useful with the position and angle it was taken from, so each one has to carry the flight controller's time and position.Catalogue examples
resolution 160 × 120 · netd 50 mK · fov horizontal 57 °

The Lepton 3.5 is a small radiometric thermal module, 160 by 120 pixels. Inspection gimbals usually carry a thermal core with more pixels; the catalogue has no such row, and no zoom camera or gimbal row.

Battery and power moduleWorking at 02 take off, 05 landWhat it does. A pack of lithium-ion cells under the frame powers the motors and everything else. A power module between the pack and the aircraft measures voltage and current, so the flight controller knows how much charge is left.Why it is hard. The motors take most of the power, and they take more in wind, with more weight, and in the cold. The flight controller has to keep enough charge to fly home into a headwind from the far end of the route. Voltage alone is a poor guide: it sags under load, recovers at rest, and falls off quickly near empty, so a pack can look healthy until it is suddenly low.Catalogue examples
capacity 4,200 mAh · nominal voltage 3.6 V · discharge current max 45 A
resolution 16 bit · bus voltage 36 V · supply voltage 2.7 to 5.5 V

The Molicel cell listed is a high-discharge 21700 cell of the kind lithium-ion flight packs are built from; many multirotors fly lithium-polymer packs instead. The INA226 is a current and voltage monitor of the kind a digital power module carries.

Telemetry radio and LTE modemWorking at 06 log, 08 shipWhat it does. A telemetry radio links the aircraft to the pilot's ground station. An LTE modem on the companion computer links it to the internet, for its status in flight and for its files after it lands.Why it is hard. Both links fade with distance, terrain, and the metal around the antennas, so the aircraft has to fly its mission safely with neither. High above the ground, an LTE modem hears many cell towers at once, which mobile networks are not planned for.Catalogue examples
downlink rate max 300 Mbit/s · uplink rate max 50 Mbit/s · transmit power 23 dBm

The catalogue has no telemetry radio row.

Remote ID and strobeWhat it does. A Remote ID module broadcasts the aircraft's identity and position to receivers nearby, and an anti-collision strobe makes the aircraft easier for other pilots to see.Why it is hard. Where the rules require Remote ID, an aircraft whose module is not broadcasting may not fly, so a failed module grounds it. The position it broadcasts has to agree with the one the flight controller flies on.Catalogue examples

The catalogue has no Remote ID or strobe row.

The drawing is illustrative, not a validated design. Costs marked estimate are estimates; the others are worked out from the catalogue part named under them.

//Where to start

The fleet half of this machine, as Device to Cloud Flywheel solutions.

  • A PX4 drone fleet

    Drones running PX4. Flights produce logs you want off the aircraft, and firmware and parameters you need to roll out without bricking a fleet.

    docs/solutions/drone-fleet.md (opens when the code is published)

    In the cycle at 06 log, 07 learn, 08 ship.

The solution page has no section that separates measured results from claims, so nothing on this page is quoted as measured.

These pages live in the Device to Cloud Flywheel repository, which is private while the first release lands. Write to hello@devicetocloud.ai for access, and we will tell you when it opens.

//Where we help

Building one? Device to Cloud Flywheel is the software for the fleet half of this loop, from the first aircraft on.

Log, Learn, and Ship: the steps after the machine works. The flywheel moves the data and the releases for every machine you have; what to train on and when to ship stay your team's call.