Giter VIP home page Giter VIP logo

esp-fc's Introduction

ESP-FC Flight Controller

The mini, DIY, ~$5 cost, ESP8266/ESP32 based, high performance flight controller.

Features

  • Espressif targets (ESP32, ESP8266, ESP32-S3, ESP32-S2, ESP32-C3)
  • ESC protocols (PWM, Oneshot125/42, Multishot, Brushed, Dshot150/300/600 bidirectional)
  • PPM, SBUS and CRSF Receivers
  • Builtin ESP-NOW receiver and WiFi configuration read more...
  • SPI and I2C gyro modules support (MPU6050, MPU9250, ICM20602, BMI160)
  • Flight modes (ACRO, ANGLE, AIRMODE)
  • Frames (Quad X)
  • Betaflight configuration tool compatible (v10.8-v10.10)
  • Configurable Gyro Filters (LPF, Notch, dTerm, RPM)
  • Blackbox recording (OpenLog/OpenLager/Flash)
  • Up to 4kHz gyro/loop on ESP32 with SPI gyro
  • MSP protocol interface
  • CLI Interface
  • Resorce/Pin mapping
  • In flight PID Tuning
  • Buzzer
  • Lipo voltage monitor
  • Failsafe mode

Requirements

Hardware:

  • ESP32 mini board or ESP8266 Wemos D1 mini or similar
  • MPU9250 SPI or MPU6050 I2C gyro (GY-88, GY-91, GY-521 or similar)
  • PDB with 5V BEC
  • Buzzer and some electronic components (optional).

Software:

Flashing

  1. Download and unzip selected firmware from Releases Page
  2. Visit ESP Tool Website
  3. Click "Connect" and choose device port in dialog
  4. Add firmware file and set Flash Address to 0x00
  5. Click "Program"
  6. After success power cycle board

Note: only ESP32 and ESP8266 can be flashed in this way.

ESP-FC Flashing

Setup

After flashing you need to configure few things first:

  1. Configure pinout according to your wiring, especially pin functions, you can find more information in CLI Reference
  2. Connect to Betaflight Configurator and setup to your preferences,
  3. Test motors without propellers
  4. Have fun ;)

Note

Not all functions displayed in configurator are avalable in firmware. The rule of thumb is if you cannot change specific option in Betaflight Configurator, that means it is not supported. It usually rolls back to previous value after save.

Here are more details about how to setup.

Wiring diagrams

ESP-FC example wiring diagrams

Supported chips

  • ESP32 - recommended
  • ESP32-S2 - experimantal
  • ESP32-S3 - experimantal
  • ESP32-C3 - experimantal
  • RP2040 - experimantal
  • ESP8266 - deprecated, may stop being developed

Supported protocols

Protocol ESP8266 ESP32 RP2040
UART Yes Yes Yes
I2C Yes Yes Yes
SPI - Yes Yes
MSP Yes Yes Yes
CLI Yes Yes Yes
PPM (IN) Yes Yes Yes
SBUS Yes Yes Yes
CRSF (ELRS) Yes Yes Yes
BLACKBOX Yes Yes Yes
PWM (OUT) Yes Yes Yes
ONESHOT125 Yes Yes Yes
ONESHOT42 - Yes Yes
MULTISHOT - Yes Yes
DSHOT150 Yes Yes Yes
DSHOT300 Yes Yes Yes
DSHOT600 - Yes Yes

Supported devices

Device ESP8266 ESP32 RP2040
MPU6050/I2C Yes Yes Yes
MPU6000/SPI - ? ?
MPU6500/I2C ? Yes ?
MPU6500/SPI - Yes Yes
MPU9250/I2C Yes Yes Yes
MPU9250/SPI - Yes Yes
BMP280/I2C Yes Yes Yes
BMP280/SPI - Yes Yes
HMC5883/I2C Yes Yes Yes
HMC5883/SPI - ? ?
AK8963/I2C - Yes Yes
ICM20602/I2C ? ? ?
ICM20602/SPI - Yes Yes
BMI160/I2C ? Yes ?
BMI160/SPI - Yes Yes

? - not tested, but should work

Issues

You can report issues using Github tracker You can also join to our Discord Channel

Development

Todo

  • Update documentation
  • Balancing robot
  • Serial Rx (IBUS)
  • ELRS telemetry
  • ESP32-S2/S3/C3 targets
  • Baro (MS5611)
  • GPS navigation

Licence

This project is distributed under MIT Licence. Bear in mind that:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Donations

