{"id":28723825,"url":"https://github.com/hiteshbhoyar03/flight-controller-v2","last_synced_at":"2026-04-29T14:06:57.423Z","repository":{"id":299138269,"uuid":"997634345","full_name":"hiteshbhoyar03/flight-controller-v2","owner":"hiteshbhoyar03","description":"Open-source dual-mcu flight controller designed with Stm32H7, featuring full sensor integration (IMU, GPS,baro, mag ), PWM protocol support , and UAV interfaces . Hardware and firmware developed for learning and portfolio purposes. ","archived":false,"fork":false,"pushed_at":"2025-09-18T17:46:26.000Z","size":48588,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-18T20:11:24.277Z","etag":null,"topics":["bmi088","drone","drones","embedded","embedded-systems","flight-controller","icm45686","ms5611","rocket","stm32","uav","uavs"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiteshbhoyar03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-06T21:42:29.000Z","updated_at":"2025-09-18T17:46:34.000Z","dependencies_parsed_at":"2025-09-18T19:37:11.166Z","dependency_job_id":null,"html_url":"https://github.com/hiteshbhoyar03/flight-controller-v2","commit_stats":null,"previous_names":["hiteshbhoyar03/flight-controller-v2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hiteshbhoyar03/flight-controller-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshbhoyar03%2Fflight-controller-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshbhoyar03%2Fflight-controller-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshbhoyar03%2Fflight-controller-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshbhoyar03%2Fflight-controller-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiteshbhoyar03","download_url":"https://codeload.github.com/hiteshbhoyar03/flight-controller-v2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshbhoyar03%2Fflight-controller-v2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32428641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bmi088","drone","drones","embedded","embedded-systems","flight-controller","icm45686","ms5611","rocket","stm32","uav","uavs"],"created_at":"2025-06-15T10:00:27.131Z","updated_at":"2026-04-29T14:06:57.416Z","avatar_url":"https://github.com/hiteshbhoyar03.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flight Controller Rev2\n\u003cp align=\"center\"\u003e\n\u003cimg  width=\"39%\" src=\"https://github.com/hiteshbhoyar03/flight-controller-v2/blob/main/gallery/flight%20controller%20rev2%20front.png\"\u003e\n\u003c/p\u003e\n\n**Flight Controller Rev2** is a dual-processor, high-performance embedded control system designed for learning and portfolio enhancement purposes. Developed independently, this project demonstrates my skills in embedded systems, PCB design, sensor integration, and flight control logic. All schematics and PCB layouts are completed using Altium Designer, while firmware development is actively progressing in STM32CubeIDE.\n\n\u003e Note: This project is simulation-only and has **not** been fabricated or flight-tested. It serves purely as a design and firmware engineering showcase.\n\nThe goal of this project is to simulate the development of a **complete flight control system**, suitable for use in Drones, UAVs or hobby Rockets. It covers the entire hardware-software co-design flow—from schematic and PCB layout to embedded firmware for real-time control, telemetry, and communication protocols.\n\n---\n\n##  System Architecture\n\nThe board integrates **two STM32H753VI** ARM Cortex-M7 microcontrollers on a single 100mm × 76mm PCB, functioning as a **Main Processor** and **Co-Processor**, connected via UART and 8 shared GPIO lines.\n\n###  Main Processor Subsystem\n\n| Component          | Description                                                              |\n|--------------------|--------------------------------------------------------------------------|\n| **MCU**            | STM32H753VI   (Cortex-M7 @ 400MHz, 2MB Flash, 1MB RAM)                   |\n| **External Flash** | MT29F4G01ABAFDWB (4Gb NAND Flash for large data logs or mission storage) |\n| **EEPROM**         | M95M04 (512KB SPI EEPROM for config or mission profiles)                 |\n| **USB**            | Micro USB OTG FS (for firmware upload, debug)                            |\n| **PWM TIMERS**     | Enables 16 PWM channels for ESCs or servos                               |\n| **UART Buffer**    | SN74LVC2G34 (For safe and clean UART communication)                      |\n| **Power**          | LD39200PU33 (3.3V, 2A Low Dropout Regulator)                             |\n| **Interfaces**     | SPI, I2C, 2 × UART, 16 PWM                                               |\n\n---\n\n###  Co-Processor Subsystem\n\n| Component         | Description                                                               |\n|-------------------|---------------------------------------------------------------------------|\n| **MCU**           | STM32H753VIT6 ( dedicated to sensor data acquisition and pre-processing)  |\n| **EEPROM**        | M95M04-DRMN6TP                                                            |\n| **Sensor Suite**  |\n| • BMI088          | 6-axis high-performance IMU (gyro + accel)                                |\n| • ICM-42688-P     | Ultra-low noise, low drift IMU                                            |\n| • ICM-45686       | Ultra-low power IMU for efficient runtime                                 |\n| • MS561101BA03    | High-resolution pressure sensor                                           |\n| • ICP-20100       | MEMS barometric pressure sensor                                           |\n| • MMC5983MA       | 3-axis magnetometer                                                       |\n| **GNSS Module**   | NEO-M9N-00B (Multi-constellation GPS/GLONASS with external UART interface)|\n| **USB**           | Micro USB OTG FS                                                          |\n| **Power**         | LD39200PU33                                                               |\n| **Interfaces**    | I2C, UART, GPS UART                                                       |\n\n\n---\n\n##  Processor Interconnect\n\n- **Primary Link**: UART (for high-speed, structured data exchange)\n- **Auxiliary Signals**: 8 bidirectional GPIO lines (handshake, interrupt, redundancy, sync)\n\n---\n\n##  Firmware Architecture\n\nFirmware development is underway using **STM32CubeIDE**, designed with a modular and layered approach:\n\n###  Completed Modules:\n- **Sensor Drivers**: All onboard sensors initialized and configured (BMI088, ICM series, barometers, magnetometer)\n- **GPS Parsing**: NEO-M9N GNSS interface fully functional\n- **PWM Protocols**:\n  - **Oneshot42**\n  - **Oneshot125**\n  - **Multishot**\n  - **DShot (150/300/600/1200)** \n- **RC Protocols**:\n  - **IBUS**\n  - **SBUS**\n  - **CRSF** (Crossfire telemetry protocol)\n- **Sensor Bus**: SPI interface abstraction completed\n- **Configuration Handler**: EEPROM read/write layer implemented for persistent config\n\n###  In Progress:\n- **Telemetry System**: Communication with GCS (Ground Control Station) via UART/USB\n- **PID Control**: Stabilization and navigation loops (attitude, rate, altitude)\n- **GCS Command Parsing**: MAVLink or custom command reception and execution\n\n---\n##  Tools Used\n\n-  **Altium Designer** – Schematic and PCB Layout  \n-  **STM32CubeIDE** – Embedded development\n-  **STM32CubeMX** – Peripheral and clock config  \n-  **GitHub** – VersVersion control , documentation and project showcase\n---\n\n##  Board Design Details\n- **Size**: 100mm × 76mm\n- **Stackup**: 4-layer PCB designed in **Altium Designer**\n- **Manufacturing**: No PCB fabrication — for simulation and demonstration only\n\n---\n\n##  Author\n\n**Hitesh Bhoyar**  \n Embedded Systems | CubeSat Design | Low Power Electronics  \n[GitHub →](https://github.com/hiteshbhoyar03)\n\u003e For educational use. Feel free to fork, reuse, or reach out if you are exploring embedded systems!\n\n---\n\n##  License\n\nLicensed under the [MIT License](../LICENSE)\n\n---\n\n##  Project Purpose\n\nAn academic and portfolio project to:\n\n- Explore and apply **embedded hardware design** techniques  \n- Design **custom PCBs** using **Altium Designer**  \n- Demonstrate engineering workflows for Flight Controller systems  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiteshbhoyar03%2Fflight-controller-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiteshbhoyar03%2Fflight-controller-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiteshbhoyar03%2Fflight-controller-v2/lists"}