Skip to product information
1 of 13

MicoAir

MicoAir MicoVIO Visual-Inertial Odometry (VIO) Sensor — GPS-Free Position, Velocity & Attitude for ArduPilot / PX4

MicoAir MicoVIO Visual-Inertial Odometry (VIO) Sensor — GPS-Free Position, Velocity & Attitude for ArduPilot / PX4

Pre-order by email
Shipping calculated at checkout.

🗓 Coming soon — first batch expected late October to mid-November 2026 · reserve by email, nothing is charged until it ships · 🇨🇦 Canada: free shipping · 30-day returns

Coming soon — first batch expected late October to mid-November 2026

This product cannot be added to the cart yet. Reserve yours by email: tell us the quantity and we will confirm the shipping date. Nothing is charged until your order ships.

Reserve by email — info@robofusion.net

📘 Documentation & Guides

🗓 Coming soon — first batch expected to reach our warehouse late October to mid-November 2026. This page is live for reference and the cart stays closed until stock arrives. To reserve a MicoVIO, email info@robofusion.net with the quantity you need. We reply with availability, the expected ship date and ordering details; nothing is charged until your order ships. Business and volume buyers: mention your quantity in the same message.

Overview

The MicoAir MicoVIO is a visual-inertial odometry (VIO) sensor: a global-shutter camera, an IMU and a ToF rangefinder in one 16-gram aluminium module, with all the processing done on board. It streams the aircraft's relative position, 3-axis velocity and attitude to the flight controller as standard MAVLink 2 ODOMETRY messages, so an ArduPilot (4.5.2 or newer) or PX4 drone can hover and hold position with no GPS at all — indoors, under bridges, in tunnels and warehouses — and, on firmware that supports external-navigation missions, fly waypoints and return to launch.

No companion computer. Until now, VIO on an open-source drone meant either a stereo camera (Intel RealSense D435) plus a Raspberry Pi or Jetson running ROS, or the discontinued RealSense T265 plus a computer to bridge its pose into MAVLink — several hundred dollars, well over 100 g of hardware and cabling, and days of integration either way. MicoVIO does the whole job inside one 16 g module and talks to the flight controller like a GPS does: one 4-pin UART cable, standard MAVLink 2, a handful of parameters. A 3-inch quad can carry it.

MicoAir quotes a typical trajectory error of 1 % of distance flown. In its outdoor tests against RTK ground truth, the RMS trajectory error over 136 m and 141 m flights was 0.73 m and 0.70 m — about 0.5 % of distance. That is a track-level statistic, not an end-point or landing guarantee; results depend on texture, light and flight profile.

Why VIO is not "a better optical flow sensor"

An optical flow sensor watches the ground slide across a tiny camera and gives the flight controller a horizontal velocity. Position is then integrated from that velocity, so it drifts over time, and flow quality collapses when the aircraft yaws fast or climbs too high. Visual-inertial odometry tracks hundreds of visual features from frame to frame, predicts the motion between frames with the IMU, and solves for the full 6-degree-of-freedom pose — position, velocity and heading. MicoVIO adds local loop closure: it re-matches the current view against recent frames so a hover stays on its tile instead of slowly touring the room. Optical flow remains the right choice for the lightest indoor hover; choose VIO when you need a position.