If you like this project and you want it to be still developed, you can support me a little.

  • BTC: 1Lopez7yPtbyjfLGe892JfheDFJMMt43tW
  • LTC: LV3G3sJxz9AYpDMYUp8e1LCmerFYxVY3ak

esp-fc's People

Contributors

alex-pokydin avatar benvdbergh avatar bsvdoom avatar rtlopez avatar utsxumiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp-fc's Issues

Brushed motor test

On esp32 wroom board , mpu 6050 on i2c , elrs . Gyro accelerometer and elrs receiver all detected on betaflight .

I hav connected pin out 4 to brushed motor driver (fet ) . But on motor test no motor spool up . I hav connected battery to the motor fet and pin out 4 to pwm input .

Is there any specific setting for brushed ?

Inverted yaw authority

Incorrect yaw direction in mixer requires to enable Motor direction is revered option in configurator if motors spinning in normal direction.

BLHELiSuite Flash problem

image

  1. When I try to update the ESC firmware via the flight controller it fails. ESP32S3

image

  1. All ESCs cannot be read. always

Error to flash firmware

hi
after using Arduino for check I2c address i have tried to reinstall firmware Alpha5, but when i flash i have this error message:

image

how i can solve it ?

wobbly

Hey! The flight controller is working! but there is a problem the drone keeps wobbling a lot which I think it shouldn't... anything I can do to help it?

error

I'm sorry, but this project seems like one big red error :-(

c:\users\majo.platformio\packages\toolchain-xtensa\xtensa-lx106-elf\include\c++\4.8.2\bits\random.tcc:1644:28: error:
call of overloaded 'log(double)' is ambiguous

