[Project] MAVLink gRPC Bridge - Seeking Feedback

I’ve been working on a MAVLink to gRPC bridge and would love to get your feedback: GitHub Repository

It’s a C++ bridge that exposes MAVLink messages over gRPC, making it easier to build applications in different languages (Python, Go, JavaScript, etc.) without implementing MAVLink parsing. Supports bidirectional streaming, multiple clients, message filtering, and UDP/Serial transports.

All proto-message definitions and MAVLink<=>gRPC message conversion functions are generating completely automatically from MAVLink message definitions in XML format by the generator software I developed in Python using Ninja2.

I’m curious if this approach is useful for real-world scenarios, and what features would make it more practical. Are there specific capabilities you’d want to see? Any architectural or performance concerns I should address?

The GitHub repository includes Python and node.js example if you want to try it out. All feedback and suggestions are very welcome!

In my LinkedIn Post, you can see a working version of the MAVLink Inspector tool (same as QGroundControl) built on the web with Node.js. Screenshot:

I’m sharing this because I think I’m in the right place to share and get feedback. Thanks!

Cool, thanks for sharing.

By the way, as an alternative, you can also access all MAVLink messages over gRPC via MAVSDK and the mavsdk_server, however, it’s in JSON, so not strongly typed as your solution.

Very nice. Id be interested in using that. Ive been using GoMavLib which works, but I was wondering about gRPC myself. Thanks for building this.

Thank you for your reply. I’m glad you’re interested. I look forward to hearing from you about your work.