Wiznet makers

lawrence

Published September 14, 2026 ©

177 UCC

9 WCC

33 VAR

0 Contests

0 Followers

0 Following

Original Link

MAVLink Ethernet Bridge with WIZnet W5500 (raspberry-pi-pico-w5500-mavlink-bridge)

This project uses a Raspberry Pi Pico and WIZnet W5500 to extend a Flight Controller’s MAVLink communication over Ethernet.

COMPONENTS Hardware components

Raspberry Pi - Raspberry Pi Pico

x 1


WIZnet - W5500

x 1

Software Apps and online services

Arduino - Arduino IDE

x 1


PROJECT DESCRIPTION

MAVLink Ethernet Bridge with WIZnet W5500

Project Overview

In drones and autonomous robots, reliable communication is just as important as motor control. Data such as GPS position, speed, attitude, battery status, and mission information must be continuously exchanged between the vehicle and the Ground Control Station. This project uses a Raspberry Pi Pico and WIZnet W5500 to bridge MAVLink communication from a Flight Controller to Ethernet using UDP.
 wiring-diagram.png

The key idea is to extend UART-based communication into a standard IP network without making major changes to the existing Flight Controller.

What Are MAVLink and a Flight Controller?

MAVLink stands for Micro Air Vehicle Link and is a lightweight messaging protocol widely used in drones and robotics. In simple terms, it is a common language that allows a vehicle and external systems to exchange information. MAVLink can carry GPS position, altitude, speed, attitude, battery status, sensor data, mission information, waypoints, system status, and control commands. Ground Control Station software such as QGroundControl uses this data to monitor the vehicle and can also send missions or commands back to the Flight Controller.

Generated by AI

A Flight Controller is the embedded controller that acts as the brain of a drone or autonomous vehicle. It uses data from devices such as IMUs, GPS receivers, and barometers to determine the vehicle’s state and control motors or servos. Typical functions include attitude stabilization, GPS navigation, position hold, automatic takeoff and landing, waypoint navigation, mission execution, and failsafe handling. Platforms such as ArduPilot and PX4 are used not only in drones but also in rovers, UGVs, boats, and other autonomous vehicles, which means MAVLink is not limited to aerial applications.

MAVLink Protocol and Packet Format

MAVLink is a lightweight messaging protocol widely used in drones, robots, and autonomous vehicles. It allows Flight Controllers, Ground Control Stations, companion computers, and payload devices to exchange telemetry, commands, mission data, and system status information.

A MAVLink packet is composed of a header, message ID, payload, checksum, and optional signature.

FieldDescription
HeaderPacket length, sequence, system ID, component ID
Message IDDefines the type of MAVLink message
PayloadActual data such as GPS, attitude, battery, or command values
ChecksumDetects transmission errors
SignatureOptional authentication field in MAVLink 2

Typical MAVLink data includes HEARTBEAT for system status, ATTITUDE for roll/pitch/yaw, GLOBAL_POSITION_INT for GPS position, SYS_STATUS for battery and sensor state, and COMMAND_LONG for control commands.

In this project, the Raspberry Pi Pico does not decode each MAVLink message. It forwards the MAVLink byte stream directly between UART and UDP through the W5500, keeping the gateway simple while supporting a wide range of MAVLink messages.

Why Ethernet and W5500?

MAVLink from a Flight Controller is often available through UART, which works well for direct device-to-device communication. Ethernet changes the architecture by allowing the Flight Controller to become part of a standard IP network, making it easier to connect with PCs, servers, monitoring systems, and other gateways.

Web Interface
UART-Centered ConnectionEthernet-Based Connection
Direct device-to-device linkConnected to an IP network
Focused on local communicationCan communicate with PCs, servers, and gateways
Limited expansion optionsCan use existing network infrastructure
Best suited for point-to-point linksEasier to expand into monitoring and distributed systems

In this project, the W5500 acts as the key interface between the embedded controller and the network. It connects to the Raspberry Pi Pico over SPI and provides Ethernet connectivity for MAVLink UDP communication. The system also includes a web-based configuration interface, allowing users to change settings such as Device IP, Target IP, Gateway, UDP Port, and UART Baud Rate without rebuilding the firmware.