lib\MPU6050\src/helper_3dmath.h:74:54: error: 'sqrt' was not declared in this scope
lib\MPU6050\src/helper_3dmath.h:154:46: error: 'acos' was not declared in this scope
lib\MPU6050\src/helper_3dmath.h:165:48: error: 'sin' was not declared in this scope
lib\MPU6050\src/helper_3dmath.h:174:35: error: there are no arguments to 'acos' that depend on a template parameter, s
o a declaration of 'acos' must be available [-fpermissive]
lib\Espfc\src/Filter.h:80:31: error: 'M_PI' was not declared in this scope
etc...
Environment d1_mini [ERROR]
:-(

"Math.h" and "math.h" confused by Visual studio code

i was trying to compile the V0.1.0 alpha and it kept failing to include "math.h", so i renamed your "Math.h" (and its namespace) and now it works. I am compiling from platformIO from MS Visual Studio Code (because i dont like AtomIO), so it seems like VScode just can't distinguish between "Math" and "math".

Gyro issue? (GY-521)

So I connected a GY-521 I2C to a Wemos D1 mini.

IMG_20230829_024112

And the yaw rotates slowly..

Tried with all PID loop freqs, 3.3V and 5V, and I used the latest release, can it be an issue with my gyro, can someone confirm it works fine?

Make this into a real FC

So I was thinking, if it is possible/favorable to make an esp32 chip based FC?
If its made with open source in mind, clones can exist, so it would not be a real "product", like ESP-CAM.

Pros:
-now iNav has an ESP32 target too
-it could be incredibly cheap opposed to stm32 based ~$60 FCs
-all chips can fit on one side
Cons:
-VTX will never happen on this chip

@rtlopez What are your thoughts on this?
Thanks!

ESC not working.

Hi I am using "30A Brushless Motor Speed Controller RC Bec Esc for Quadcopter Plane Helicopter" ESC
image
and for some reason the motors are not spinning... I tried all the available protocols but no luck :( What could be the reason for this problem and how do I solve it.

Is CRSF/eLRS supported with ESP32?

I found from source code that 1/3, 32/33, 17/16 pins used for serial and I tried all. But I can't get ELRS working.

I guess 1/3 is not possible to use. (UART1 in BF terminology)
Is 17/16 (UART3 in BF terminology) best suited for connecting ELRS received?

(I fail to compile for ESP8266)

ESP32-C3 support?

I started to make a new target for the ESP32-C3.

Now betaflight can connect and it looks like it works, but some lines produce errors and needs to be rewritten as I saw, but I lack the knowledge to do so.. (now they are just commented out to see if it works):

Can you help me fix these please, do you have an idea how to do this, should I make a pullrq into a new branch?
Thanks!

Why did the development stop?

why was the project not further developed? Is it simply a lack of time and interest or were there major technical problems? I would be interested in putting it into operation and possibly developing it further. Are the components newly developed or is it more or less a port of Betaflight? Thanks very much!

support for esp32-s2 and esp32-s3

I have an esp32-s3 board. tried. But it doesn't work. It may be a USB virtual serial port problem. Because I can feel the CPU temperature. Can anyone tell me where the serial port file is? Or how to modify it. I'm new to PlatformIO.

wireless mode AP for softserial?

I try to edit this code

WiFi.persistent(false);

with this code:

WiFi.persistent(false);

    if(_model.config.wireless.mode == WIRELESS_MODE_AP){
      WiFi.mode(WIFI_AP);
      status = WiFi.softAP(_model.config.wireless.ssidAp, _model.config.wireless.passAp);
      _server.begin(_model.config.wireless.port);
      _model.state.serial[SERIAL_SOFT_0].stream = &_adapter;
      _model.state.localIp = WiFi.softAPIP();
      _initialized = true;
      _model.logger.info().log(F("WIFI EV")).log(F("IP")).logln(WiFi.softAPIP());
    }else{
      WiFi.mode((WiFiMode_t)_model.config.wireless.mode);
      status = WiFi.begin(_model.config.wireless.ssid, _model.config.wireless.pass);
    }

on CLI set AP mode:
set wifi_mode AP
set wifi_ssid_ap autoplantbali
set wifi_pass_ap autoplantbali
set wifi_tcp_port 1111

setup pc windows/linux using virtual serial:
https://hackaday.io/page/1304-virtual-serial-port-tunnel-to-use-with-esp-link

betaflight configurator can connect with esp32 and android betaflight configurator with settings: tcp://192.168.4.1:1111

maybe plus 1 input button to turn off and on access point mode. so there is no need to connect using a USB cable and 3 serials can be fully used.
I see the wifi code is connected to softserial, what impact will it have?

Is this still a work in progress?? I like to help!

Hi, there is no issue what so ever.
I am just amazed by this project, I love quads And I have a not so secert affair with the ESP8266, so let me know how may I help.

I will start rigth away with my build, I have a frame that can use this FC.

Baro BMP280 not recognized

Hi friends
i have install baro BMP280 with connection 3.3v GND SCL(I22) SDA (I21) but not work.
I have connected the 3.3V and GND directly to 3.3V and GND of MPU6500.

IMG20230906225906

Bdir-dshot 300 error 100%

Hi, I'm using dshot300 with Bidir on. But I got 100% error in betaflight and RPM 0 all the time. I've tested it on a stm32f3 and it is working. hence the ESC is working correctly. is this normal?

Next steps for Esp-FC

Hi friends,
my next steps with Esp-fc that i want proceed is to use:

  1. GPS Beitian 880 connected in UART2 or UART1 (mmmm....i have many dubts tht work fine on UART1.
  2. install camera and VTX
  3. in Softserial port put external OSD (similar MinimOSD or FrskyOSD).

Do you think that is posible all this ?

thanks much

custom board fc

hi @rtlopez

I'm trying to make a custom FC board measuring 30x30mm and hole size 25.5x25.5mm for frame 65 - 85mm.
Can I include your GitHub link in the board I created?

Top Side
esp_fc_top

Bottom Side
esp_fc_bottom

esp32 works (after disabling core0 WDT)

i noticed since Alpha0 that it compiles for the ESP32 and seems to work, but crashes after like 5-10 seconds, and when i checked the error backtrace, it was pointing towards the task_wdt_isr, so i added disableCore0WDT(); and now it just seems to work fine. i assume you are aware of the existance of the Core0 WDT, which will timout after a few second when running a task on core 0, unless it's reset (esp_task_wdt_reset(); ) (which in many example sketches on the internet is sneakily done with a delay() (or i2s_write_bytes(), btw).
(to be clear: i added disableCore0WDT() as the fist like of otherTask(), but it probably also works from setup());

Esp32 not detecting gyro

I have flashed the esp32 firmware to esp32 nodemcu and wired up mpy6050 as per the image on the docs . But in betaflight there is no gyro .

I think the image is for spi connection and mpu6050 is i2c . Where do I connect mpu6050 on esp32 ?

v0.2.0-RC1 / SBUS is not working (only PPM works) / ESP32 (non mini)

Hello folks,

first of all that is an outstanding project thanks!

Currently I'm not able to use SBUS, however PPM is working, but I want to use SBUS :(.

My setup:
*Flysky FS-i6x + FSIA10B
*ESP32 (non mini)
*I changed on the remote Flysky FS-i6x & Betaflight UI to SBUS & changed the wiring of the receiver FSIA10B accordingly for SBUS

Users/Community Discord

Hey, I noticed there is no place for the community under this project to exchange, @rtlopez would you be willing to create a Discord or some sort? I think it could be a faster solution for exchanges than GitHub issues ;)

low importance (possibly easy fix?)

note: this issue is of relatively low importance and has no urgency whatsoever.

i ran into several errors when compiling (in atom)

see screen-snip: https://ibb.co/dZaAic

also note: i installed atom earlier today for the purposes of flashing this software once and then using betaflight, so if this is a complicated issue then i might not be apt at following instructions)

MPU6500 not work

hi friends
i have install MPU6500 using this pinout but not work:

image

i have connected with 3.3V (the same in Inav where work fine).

IMG20230904222355

image

Change motor spinning direction

Hello!
I've tried to use CLI ti change motor spinning direction from N to R (set output_0 M R 1000 1500 2000). But It has no effect.
I also try to play with limits like change 1000-2000 to 2000-1000 and have same result.

Maybe I do something in a wrong way ?

Control esp-fc with WiFi

Hi
Thank you for your works.
Is it possible to control multicopter via esp-fc with WiFi?
If yes is there android app or web based access?

Betaflight cant connect over WiFi

First of all, many thanks to @rtlopez for a great project!

I try to connect Betaflight to esp32 over WiFi, but receive error Failed to open serial port.
In serial console all work perfect:

# status 
ESPF ESP32 v0.0.0 0000000 Jan 22 2024 15:11:44 8.4.0 201103
STATUS: 
    cpu freq: 240 MHz
  gyro clock: 8000 Hz
   gyro rate: 2000 Hz
   loop rate: 250 Hz
  mixer rate: 250 Hz
  accel rate: 500 Hz
   baro rate: 83 Hz
    mag rate: 75 Hz

 gyro device: MPU6050/I2C
 baro device: BMP280/I2C
  mag device: HMC5883L/I2C
     rx rate: 43
     rx lpfs: 0.00, 0.14

 arming disabled: 16777222

Also, Betaflight configurator work fine over COM port.

To connect over WiFi I set in COM port console SSID, password, wifi_mode to 1. After save and reboot. On this step, esp32 present in router clients list. Also, I can ping it. In betaflight configurator I select Manual selection on Welcome page. In port I enter esp32 ip adress: tcp://192.168.1.36. And receive described above arror.
Betaflight configurator ver. 10.8 and 10.9 were tried.

Quad roll forward

Hi
i have install firmware and setup it.
When i test it after armed and try to fly the quad roll forward and is not stable.
I have used module GY-87 but also with only MPU6050 i have same problem.
How i can solve ?
IMG20230824184441
IMG20230824184445

Problem with Supported devices via SPI / Board ESP32 (non mini)

Hello,

currently the sensor MPU-92.65 is working in betaflight and the sensor MPU-9250/6500 is not working (Flag: NO_GYRO)

The interesting part is, if I plug in the sensor MPU-92.65 open betaflight and connect & then unplug the sensor and plug in the
sensor MPU-9250/6500 gyro is working. I think there is a problem during initialization. But I'm not sure how to fix.

MPU-92.65 is working
working

MPU-9250/6500 is not working (Flag: NO_GYRO)
NotWorking

Airmode

Hi
it's posible activate Airmode ?
in Configuration Tab i have saw that is not posibile.
Using CLI it's posible ?

Crsf RX

The crossfire RX receiver is receiving no input.
The telemetry is connected and configured.
The receiver is working with other F4 or F7 controllers.
Any possible suggestions?

Error Compiling

Hi,

First of all thanks for this project, I'm trying to tinker around and upload your code into a nodeMCU v3 (esp-8266). Although, I'm having some issue when trying to compile the code, and can't figure what's wrong.

The errors seems to be in the Debug.h file. Possibly some issue with my environment, but any help is thanked.

I'm leaving here the logs in case you want to check it out.

Indexing .pio\build\d1_mini\lib6f2\libAHRS.a
Archiving .pio\build\d1_mini\libb39\libEspSoftSerial.a
Compiling .pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFi.cpp.o
Compiling .pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiAP.cpp.o
Archiving .pio\build\d1_mini\libaa4\libEspWire.a
Archiving .pio\build\d1_mini\lib9c2\libEscDriver.a
Indexing .pio\build\d1_mini\libb39\libEspSoftSerial.a
Indexing .pio\build\d1_mini\libaa4\libEspWire.a
Indexing .pio\build\d1_mini\lib9c2\libEscDriver.a
Archiving .pio\build\d1_mini\libb6e\libWire.a
Compiling .pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from lib\Espfc\src/Device/InputPPM.h:5,
from lib\Espfc\src\Device\InputPPM.cpp:1:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
Indexing .pio\build\d1_mini\libb6e\libWire.a
Compiling .pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiGratuitous.cpp.o
Archiving .pio\build\d1_mini\lib618\libSPI.a
Compiling .pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiMulti.cpp.o
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\EEPROM\EEPROM.cpp:22:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/SerialManager.h: In member function 'int Espfc::SerialManager::begin()':
lib\Espfc\src/debug.h:21:28: error: '_debugStream' was not declared in this scope
21 | #define LOG_SERIAL_INIT(p) _debugStream = p;
| ^~~~~~~~~~~~
lib\Espfc\src/SerialManager.h:104:11: note: in expansion of macro 'LOG_SERIAL_INIT'
104 | LOG_SERIAL_INIT(port)
| ^~~~~~~~~~~~~~~
Indexing .pio\build\d1_mini\lib618\libSPI.a
Compiling .pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiSTA-WPS.cpp.o
*** [.pio\build\d1_mini\libc0d\Espfc\Device\InputPPM.cpp.o] Error 1
*** [.pio\build\d1_mini\lib602\EEPROM\EEPROM.cpp.o] Error 1
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\CertStoreBearSSL.h:23,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\CertStoreBearSSL.cpp:20:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Updater.h:4,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\BearSSLHelpers.h:28,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\BearSSLHelpers.cpp:23:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
*** [.pio\build\d1_mini\src\main.cpp.o] Error 1
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\CertStoreBearSSL.cpp.o] Error 1
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\BearSSLHelpers.cpp.o] Error 1
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\WiFiClient.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFi.h:39,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFiAP.cpp:25:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\WiFiClient.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFi.h:39,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFi.cpp:25:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\WiFiClient.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFi.h:39,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp:29:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiAP.cpp.o] Error 1
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\WiFiClient.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFi.h:39,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFiMulti.h:30,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFiMulti.cpp:27:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFi.cpp.o] Error 1
In file included from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\WiFiClient.h:25,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFi.h:39,
from C:\Users{user}.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src\ESP8266WiFiSTA-WPS.cpp:26:
lib\Espfc\src/debug.h:19:8: error: 'Stream' does not name a type; did you mean 'Stream_h'?
19 | static Stream * _debugStream = nullptr;
| ^~~~~~
| Stream_h
lib\Espfc\src/debug.h: In function 'void Espfc::D(T)':
lib\Espfc\src/debug.h:27:6: error: '_debugStream' was not declared in this scope
27 | if(_debugStream)
| ^~~~~~~~~~~~
lib\Espfc\src/debug.h: In function 'void Espfc::D(T, Args ...)':
lib\Espfc\src/debug.h:37:6: error: '_debugStream' was not declared in this scope
37 | if(_debugStream)
| ^~~~~~~~~~~~
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiMulti.cpp.o] Error 1
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiSTA-WPS.cpp.o] Error 1
*** [.pio\build\d1_mini\lib156\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o] Error 1

Thanks

missing arduinofake.h library

I cannot perform PIO test on your project. They are missing quite a few libraries in the Test folder, so can you fix it for me?
Screenshot from 2023-10-14 01-54-31

Some showcase videos maybe ?

It would be great if there were any videos of an actual drone flying using this flight controller.
I like to see how stable the flight is in your own tests!

Progress

Fantastic, did you build one (YouTube or photo) and have you developt more on this issue like esp32? Did see dshot but in the code dshot150-300 and 600-1200 missing?
Anyway interesting code ๐Ÿ‘

Not arm my quad

Hi
i have install last version of firmware for my ESP32 but when i connect battery not arm the quad.
I use MPU6050 and my radio is Flysky I6.

how i can solve ?

thanks
IMG20230819120018
Immagine
Immagine1
Immagine2
Immagine3

Only Angle flight mode ?

Hi
i have saw that in the firmware is only available Angle mode that is very difficult to drive the quad.
It's posibile add also Acro mode or flight mode more slow and easy to drive the quad ?

thanks much

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.