- Notifications
You must be signed in to change notification settings - Fork8
Home of the Holsatus Flight controller
License
holsatus/holsatus-flight
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Note
A refactor is currently in progress. The readme may be misleading, and stuff might be broken. Stay tuned
Holsatus Flight is a novel autopilot built in pure Rust. The firmware is designed around an theEmbassy framework and usesasync functionality extensively to enable unprecedented efficiency with a high level of functionality.
The current implementation is designed for quad copters, and runs on the Raspberry Pi RP2040 chip (a sub $1 chip!), but support for other configurations and hardware is intended for the future.
- Holsatus Shell - An interactive environment for configuration and calibration.
- Mavlink - A Mavlink server enables Holsatus Flight to interact with standard GCS software.
- Calibration - Built-in calibration routines for the gyroscope, accelerometer and magnetometer
- Configuration - Fully configurable RC map, PID gains and more, at run-time, saved to flash storage.
- Arming safety - Various checks ensure that the vehicle will not arm in unsafe conditions.
- Scheduling - Interrupt-executors allows for high priority subsystems to preempt lower-priority ones.
- Speed - Due to the high efficiency of async, a modest RP2040 is able to run a steady 1000 Hz control loop.
- Extensibility - Adding new functionality only requires defining a new Embassy task and spawning it.
The inclusion of a shell interface makes configuring, calibrating and troubleshooting easy, only using your terminal and a serial console application, such asminicom orPuTTY. Whether it be getting or setting parameters, reading sensor data, reading status flags or walking through the accelerometer calibration routine, the simple terminal interface makes that easy.
As mentioned above, the current development hardware consists of a RP2040, mounted in a Raspberry Pi Pico board. The built-in drivers support the ICM20948 IMU+Magnetometer over I2C, SBUS receiver over UART, 4x DShot motors via PIO. It is recommended to have this hardware available for testing.
The currently recommended features arerp2040, to enable hardware-configuration specific to this chip,overclock to apply a 2x overclock, if possible, andshell to enable the serial-over-USB shell server for configuration and calibration.
cargo run --release --features"rp2040 overclock shell"Since the main unique and novel characteristic of this autopilot is the use of the Rust programming language, I thought a nod to the crustacean-based mascot would be nice. I stumbled across a type of crab called theLiocarcinus holsatus, with the common name of "flying crab", which I found fitting. It is apparently also (like myself) local to the North Sea. Holsatus 🦀 is it!
Holsatus Flight is licensed under theApache 2.0 License.
This project is currently a personal exploratory project of mine (the author), but I am open to contributions and expanding the scope of the project. I therefore welcome pull requests and discussions. Criticism and feedback is appreciated!
Any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.
About
Home of the Holsatus Flight controller
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
