diff --git a/README.md b/README.md index b4108f8..2937b8f 100644 --- a/README.md +++ b/README.md @@ -15,18 +15,15 @@ ## Features -* Simple and clean Arduino based source code. -* Acro and Stabilized flight using remote control. -* Precise simulation using Gazebo. -* [In-RAM logging](docs/log.md). -* Command line interface through USB port. -* Wi-Fi support. -* MAVLink support. -* Control using mobile phone (with QGroundControl app). -* Completely 3D-printed frame. -* Textbook for students on writing a flight controller ([in development](https://quadcopter.dev)). -* *Position control and autonomous flights using external camera¹*. -* [Building and running instructions](docs/build.md). +* Dedicated for education and research. +* Made from general-purpose components. +* Simple and clean source code in Arduino. +* Control using remote control or smartphone. +* Precise simulation with Gazebo. +* Wi-Fi and MAVLink support. +* Wireless command line interface and analyzing. +* Textbook on flight control theory and practice ([in development](https://quadcopter.dev)). +* *Position control (using external camera) and autonomous flights¹*. *¹ — planned.* @@ -42,7 +39,7 @@ Version 0 demo video: https://youtu.be/8GzzIQ3C6DQ. See the [user builds gallery](docs/user.md). - + ## Simulation @@ -50,14 +47,22 @@ The simulator is implemented using Gazebo and runs the original Arduino code: Flix simulator -See [instructions on running the simulation](docs/build.md). +## Articles -## Components (version 1) +* [Assembly instructions](docs/assembly.md). +* [Building and running the code](docs/build.md). +* [Troubleshooting](docs/troubleshooting.md). +* [Firmware architecture overview](docs/firmware.md). +* [Log analysis](docs/log.md). +* [User builds gallery](docs/user.md). + +## Components |Type|Part|Image|Quantity| |-|-|:-:|:-:| |Microcontroller board|ESP32 Mini||1| |IMU (and barometer²) board|GY‑91, MPU-9265 (or other MPU‑9250/MPU‑6500 board), ICM‑20948³||1| +|(Recommended) Buck-boost converter|To be determined, output 5V or 3.3V, see [user-contributed schematics](https://miro.com/app/board/uXjVN-dTjoo=/?moveToWidget=3458764612179508274&cot=14)||1| |Motor|8520 3.7V brushed motor (shaft 0.8mm).
Motor with exact 3.7V voltage is needed, not ranged working voltage (3.7V — 6V).||4| |Propeller|Hubsan 55 mm||4| |MOSFET (transistor)|100N03A or [analog](https://t.me/opensourcequadcopter/33)||4| @@ -90,7 +95,7 @@ Tools required for assembly: Feel free to modify the design and or code, and create your own improved versions of Flix! Send your results to the [official Telegram chat](https://t.me/opensourcequadcopterchat), or directly to the author ([E-mail](mailto:okalachev@gmail.com), [Telegram](https://t.me/okalachev)). -## Schematics (version 1) +## Schematics ### Simplified connection diagram diff --git a/docs/firmware.md b/docs/firmware.md index 3b9b45a..3871009 100644 --- a/docs/firmware.md +++ b/docs/firmware.md @@ -1,5 +1,7 @@ # Firmware overview +The firmware is a regular Arduino sketch, and follows the classic Arduino one-threaded design. The initialization code is in the `setup()` function, and the main loop is in the `loop()` function. The sketch includes multiple files, each responsible for a specific part of the system. + ## Dataflow Firmware dataflow diagram diff --git a/docs/img/buck-boost.jpg b/docs/img/buck-boost.jpg new file mode 100644 index 0000000..5188517 Binary files /dev/null and b/docs/img/buck-boost.jpg differ