The Cicada Project is the flight controller based on ESP8266 Wifi module. You can make it yourself to come in the world of drone developers. Cicada doesn't have a hardware pult with sticks. To control a drone there is desktop application developed on Java and mobile application for Android v7 and higher. You can connect a gamepad to your smartphone or desktop to control a drone. The flight controller can work in WiFi normal mode as WiFi station or WiFi Access Point. Also It can work in WiFi Broadcast mode (WiFi monitor mode). To work in broadcast mode you have to connect the special wifi broadcast serial modem to your smartphone or desktop. The serial modem is easy. You can do it yourself easy. Just ESP-07 module + UART-USB bridge. Flash in ESP-07 the modem firmware which is placed in the folder /firmware/WifiBroadcastModemFw.
Min | Typ | Max | |
1. Supply voltage | 3,4V | 5V | |
2. Update frequency | 100 Hz | ||
3. Control from notebook or smartphone through WiFi net. | 2.4 GHz | ||
4. Instant telemetry through WiFi net. Charts of all parameters. BlackBox is stored on host. Telemetry packets is sent every 10ms. | |||
5. Control devices: * Gamepad (supported by desktop and mobile applications) * Keyboard (supported by desktop application only) * Virtual keyboard (supported by desktop application only) * Virtual gamepad (supported by mobile application only) |
|||
6. Control range | 100 meters | ||
7. Stabilization modes: * Stabilization of body angular rates * Stabilization of yaw,pitch,roll angles * Stabilization of vertical velocity (only if barometer or lidar are available in the system) * Stabilization of horizontal velocity (only if optical flow sensor or GPS are available in the system) |
|||
8. Supported sensors and devices: * MPU9250 - imu chip * MPU6500 - imu chip * MPU6050 - imu chip * QMC5883L - magnetometer * BMP280 - barometer * VL53L1X - lidar * TFmini Plus (in I2C mode) - lidar * HCSR04 (in I2C mode) - sonar * BN180 and other GPS modules with UBX protocol * Analog 0-3V sensor of battery current * Servo 500-2400us to control camera pitch angle * Camera Runcam Split4 (only supported start/stop video commands) |
|||
9. Electronic speed controllers: * DSHOT-300 to control BLDC motors * All listed below PWM-modesе to direct control coreless dc motors * PWM 2.5 kHz, resolution 2000 * PWM 5 kHz, resolution 1000 * PWM 10 kHz, resolution 500 * PWM 20 kHz, resolution 250 * PWM 40 kHz, resolution 125 * PWM 50 kHz, resolution 100 |
|||
10. Dimensions * cicada-main-v4 * cicada-micro-v2 |
58,67mm х 41,65mm 26,67mm x 30,98mm |
||
11. Installation dimensions * cicada-main-v4 * cicada-micro-v2 |
48,51mm х 31,49mm 21,84mm x 26,16mm |
||
12. Weight * cicada-main-v4 with cicada-gy91-v3 * cicada-micro-v2 |
16g 6g |
Examples of drones you can find in drones folder of this project.
The firmware is based on PDL. Portable Drone Logic (PDL) is the lightweight pure C library implements a common drone logic. The goal of PDL is to be easy to use and easy to port to your hardware platform. PDL supports only quadcopters at this time.
It provides for you
- data model
- application template
- task scheduler
- chain of PIDs
- parser for binary digital commands
PDL is a part of this project. But you can use it to create firmware for your own hardware platform. Documentation is available in /firmware/CicadaFw/libraries/pdl
To build firmware you need
- Install Sloeber IDE https://github.com/Sloeber/arduino-eclipse-plugin/releases/
- Run Sloeber IDE. Go to Arduino->Preferences->Platforms and Boards. Download latest version of ESP8266 platform
- Install I2C driver https://github.com/enjoyneering/ESP8266-I2C-Driver
- Create ssid_config.h file with your wifi-net settings. For example
Firmware supports update by the air. It is based on ESP8266HTTPUpdateServer.
- Sloeber IDE
- FreeCAD
- KiCAD