Skip to content
joebarteam edited this page Aug 18, 2015 · 4 revisions

Mavlink-to-GoPro

Running on a simple and very cheap ESP8266 (12E) this project can control and/or monitor a GoPro action cam via WiFi (the ESP8266 WiFi connection) and exchange commands or status info using the mavlink protocol widely used on 'drones'.

Installation

Donwload the latest arduino IDE and include the ESP8266 in the boardmanager;

Installing with Boards Manager

Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).

Install Arduino 1.6.5 from the Arduino website. Start Arduino and open Preferences window. Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas. Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).

Flash the code

Connect a 3.3V!!! FTDI interface to the RX/TX pins (the TX1 is debug serial 115200 bps), short the FLASH pins or press the button when you installed that, connect the 5V power and upload the sketch to the ESP8266. Make sure you selected the ESP8266-12E as board in the arduino IDE

Running

If uploading of the code is succesfull and the board was not used before a permanent LED light is lit on the RGB led indicating the GoPro SSID and password need to be entered.

At that moment the ESP8266 is running in accesspoint mode and an accesspoint names MAV2GOPRO is visibile if you browse the accesspoints on your desktop/mobile device. Connect to that AP and after a successfull connection, open a browser to location 192.168.4.1

Enter the GoPro SSID and password to the field and save. After a restart of the ESP8266 it will permanently try to connect to a GoPro with the specified SSID/password combination.

LEDS

The RGB led will indicate the status of the program, look in the mav2gopro.ino header for the explanation. The RGB led will flash in the ritme of the received (from the flightcontroller) heartbeat OR every 2.5s. It is usual that a flightcontroller will send out a heartbeat with 1hz.

DEBUG

If compiled with the #define SERDB statement, a lot of debug information will be outputted to the TX1 port @115200bps.

The mavlink protocol that needs to run on the flight controller will be explained on page: mavlink protocol

Clone this wiki locally