BrainFPV Flight Control System, Built In OSD

Bartman

Welcome to MultiRotorForums.com!!
Just came across this while surfing the interweb, same 30.5mm mounting hole format as CC3D/NAZE32 (and derivatives) but with the OSD functions built in!

This is a big step forward for smaller heli's as the OSD can be SOL when it comes to mounting space on increasingly smaller frames. The firmware is related to the TauLabs product so @peabody124 may like to chime in and share what he knows about it.

website
www.brainfpv.com

View attachment 26367

Hardware Guidance:
Brain - Hardware Setup
The Brain gives the user a lot of freedom in terms of hardware connectivity and the ports can be configured through the ground control software (GCS) to assume different functions. The following diagram lists all ports and their functions. More detailed information about each port is given below.

brain_hardware_connections.png


AV Port Video input and output for OSD, audio output.
Flx Port Serial port (UART) for GPS, telemetry, serial RC receiver connection (Spektrum DSM2/DSMX, Graupner HoTT), etc. The Flx Port can also be configured as I2C, which allows connecting an external HMC5883 compass.
Main Port Serial port (UART) for GPS, telemetry, RC serial receiver connection (Spektrum DSM2/DSMX, Graupner HoTT), etc. This port also features a hardware inverter for connecting Futaba S.Bus compatible RC receivers.
Rx Port Main RC receiver port for PWM/PPM receivers. When PPM is used, only a single pin is used for the RC input, which allows using the other pins as PWM outputs or as an additional serial port for GPS, telemetry, etc. It is also possible to configure the port as PWM output only, giving the Brain a total of 10 PWM outputs. Finally, an additional serial port (UART) can be enabled on the RxPort, which allows you to connect even more gadgets to the Brain!
Sen Port This port is for analog sensors with a voltage range of 0V - 3.3V. Currently supported are voltage sensors, current sensors, airspeed sensors, and RSSI (received signal strength indication).
Servo Port Main RC motor/servo output with 4 PWM outputs (up to 400Hz). It is recommended to power the Brain through this port (max. voltage 6V).
SWD Port
Port for software development and debugging using an ST-LINK/V2.

USB Port Micro USB port for configuring the Brain trhough the ground control software.


Connecting the Brain to your RC / FPV Equipment
The Brain is not a "plug-and-play" product and basic electronics knowledge is required for connecting the Brain to the rest of your equipment. For best results, follow these best practices:

  • Avoid ground loops, i.e., the ground signal wires should not form closed loops.
  • Keep the Brain separate from wires carrying high currents (e.g. motor wires) and use a twisted-pair arrangement for such wires. High current wires generate strong magnetic fields, which will interfere with the compass of the Brain. If separation is not possible, consider using an external compass.
  • Use shielded wire for long servo connections on planes.
  • Note: For some video systems it is necessary to directly connect the ground of the video system to the Brain (see diagram below). Failure to do so will cause the OSD to jump on the screen.
The following diagram shows the recommended wiring for an FPV quadcopter. The quadcopter uses a PPM RC receiver which can output the RSSI signal through the PPM stream. The Brain and the video equipment are powered through the balance plug of the lithium polymer battery. This serves two purposes: It increases safety, as everything can be powered except the ESCs. So you can be sure the motors will never start by accident when configuring the system. Second, as wires are separate from the high-current wires going to the ESCs, the power will be less noisy and the motors will not create artifacts in the video signal. To further improve the video signal quality, an additional LC filter is used for the video system.

brain_example_wiring.png


Software Guidance:
Brain - Software Setup
The Brain runs a customized version of Tau Labs, which is an open source flight controller software that focuses on high code quality and open development. The difference between the software running on the Brain and regular Tau Labs is that custom code has been added to support the on-screen display (OSD). The Brain code is regularly updated to contain all the features from Tau Labs and can be found on the BrainFPV GitHub page.

For the user this means that for everything except the OSD configuration, regular Tau Labs resources can be used for configuration and setup. Useful resources are the Tau Labs forum and the Tau Labs wiki. Further information is given below that should get you in the air.

Installing the Ground Control Software
As a first step, download the latest version (on top) of the Brain ground control software (GCS) for your platform and install it. The following versions are available:

Release Windows OS-X Linux
Brain-20150928
Brain-20150928_win32.exe

Brain-20150928.dmg

Brain-20150928_linux_x86.tar.gz

Brain-20150720
Brain-20150720-r1_win32.exe

Brain-20150720-r1.dmg

Brain-20150720-r1_linux_x86.tar.gz

Brain-20150213
Brain-20150213-r1_win32.exe

Brain-20150213-r1.dmg

Brain-20150213-r1_linux_x86.tar.bz2

Brain-20141123
Brain-20141123_win32_r2.exe

Brain-20141123_r3.dmg

Brain-20141123_linux_x86.tar.bz2

