diff --git a/readme.md b/readme.md index 5745c03..c726551 100644 --- a/readme.md +++ b/readme.md @@ -1,112 +1,97 @@ -ESP32-S3 Drone Stabilization Project +# ESP32-S3 Drone Stabilization Project -This project implements a robust flight stabilization system for a quadcopter drone using the ESP32-S3 Super Mini microcontroller and an MPU6050 IMU. The firmware leverages the dual-core architecture of the ESP32-S3 to separate real-time stabilization from command processing, ensuring smooth and responsive flight control. -Features +This project implements a robust flight stabilization system for a quadcopter drone using the **ESP32-S3 Super Mini** microcontroller and an **MPU6050 IMU**. The firmware leverages the dual-core architecture of the ESP32-S3 to separate real-time stabilization from command processing, ensuring smooth and responsive flight control. - Dual-Core Architecture: +--- - Core 0: Dedicated to high-priority, real-time sensor reading and PID-based stabilization. +## Features - Core 1: Handles lower-priority tasks such as receiving and processing flight commands. +- **Dual-Core Architecture:** + - **Core 0:** Dedicated to high-priority, real-time sensor reading and PID-based stabilization. + - **Core 1:** Handles lower-priority tasks such as receiving and processing flight commands. +- **Autonomous Hover:** + - Maintains stable hover when no control commands are received. +- **IMU Integration:** + - Uses the MPU6050 for accurate attitude estimation and stabilization. +- **Motor Mixing:** + - Dynamically adjusts motor outputs for balanced flight. +- **Command Input:** + - Supports input via serial, WiFi, or Bluetooth (customizable). - Autonomous Hover: +--- - Maintains stable hover when no control commands are received. +## Hardware Requirements - IMU Integration: +- **ESP32-S3 Super Mini** +- **MPU6050 IMU** +- **4x ESCs and motors** +- **3.7V LiPo battery (2S-4S)** +- **Optional:** WiFi/BLE module for wireless control - Uses the MPU6050 for accurate attitude estimation and stabilization. +--- - Motor Mixing: +## Wiring Guide - Dynamically adjusts motor outputs for balanced flight. +- **MPU6050:** + - SCL → `GPIO39` + - SDA → `GPIO40` +- **ESCs:** + - ESC1 → `GPIO4` + - ESC2 → `GPIO5` + - ESC3 → `GPIO6` + - ESC4 → `GPIO7` - Command Input: +--- - Supports input via serial, WiFi, or Bluetooth (customizable). +## Software Requirements -Hardware Requirements +- **Arduino IDE** (with ESP32 board support) +- **Libraries:** + - `Adafruit_MPU6050` + - `ESP32Servo` + - `Wire` - ESP32-S3 Super Mini +--- - MPU6050 IMU +## Getting Started - 4x ESCs and motors +1. **Clone the Repository:** +2. **Open the project in Arduino IDE.** +3. **Install the required libraries.** +4. **Connect your hardware as described above.** +5. **Upload the firmware to your ESP32-S3.** +6. **Calibrate the IMU and test with props removed for safety.** - 3.7V LiPo battery (2S-4S) +--- - Optional: WiFi/BLE module for wireless control +## Usage -Wiring Guide +- **Serial Commands:** +- Send flight commands via the serial monitor. +- No commands = autonomous hover. +- **Customization:** +- Adjust PID constants in the code for optimal flight performance. +- Integrate WiFi or Bluetooth for wireless control. - MPU6050: +--- - SCL → GPIO39 +## Safety Warning - SDA → GPIO40 - - ESCs: - - ESC1 → GPIO4 - - ESC2 → GPIO5 - - ESC3 → GPIO6 - - ESC4 → GPIO7 - -Software Requirements - - Arduino IDE (with ESP32 board support) - - Libraries: - - Adafruit_MPU6050 - - ESP32Servo - - Wire - -Getting Started - - Clone the Repository: - - bash - git clone https://github.com/yourusername/esp32s3-drone-stabilization.git - - Open the project in Arduino IDE. - - Install the required libraries. - - Connect your hardware as described above. - - Upload the firmware to your ESP32-S3. - - Calibrate the IMU and test with props removed for safety. - -Usage - - Serial Commands: - - Send flight commands via the serial monitor. - - No commands = autonomous hover. - - Customization: - - Adjust PID constants in the code for optimal flight performance. - - Integrate WiFi or Bluetooth for wireless control. - -Safety Warning - -Always test with props removed and use a safety switch! +**Always test with props removed and use a safety switch!** PID tuning and calibration are essential for stable flight. -Contributing + +--- + +## Contributing Pull requests and feedback are welcome! Please open an issue or submit a PR for any improvements or bug fixes. -License + +--- + +## License MIT License -Happy flying! 🚁 \ No newline at end of file +--- + +Happy flying! 🚁