Merge pull request #7566 from klutvott123/battery-pt1-filter
[betaflight.git] / README.md
blob0604e3faf90cc11ad156959ab42d04d6136db414
1 ![Betaflight](https://raw.githubusercontent.com/wiki/betaflight/betaflight/images/betaflight/bf_logo.png)
3 Betaflight is flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft.
5 This fork differs from Baseflight and Cleanflight in that it focuses on flight performance, leading-edge feature additions, and wide target support.
7 ## News
9 ### Embargo on new targets for Betaflight 4.0
11 As [announced earlier](https://github.com/betaflight/betaflight#betaflight-40), Betaflight 4.0 will introduce a radically new way to define targets. At the moment, we are making the changes necessary for this, and this requires some changes to how targets are defined in the 'legacy' way. Because of this, any pull request opened against `master` that introduces a new target is likely to be outdated by the time it has been reviewed. This means extra work for the target maintainer and the reviewers, for little or no benefit.
13 Because of this, the following embargo is put in place:
15 1. From 30/12/2018 on until the release of Betaflight 4.0 (scheduled for 01/04/2019), no pull requests that introduce new targets against `master` are accepted. Because any such pull requests will be outdated by the time 4.0 is released, they will be closed;
17 2. During the time that 1. is in place, pull requests adding new targets (in 3.5 format) against the `3.5.x-maintenance` branch will be considered. This is an exception to the rule that all pull requests must be opened against `master`. This exception only applies to pull requests containing no other changes than a new target and a documentation page for the new target. These new targets will be included in upcoming 3.5 maintenance releases;
19 3. Targets added under the exception in 2. will have to be ported into 4.0 before 4.0 is released. The format that these targets will have in 4.0 is yet to be determined, and instructions for porting the targets will have to be written, but we expect the maintainers of these targets to make themselves available to assist with this task when the time comes. Please follow the news and updates that are posted to https://betaflight.com/ or the [Betaflight GitHub page](https://github.com/betaflight/betaflight) to keep track of when action is required.
22 ### Betaflight 4.0
24 As you might have learned from the [Betaflight GitHub page](https://github.com/betaflight/betaflight), our next release will be 4.0. Betaflight 4.0 will be the culmination of years of work that started in 2016 with the introduction of remappable resources, and it will drastically change the way how Betaflight is built and distributed. To you as the user, not much in how you download and install the Betaflight firmware will change, but you will get some noticeable improvements:
26 - we’ll have to spend less time on maintaining and releasing the firmware, meaning that we’ll have more time to work on new and exciting features;
27 - manufacturers will have an easy way to release custom configurations for all of their boards and ready-to-fly (including RX setup and tuning) craft based on original Betaflight firmware - you will no longer be stuck on using old firmware, or recreating your configuration from scratch;
28 - the tinkerers amongst you will be able to share Betaflight firmware with your home built improvements amongst your friends without having to build and distribute separate targets for everybody’s board.
30 *(These changes are planned for F4 and F7, F3’s flash space limitations mean we won’t be able to fit all of this in.)*
32 We are almost there with the implementation of these changes, but since they are quite complex, and getting ‘almost there’ doesn’t buy us much, we have decided that we need to take more time to complete them, make sure the way users can use the firmware still works as expected, and properly test the new firmware. For this reason we have decided to **postpone the planned release date for Betaflight to 01 April 2019**. We will keep doing monthly releases of Betaflight 3.5 with bugfixes and new / updated targets in the meantime.
35 To get the latest update from us, you can now also visit our webpage at <https://betaflight.com/>.
37 In addition to the drastic changes mentioned above, Betaflight 4.0 will have a number of other exciting new features and improvements:
39 - yet again improved flight performance;
40 - 'Launch control' mode;
41 - switchable profiles for the OSD layout.
43 ## Events
45 | Date  | Event |
46 | - | - |
47 | 01 March 2019 | Start of feature freeze / Release Candidate window for Betaflight 4.0 |
48 | 01 April 2019 | Planned [release](https://github.com/betaflight/betaflight/milestone/20) date for Betaflight 4.0 |
50 ## Features
52 Betaflight has the following features:
54 * Multi-color RGB LED strip support (each LED can be a different color using variable length WS2811 Addressable RGB strips - use for Orientation Indicators, Low Battery Warning, Flight Mode Status, Initialization Troubleshooting, etc)
55 * DShot (150, 300, 600 and 1200), Multishot, and Oneshot (125 and 42) motor protocol support
56 * Blackbox flight recorder logging (to onboard flash or external microSD card where equipped)
57 * Support for targets that use the STM32 F7, F4 and F3 processors
58 * PWM, PPM, and Serial (SBus, SumH, SumD, Spektrum 1024/2048, XBus, etc) RX connection with failsafe detection
59 * Multiple telemetry protocols (CSRF, FrSky, HoTT smart-port, MSP, etc)
60 * RSSI via ADC - Uses ADC to read PWM RSSI signals, tested with FrSky D4R-II, X8R, X4R-SB, & XSR
61 * OSD support & configuration without needing third-party OSD software/firmware/comm devices
62 * OLED Displays - Display information on: Battery voltage/current/mAh, profile, rate profile, mode, version, sensors, etc
63 * In-flight manual PID tuning and rate adjustment
64 * Rate profiles and in-flight selection of them
65 * Configurable serial ports for Serial RX, Telemetry, ESC telemetry, MSP, GPS, OSD, Sonar, etc - Use most devices on any port, softserial included
66 * VTX support for Unify Pro and IRC Tramp
67 * and MUCH, MUCH more.
69 ## Installation & Documentation
71 See: https://github.com/betaflight/betaflight/wiki
73 ## IRC Support and Developers Channel
75 There's a dedicated Slack chat channel here:
77 https://slack.betaflight.com/
79 Etiquette: Don't ask to ask and please wait around long enough for a reply - sometimes people are out flying, asleep or at work and can't answer immediately.
81 ## Configuration Tool
83 To configure Betaflight you should use the Betaflight-configurator GUI tool (Windows/OSX/Linux) that can be found here:
85 https://chrome.google.com/webstore/detail/betaflight-configurator/kdaghagfopacdngbohiknlhcocjccjao
87 The source for it is here:
89 https://github.com/betaflight/betaflight-configurator
91 ## Contributing
93 Contributions are welcome and encouraged.  You can contribute in many ways:
95 * Documentation updates and corrections.
96 * How-To guides - received help? Help others!
97 * Bug reporting & fixes.
98 * New feature ideas & suggestions.
100 The best place to start is the Betaflight Slack (registration [here](https://slack.betaflight.com/). Next place is the github issue tracker:
102 https://github.com/betaflight/betaflight/issues
103 https://github.com/betaflight/betaflight-configurator/issues
105 Before creating new issues please check to see if there is an existing one, search first otherwise you waste peoples time when they could be coding instead!
107 ## Developers
109 Contribution of bugfixes and new features is encouraged. Please be aware that we have a thorough review process for pull requests, and be prepared to explain what you want to achieve with your pull request.
110 Before starting to write code, please read our [development guidelines](docs/development/Development.md ) and [coding style definition](docs/development/CodingStyle.md).
112 TravisCI is used to run automatic builds
114 https://travis-ci.org/betaflight/betaflight
116 [![Build Status](https://travis-ci.org/betaflight/betaflight.svg?branch=master)](https://travis-ci.org/betaflight/betaflight)
118 ## Betaflight Releases
120 https://github.com/betaflight/betaflight/releases
122 ## Open Source / Contributors
124 Betaflight is software that is **open source** and is available free of charge without warranty to all users.
126 Betaflight is forked from Cleanflight, so thanks goes to all those whom have contributed to Cleanflight and its origins.
128 Origins for this fork (Thanks!):
129 * **Alexinparis** (for MultiWii),
130 * **timecop** (for Baseflight),
131 * **Dominic Clifton** (for Cleanflight),
132 * **borisbstyle** (for Betaflight), and
133 * **Sambas** (for the original STM32F4 port).
135 The Betaflight Configurator is forked from Cleanflight Configurator and its origins.
137 Origins for Betaflight Configurator:
138 * **Dominic Clifton** (for Cleanflight configurator), and
139 * **ctn** (for the original Configurator).
141 Big thanks to current and past contributors:
142 * Budden, Martin (martinbudden)
143 * Bardwell, Joshua (joshuabardwell)
144 * Blackman, Jason (blckmn)
145 * ctzsnooze
146 * Höglund, Anders (andershoglund)
147 * Ledvina, Petr (ledvinap) - **IO code awesomeness!**
148 * kc10kevin
149 * Keeble, Gary (MadmanK)
150 * Keller, Michael (mikeller) - **Configurator brilliance**
151 * Kravcov, Albert (skaman82) - **Configurator brilliance**
152 * MJ666
153 * Nathan (nathantsoi)
154 * ravnav
155 * sambas - **bringing us the F4**
156 * savaga
157 * Stålheim, Anton (KiteAnton)
159 And many many others who haven't been mentioned....