newrudeman

GLDrone_PX4_ESP32

 
Overview

GLPX4-ESP32

GLPX4-ESP32 project homepage

Introduction

Porting PX4 to ESP32 is an idea I have always had. After learning that NuttX already supports ESP32, I also started the project of porting PX4. After several months of painful torture, it finally ran successfully on a single core and could fly stably. Although it has many shortcomings, it can be regarded as an explanation of the idea that I have always had.

现在仅将ESP32单核移植并试飞成功,双核经过尝试后有诸多问题,仍未解决。
请确保使用小轴距四轴进行测试。由于单核负载已达98%,且有诸多位置问题无法解决,所以确保安全不要在大轴距飞行器上使用。
现在使用的是ESP32模块的FLASH机型参数保存,经测试有一定概率丢失配置。

Configuration

  • Main control: ESP32
  • IMU: ICM-20602
  • Magnetometer: IST8310
  • Barometer: MS5611

Source code and information

PX4 source code that supports ESP32 [Please use the single_core_esp32 branch]
PCB and schematic diagram [Lichuang EDA] For
the open source small frame and ESC, please go to the configuration file of the open source quadcopter GLDrone
QGC for reference

  • The NuttX source code has been tested and there are problems with on-site saving and restoration of VPU, so some floating-point operations were saved on-site.
  • ESP32 was successfully added under the PX4 architecture.
    px4

compile

!!! note
Please first learn and master the method of compiling PX4 source code! For more information, please read the PX4 documentation https://docs.px4.io/master/en/dev_setup/building_px4.html

  • First please install xtensa-esp-elfthe compiler xtensa-esp-elf
  • Download source code
git clone https://github.com/guanglun/PX4-Autopilot.git --recursive -b single_core_esp32

  • compile
make px4_esp32_default

The successful compilation is as follows:
px4

  • Burn bootloader and firmware (for first time burning)
./Tools/flash_esp32.sh -f true

  • Only flash firmware
./Tools/flash_esp32.sh

Example

run topcmd:
px4

run uorb topcmd:
px4

video

https://www.bilibili.com/video/BV1VZ4y1h7sa/

picture

px4
px4
px4

参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-05-14 11:39:31

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号