Key features

  • Standalone — the entire VIO pipeline in 16 g, no companion computer — replaces the camera-plus-computer stack (RealSense D435 + Raspberry Pi/Jetson + ROS, or a T265 plus its MAVLink bridge) with one module and one UART cable; nothing to install, calibrate or power separately
  • True position output — relative position, velocity and attitude over MAVLink 2 (ODOMETRY #331), plus height above ground (DISTANCE_SENSOR #132)
  • 1 % typical trajectory error (manufacturer figure); 40 Hz update (38–60 Hz); rated to 10 m/s at 2 m height
  • Specified for hard lighting — large-format global-shutter HDR sensor and fast lens, rated from > 1 lux, in bright sun, on low-texture and reflective floors and through hard light changes (MicoAir specification; see operating limits in the manual)
  • Stays locked through spins — IMU-aided tracking rated to 300°/s and 60° tilt
  • Local loop closure on by default — suppresses drift for a steady hover without affecting dynamic flight
  • Integrated ToF rangefinder — 0.02–12 m (about 8 m in full sun) at 43 Hz; initialises from 1 cm above ground; visual tracking rated to 30 m
  • Tiny — 29.5 × 29.5 × 15 mm, 16 g, 5 V at about 1 W; boots in about 12 s
  • Browser setup — live data, parameters and firmware updates over USB-C with MicoAssistant, no driver needed

Specifications

Method Visual-inertial fusion of camera + IMU, ToF rangefinder for height and scale
Output Relative position, 3-axis velocity, attitude, height above ground, positioning quality
Trajectory error 1 % typical (3D ATE RMSE ÷ path length; a trajectory-level figure that varies with environment and motion)
VIO update rate 40 Hz typical (38–60 Hz, scene dependent)
Tracking speed 10 m/s typical at 2 m above ground
Max VIO working height 30 m (depends on texture, light and surface)
Min. initialisation height 1 cm (the height from which initialisation is allowed — not a ranging-accuracy figure)
Max working tilt / angular rate 60° / 300°/s
Local loop closure On by default
Boot time ≈ 12 s to first data
Lens FOV 120° diagonal
Illumination > 1 lux
ToF range / rate 0.02–12 m (12 m indoors or overcast, ≈ 8 m in bright sun) / 43 Hz
Protocol MAVLink 2 — ODOMETRY (#331), DISTANCE_SENSOR (#132)
Serial 3.3 V LVTTL UART, 921600 baud, 8N1
Connectors GH1.25-4P (GND · VCC · RX · TX) + USB Type-C
Power 5 V, ≈ 200 mA average, ≈ 1 W
Size / weight 29.5 × 29.5 × 15 mm / 16 g
Mounting Facing down, arrow toward the nose
Firmware ArduPilot ≥ 4.5.2 · PX4
Not yet published by MicoAir Operating temperature, ingress protection, input-voltage tolerance / peak current, output latency, lock-loss behaviour, mounting-hole pattern — we will add them when the datasheet is updated

Compatibility

  • ArduPilot 4.5.2 or newer and PX4, on flight controllers whose firmware includes external-vision support. H7 boards such as the MicoAir H743 V2, the H743 AIO and the NxtPX4 V2 qualify. MicoAir's own screenshots show ArduCopter 4.7.0 and PX4 v1.17.0 on MicoAir 743-series boards.
  • Most F405 boards are not supported: ArduPilot builds for boards with less than 2 MB of flash normally leave the visual-odometry library out.
  • Not for INAV or Betaflight — they have no external-navigation input. For those, use an optical flow sensor.

In the box

  • MicoVIO module × 1
  • GH1.25-4P → SH1.0-4P cable, 20 cm × 1 — MicoAir 743-series flight controllers
  • GH1.25-4P → MX1.25-6P cable, 20 cm × 1 — Pixhawk 1 / Pixhawk 2 (Cube)
  • GH1.25-4P → GH1.25-6P cable, 20 cm × 1 — Pixhawk 4 / 5 / 6

Setup in brief

  1. Mount the module facing straight down, arrow toward the nose, as rigidly as the flight controller.
  2. Wire GND, 5 V, and cross RX/TX to any free UART.
  3. ArduPilot: set the port to MAVLink 2 at 921600, VISO_TYPE 3, RNGFND1_TYPE 10, EKF3 sources to ExternalNav (position/velocity/yaw) and RangeFinder (height). PX4: MAVLink port in Onboard mode at 921600, EKF2_EV_CTRL 9, EKF2_HGT_REF 2.
  4. With no GPS the EKF has no origin: on ArduPilot set it after every boot (Mission Planner → right-click the map → Set EKF Origin Here) before arming.
  5. Confirm the flight controller is using the external navigation data (the sensor's messages are not forwarded to your ground station, so check the EKF status, not the MAVLink inspector), then hover in Loiter / Position mode over a textured floor.

Every parameter, with notes for ArduPilot 4.6 vs 4.7 and the serial-port vs MAVLink-channel numbering, is in the MicoVIO user manual.

FAQ

Does it need a companion computer or ROS? No — everything runs inside the 16 g module, which is the whole point. Traditional VIO on an open-source drone means a RealSense D435 plus a Raspberry Pi or Jetson running ROS, or a T265 plus a computer bridging its pose into MAVLink. MicoVIO is a UART device speaking MAVLink 2; the flight controller treats it as an external navigation source, exactly like a motion-capture system or a VOXL.

Is it an obstacle-avoidance or mapping system? No. It outputs the aircraft's own position, velocity and attitude plus the height below it. It does not detect obstacles, export a map, stream images or relocalise across power cycles, and MicoAir has not published an SDK or ROS driver for it. Obstacle avoidance needs separate sensors.

Does it work outdoors? Yes, with visual tracking rated to 30 m depending on texture and light; the ToF reaches about 8 m in full sun. Keep GPS-free flights within the ToF's working range until a tested procedure for higher flight is published. It is relative positioning, so for absolute centimetre accuracy outdoors pair it with RTK.

Does it work in the dark? Rated from about 1 lux. For total darkness add a downward light.

Can it replace my MTF-01? If you only need a steadier indoor hover on a small aircraft, the MTF-01 is lighter and cheaper. If you need a position — repeatable paths, indoor waypoints, GPS-free return-to-launch on supporting firmware — MicoVIO is the sensor for the job.

When does it ship, and how do I order? The first North American batch is expected to reach our warehouse between late October and mid-November 2026; orders ship after it arrives. Reserve by emailing info@robofusion.net with your quantity — we confirm by return email, and nothing is charged until it ships. Volume and business purchasing is handled the same way.

Support

Questions before or after purchase: support@robofusion.net — we reply within 24 hours on business days (excluding public holidays). 3-month hardware warranty; 30-day returns for unused items in original packaging, with dead-on-arrival units replaced or refunded at our cost — see the refund policy.

View full details