Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Current Binary

Download the current version (MAVLink V2) from here: Firmware version 1.2.2

Download the legacy version (MAVLink V1) from here: Firmware version 1.1.1

ESP8266 WiFi Access Point and MavLink Bridge

Join the chat at

This was developed using a NodeMCU v2 Dev Kit as it conveniently provides a secondary UART for debugging. It has been tested with the ESP-01 shipped with the PixRacer and it is stable at 921600 baud.

The build enviroment is based on PlatformIO. Follow the instructions found here:!/get-started (only tested on Mac OS) for installing it but skip the platform init step as this has already been done, modified and it is included in this repository. In summary:

brew install platformio
git clone --recursive
cd mavesp8266
platformio run

When you run platformio run for the first time, it will download the toolchains and all necessary libraries automatically.

Useful commands:

  • platformio run - process/build all targets
  • platformio run -e esp12e - process/build just the ESP12e target (the NodeMcu v2, Adafruit HUZZAH, etc.)
  • platformio run -e esp12e -t upload - build and upload firmware to embedded board
  • platformio run -t clean - clean project (remove compiled files)

The resulting image(s) can be found in the directory .pioenvs created during the build process.

MavLink Submodule

The git clone --recursive above not only cloned the MavESP8266 repository but it also installed the dependent MavLink sub-module. To upated the module (when needed), use the command:

git submodule update --init

Wiring it up

User level (as well as wiring) instructions can be found here for px4 and here for ArduPilot

  • Resetting to Defaults: In case you change the parameters and get locked out of the module, all the parameters can be reset by bringing the GPIO02 pin low (Connect GPIO02 pin to GND pin).

MavLink Protocol

The MavESP8266 handles its own set of parameters and commands. Look at the PARAMETERS page for more information.

HTTP Protocol

There are some preliminary URLs that can be used for checking the WiFi Bridge status as well as updating firmware and changing parameters. You can find it here.


ESP8266 WiFi Access Point and MAVLink Bridge







No releases published


No packages published