This is especially useful in environments where Wi-Fi is not always the best option, such as industrial facilities, laboratories, test benches, ground vehicles, or systems that require a stable wired network connection.

Applications and Scalability

This architecture is not limited to a single drone application. In UAV development, it can provide a wired telemetry link between the Flight Controller and Ground Control Station for development and testing. In autonomous rovers or UGVs, it can be used to send position, battery, and driving status to a control station. In industrial robots or inspection platforms, it can act as a gateway between the robot controller and an existing factory Ethernet network. In research environments, it can connect Flight Controller data to PCs, logging servers, and simulation tools for long-term testing and analysis.

From a broader perspective, the project is not simply about converting MAVLink to Ethernet. The more important idea is turning a UART-based embedded system into a network-connected device. That architecture can be expanded into central monitoring, fleet management, telemetry logging, remote control, edge gateways, simulation and digital twins, cloud integration, and industrial monitoring systems.

Expansion DirectionExample Application
Central MonitoringMonitor multiple robots from one dashboard
Fleet ManagementManage multiple drones, rovers, or UGVs
Data LoggingStore telemetry data on a server
Remote ControlControl vehicles over an IP network
Edge GatewayConnect embedded controllers to higher-level systems
Simulation / Digital TwinLink real vehicles with simulation platforms
Cloud IntegrationForward telemetry data to cloud services
Industrial MonitoringMonitor autonomous robots on a factory network

The same concept is also applicable beyond MAVLink. Sensors, motor controllers, measurement equipment, and industrial embedded devices that communicate through UART can be connected to Ethernet using a similar gateway architecture.

Comparison with Similar WIZnet Maker Projects

WIZnet Maker includes several projects that use the W5500 to connect embedded controllers to external networks. Three particularly relevant examples are Flight Control Unit, Canique Pico Gateway, and GLITCH-Software. Each one shares a different part of the architecture used in this project.

CategoryThis ProjectFlight Control UnitCanique Pico GatewayGLITCH-Software
Main PurposeMAVLink Ethernet BridgeFlight Control TelemetryIoT Sensor GatewayTelemetry & Telecommand
Main MCURaspberry Pi Pico / RP2040Teensy-class controllerRaspberry Pi Pico / RP2040ESP32 + FPGA
EthernetW5500W5500W5500W5500
Main DataMAVLinkIMU / FCU statusSensor dataFPGA telemetry
Network ProtocolUDPUDPMQTT / TCP / HTTPTCP
Web ConfigurationYesNot a main featureYesNot a main feature
Main ApplicationDrone / Rover / RoboticsFlight control researchIoT monitoringAerospace telemetry

Flight Control Unit is the closest example in terms of application area. It also uses W5500 and UDP in a flight-control environment, mainly to send FCU status and telemetry data to a PC or ground system. The main difference is that it focuses on observing and analyzing data generated inside the Flight Controller, while this project acts as a network gateway for an already existing MAVLink interface.

Canique Pico Gateway is the closest example in terms of hardware architecture because it also combines a Raspberry Pi Pico with W5500 and includes an embedded web interface. However, its purpose is closer to an IoT sensor gateway, while this project is designed as a robotics and vehicle communication gateway. The comparison shows how the same Pico + W5500 combination can be reused across very different industries.

GLITCH-Software is the closest example in terms of communication architecture. It receives telemetry data over UART and forwards it through W5500 to a Ground Station, while also supporting commands in the opposite direction. The overall gateway concept is very similar, but GLITCH uses its own telemetry data structure and TCP, whereas this project uses MAVLink and UDP, allowing direct integration with the drone and autonomous-vehicle ecosystem.

What Makes This Project Different?

The comparison makes the position of this project clearer. It shares the flight-control application domain with Flight Control Unit, the Raspberry Pi Pico + W5500 hardware platform with Canique Pico Gateway, and the bidirectional UART-to-Ethernet gateway architecture with GLITCH-Software.

This project combines all three aspects:

RP2040 + W5500 Hardware + UART-to-Ethernet Gateway + MAVLink / Autonomous Vehicle Application

A particularly important difference is direct compatibility with QGroundControl. This means the project is not only a network communication demo, but a practical gateway that can operate inside an existing drone and robotics software ecosystem.

Documents
Comments Write