Skip to content
ACwing-UAVPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

24 Commits

Folders and files

Repository files navigation

ACwing

ACwing – open drone platform

Flight controller, power and expansion boards, firmware, tools and mechanics for small multirotors
by Andrea Cirillo


This is the system repository of ACwing. Apart from the shared brand files it holds no design files: it pins one commit of each part of the project, so that a commit (or a tag) of this repository names a set of firmware, hardware and mechanics that belong together.

Folder Repository What
fw/ ACwing_FW flight-controller firmware (STM32WB55), Flow bridge firmware (STM32C011), PC tools in MATLAB and Python, ACwing Pilot app. Documentation: acwing-uav.github.io/ACwing_FW
hw/ ACwing_HW KiCad projects and manufacturing files: FC, ESC 1S, GPS, Flow; system and stack documents
mech/ ACwing_Mechs frames, mounts, printed parts
brand/ (this repository) logos (SVG/PNG), KiCad logo footprints ACwing_Logo.pretty, brand and silkscreen tools

Which versions work together, and what was tested: COMPATIBILITY.md.

Getting the whole project

git lfs install                       # once: the mechanics use Git LFS
git clone --recursive https://github.com/ACwing-UAV/ACwing.git

Already cloned without --recursive, or after a pull that moved the pins:

git submodule update --init --recursive

Each folder is then a normal clone of its repository, checked out at the pinned commit (detached HEAD). To work in one of them, check out a branch first: cd fw && git switch main.

Working on the project

Day-to-day work happens in the individual repositories, not here. This repository moves only when a combination of versions is worth recording:

  1. Commit and push in fw/, hw/ or mech/ (or work in a separate clone of that repository).
  2. When the new combination has been checked, record it here:
    git submodule update --remote fw    # or hw, mech: moves to the tip of main
    git add fw
    git commit -m "fw: <what changed>"
    
  3. Update COMPATIBILITY.md in the same commit, and tag the milestones (git tag proto-0.2).

Dependabot opens a pull request here every week when one of the three repositories has moved ahead (.github/dependabot.yml): merge it when the combination has been checked, close it otherwise.

Interfaces between the parts

Each interface has one owner, the repository that produces it; the others link to it and never keep a copy.

Interface Owner File
FC pin map (MCU pins ↔ connectors) hw → used by fw hw/00 - Docs/00 - FC_Docs/ACwing_FC_A_pinmap.md
FC outline and holes (DXF) hw → used by mech hw/00 - Docs/00 - FC_Docs/ACwing_FC_A_outline.dxf
Flow board outline (DXF) hw → used by mech hw/00 - Docs/03 - FLOW_Docs/ACwing_Flow_A_mech_outline.dxf
Board 3D models (STEP) hw → used by mech hw/00 - Docs/<board>_Docs/<board>.step
Stack, mechanical handoff, frame answers hw ↔ mech hw/00 - Docs/04 - System_Docs
ACwing Pilot protocol v2 fw → used by the app fw/03 - Docs/firmware/protocol-v2.md
Logos and logo footprints system → used by hw, fw, mech brand/: the boards copy the footprints they use into their own library; READMEs and the documentation site load the PNGs from raw.githubusercontent.com/ACwing-UAV/ACwing/main/brand/

The links point to main of each repository; after a recursive clone the same files are under hw/ and fw/ at the pinned commit.

License

MIT for this repository; each submodule carries its own license.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages