| Crates.io | arducap |
| lib.rs | arducap |
| version | 0.2.0 |
| created_at | 2026-01-17 02:11:18.781855+00 |
| updated_at | 2026-01-17 02:11:18.781855+00 |
| description | A CLI tool to convert ArduPilot Dataflash logs (.bin) to Foxglove MCAP files. |
| homepage | |
| repository | https://github.com/swarmis-us/arducap |
| max_upload_size | |
| id | 2049750 |
| size | 42,938 |
This is a pure rust command-line utility to convert the Ardupilot binary log ("Dataflash log") to Foxglove's MCAP format.
In addition to /ardupilot topics, it attempts to emit up to three foxglove-specific topics:
With these topics, Foxglove's Map panel and 3D panel can work out of the box.
cargo install arducap
arducap <bin_file1>...
This will create .mcap files alongside the original .bin files, named similarly.
WARNING: if an .mcap with that name exists, it will be overwritten!
What started as a hands-on study of formats, ended up a utility for our friend to review his ardupilot logs in the awesome Foxglove UI :)
reader::ArduReader reads the ardupilot log using the binrw crate, emitting reader::ArduFrame enums (either a message definition, a message, or an EOF).
implementations of transformers::Transformer trait convert these ArduFrame instances into transformers::TransformedMessage
the pipeline::process_ardupilot_file function orchestrates everything, creates MCAP channels and writes messages to them, using serde_json schemas and messages
despite bloated json format, Zstd compression, enabled by default, makes things ok.
"swarm is us" created this project as a modest contribution to the open-source roboticist community.
We are not affiliated with Foxglove, Ardupilot project, or any of the dependency crates.
We will entertain them! Create requests on github to start a conversation.
The project is open-source, publicly hosted here: https://github.com/swarmis-us/arducap We will gladly accept well-written PRs.
The message transformation has been specifically designed to add more conversions.
See transformers.rs -- all it takes is implementing Transformer trait and then registering it in the pipeline.rs, alongside other transformers.
This software is provided AS IS, without any warranties of any kind. Use it at your own risk.