Note:

  • Follow the instructions below for updating the firmware.
  • On Windows: if the GCS crashes systems with Intel graphics cards, see here.
  • If you have display issues in the GCS, e.g., some elements aper white, reset the settings using File -> "GCS Settings Import/Export" and click on "Reset Config".
  • If you are having problems after updating the firmware, e.g., the flight controllers is in a reboot-loop, use the Rescue mode in the GCS to flash the following file: fw_brain_erase_flash.tlfw and click on Boot. This is a special firmware that erases all settings. After the flight controller boots sucessfully, flash the regular firmware using the GCS (see below).
In addition to the full GCS, we also offer a GCS for Android phones and tablets. The Android GCS offers a limited set of functions and is intended for changing settings in the field.



Firmware Update
Run the GCS and connect the Brain to your computer using a micro USB cable. The Brain should be automatically detected by the GCS. When connecting the Brain, you may get a warning about a UAV objects mismatch. This indicates that the version of the GCS does not match the version of the firmware running on the Brain and it is necessary to update the firmware. In general, it is a good idea to verify that the firmware version matches the GCS version. The firmware version is shown in the "Firmware tab" in the GCS:

gcs_firmware_kQrv5Et.png


If it is necessary to update the firmware, perform the following steps:

  1. Export UAV settings: This will allow you to restore the configuration of the Brain after the firmware update. Therefore, this step is only necessary if you previously configured your Brain. Importantly, this step should be performed before updating the GCS, so the GCS version matches the firmware of the the Brain. To export the settings, select "File -> Export UAV Settings..." in the GCS menu.
  2. Flash the firmware: In the "Firmware tab" click on "Halt", this will put the Brain in bootloader mode (the blue heartbeat LED should be slowly pulsating). Then click on "Open File", select the firmware file included with the GCS ("fw_brain*.tlfw" on Windows, the file is in the "flight\brain" directory, on OS-X and Linux it is in the "firmware" directory), and click on "Flash". The status bar will indicate the upload progress. After the upload is complete, click on "Boot".
  3. Erase old settings: After a firmware update, it is important to erase all settings from the board to make sure that the settings file system gets initialized with the new settings structures. To do so, select "Tools -> Erase all settings from board..." in the GCS and after completion restart the flight controller by clicking "Reset" in the "Firmware tab".
  4. Import UAV settings: If you exported your old settings in step 1, import your settings in this step. First, if you had any optional modules enabled, enable them again in the GCS and restart the flight controller. Second, in the GCS select "File -> Import UAV Settings..." and select the previously saved file. If you get warnings about UAV object ID mismatches, this is usally not critical. Errors about missing UAV objects may indicate that you previously had modules enabled which you did not enable after the firmware update. This type of error can be resolved by enabling the corresponding module and restarting the Brain again. After the settings have been saved to flash, restart the controller again. Your Brain is now running the latest firmware with the same settings you had previous to the update.
Tau Labs Configuration
Refer to this Wiki page for the initial configuration. For optimal flight performance, it is important to tune the PID parameters for your frame. This can either be done manually, or automatically by using the autotune feature in Tau Labs (multirotors only). Autotune will identify the characteristics of your multirotor ("system identification") and determine the PID parameters automatically. The following video demonstrates the use of autotune. Note: To use autotune, enable the Autotune module as shown in the video and set one of the flight mode switch positions to "Autotune".


On-Screen Display Configuration
The OSD configuration is fully integrated into the GCS and consist of two parts. In the "General" tab, common OSD settings, such as, metric/imperial units and the white/black levels for your video system can be configured. It also allows you to configure an accessory channel to switch between user configurable OSD pages during flight.

osd_config1.png


The "Custom Page" tabs allow you to configure up to four different OSD pages, where the individual elements can be positioned with pixel accuracy. The "Copy Page" buttons allow quickly copying the configuration from one page to the next. To configure the OSD pages, it is best to have the video output of the Brain connected to a monitor, or, alternatively, use your FPV goggles / ground station to see the OSD while it is being configured. This allows you to quickly position elements by clicking "Apply". Once you have configured all the pages, click "Save" to store the configuration in the flash memory of the Brain.

osd_config2_3Ygf13c.png


Using an External Compass
In some setups, the Brain is located too close to high current wires, which can degrade the magentometer performance due to the magnetic produced by the currents. In this situation, it is best to use an external HMC5883 compass attached via I2C to the Flx Port of the Brain. In the software, the external magentometer is enabled in the hardware configuration page, as shown below. Note: The external magentometer will only be powered when the 5V battery voltage is connected to the Brain. Therefore, if the Brain is only powered through USB, the magentometer will be disabled and a sensor error will be shown in the status display.

ext_compass.png
 

Attachments

  • BrainFPV FC Board.jpg
    BrainFPV FC Board.jpg
    72.2 KB · Views: 392


Bartman

Welcome to MultiRotorForums.com!!
i recommend it! not the flight controller, but the plan to investigate it further. :) let us know how it works out for you
 


I love playing with different stuff, so, I will soon get my hands on one.

Just started with a Scorpion 280 Sky Strider and a new Align MR25.
 

Top