me-no-dev / esp8266fcgui

KISS and BetaFlight GUI on ESP8266

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ESP8266 FC GUI

KISS and BetaFlight GUI on ESP8266

What is this?

  • Simple sketch for ESP8266 Arduino that uses asyncronous networking to provide web and some other services
  • Transparent WebSocket <=> UART
  • inlined, optimized and gzipped version of KISSFC_GUI_Dshot_T8
  • inlined, optimized and gzipped version of Betaflight Configurator

Why did you do this?

  • Got really sick of having to carry a laptop to the field, just to change pid or recalibrate something
  • ESP8266 has really evolved and is able to take on the load
  • Various small ESP8266 based modules are available for close to nothing
  • I carry a small computer in the form of smartphone everywhere
  • Phone apps lack functionality and lag on implementation
  • It's easy to do

I want to try it!

Requirements

Compiling and upload

  • Fullfill all requirements above
  • Clone or download this repository to your computer
  • Sketch ino and folder name MUST match
  • Open the ino sketch with Arduino IDE
  • Connect the ESP8266 module to your computer via USB
  • Edit definitions in fc_config.h to your liking
  • Select the following options for board in Arduino IDE
    • Board: Core Development Module
    • Flash Mode: QIO or DIO (depends on flash chip type)
    • Flash Size: 4M (3M SPIFFS)
    • Debug Port: Disabled
    • Debug Level: None
    • LwIP Variant: Prebuilt Source (gcc)
    • Reset Method: ck or nodemcu (depends on ESP module reset circuit)
    • Flash Frequency: 80MHz
    • CPU Frequency: 160 MHz
    • Upload Speed: 115200 (some can do 921600)
    • Port: Select the serial port of the ESP module
  • Compile and upload the sketch
  • From the "Tools" menu, select "ESP8266 Sketch Data Upload" to upload the web contents
  • Restart the ESP to apply the new file system image

Cool! Then what?

Connecting the module to your quad

  • Select module that can accept 5 volts or get separate LDO to 3.3V for the ESP
  • Connect
    1. ESP GND > FC GND
    2. ESP 5V > FC 5V (select pin that is also powered by the USB, if available)
    3. ESP TX > FC RX (UART port that you do not use and have configured for Telemetry/MSP)
    4. ESP RX > FC TX (Same port as above)

On my KISS quad, I also have OSD, so I use the GUI only when connected through USB to a power bank.

Using the AP defined in fc_config.h

  • Power the ESP module
  • Connect to it's Access Point
  • Try to open any website. It should forward you to the main page

Using your WiFi at home (STA_SSID must be defined in fc_config.h)

  • Power the ESP module
  • Windows
    • Check for the ESP in the Network Browser and doubliclick it
    • Or just open a browser to http://esp8266fcgui (the value of AP_SSID in fc_config.h)
  • Mac and Linux
  • The sketch is Arduino OTA enabled, which means that when at home, you can update the firmware/file system over WiFi

Credits

All web content is created by the KISS and BetaFlight teams. This a cut-down version of their work.

Screen Shots

Arduino IDE Settings

image

Windows

Network Browser

image

Web Browser

image

Mac and Linux

Web Browser

image

Mobile

image image image

Hardware

image

About

KISS and BetaFlight GUI on ESP8266

License:GNU General Public License v3.0


Languages

Language:HTML 71.7%Language:JavaScript 23.8%Language:CSS 4.2%Language:Objective-C 0.1%Language:Shell 0.1%Language:Arduino 0.1%