We wanted to introduce you guys to something we have been working on over the past year.. Namely, the Brain FPV Flight Controller:
The Brain is a next-generation flight controller that is specifically designed for first person view (FPV) flying and includes a full-graphic on-screen display (OSD). The Brain is small and light (36mm x 36mm, 8 grams), so it is ideally suited for FPV mini quads but it can fly anything, from mini quads to large octo-copters and fixed-wing planes.
The firmware running on the Brain is open source (GPL V3) and based on Tau Labs, which gives you many exciting features and also a great cross-platform (Linux, Windows, OS-X) ground control software to configure your flight controller using USB. So far, the Brain specific code has not been merged into the Tau Labs tree and instead exists as a (friendly) fork on GitHub.
The OSD code was originally developed by the Super-OSD and OpenPilot projects. Naturally, the improved version of the code used in the Brain is available on GitHub for anyone to reuse and build-on (GPLv3 license).
The hardware files of the Brain are currently closed, but we plan on releasing them in the future. While the Brain was developed independently, it retains many of the connector pinouts used on the popular CC3D flight controler.
The most exciting feature of the Brain is definitely the full-graphic OSD. The video below demonstrates the OSD on a tricopter and also the ability of the Brain (and Tau Labs in general) to handle aggressive acro flying, as well as, GPS assisted modes, such as PH and RTH.
The Brain is now available for purchase from our website. The full specs are given below.
FPV Specific Features:
- Full-graphic OSD (360x266 for PAL):
- Software adjustable black and white levels
- PAL/NTSC autodetect
- 4 fully user configurable OSD pages, selectable using switch on transmitter
- Audio output (not yet supported by software)
- 3 analog inputs for voltage, current, RSSI measurement
- RSSI measurement using PWM, PPM, or analog input
- CPU: STM32F405RG (32bit, 168MHz, 192kB RAM, 1MB Flash)
- 64Mbit flash for settings, way points, logging
- InvenSense MPU-9250 latest generation 3-axis gyro/accel/mag
- Barometer: MeasSpec MS5611
- Receiver compatibility: PWM, PPM, S.Bus, DSM2, DSMX, HoTT SUMD/SUMH
- Up to 10 PWM outputs (up to 400Hz update rate)
- Up to 3 serial ports for telemetry, GPS, RC receiver, etc.
- External I2C port, can e.g. be used with an external HMC5883 compass
- Micro USB port for configuration via PC
@Jake, the OSD is black and white. While colors would be nice, they are not really that helpful when flying. It would also be very challenging to make a full color OSD in the form factor and price point of the Brain; maybe in a year or two ;)
Is the color washed out? I didn't notice any color in the overlay.
If you don't use the color it looks just like another 1980's style overlay claiming to be an OSD.
Ordered one to work on OSD. Sounds like I have my winter project. Now to set up another development environment...
@Andrew, yes the OSD uses double buffering and the internal RAM. It uses about 55kB total for the display buffers. For a standalone OSD, it should be possible to increase the resolution to get even nicer graphics :).
Given that it has full graphics with a mask layer it looks like it could be a nice alternative to the MinimOSD (and all the other MAX7456 chip based designs) to complement the AC - just needs a MAVLink interface module to substitute for the data from its internal flight controller. $129 is more expensive than MinimOSD, although presumably it could be significantly less expensive without the sensors.
I assume that the frame buffer is in the 192kB RAM. Does it support double buffer graphics? Seems like there should be sufficient RAM available.
now pls, port AC onto this babe and it will become board of choice for all fpv-fun platforms :)
You just need to add a LRS board to that empty space on the bottom and it would be perfect!
The code has always and still is open source.
@BrainFpv 36x36 vs 37x37 is not so different :) So you need two spi for control the OSD ? Your cpu is 64 pin or 100 pin ? 15 % of cpu is not so much . I see on Taulab forum there are some problem with original OSD project respect of your porting are you solve it ? So now is possible to use the original OSD code in other GPLV3 project ?
A couple of us have been pushing a board with these features in arducopter for a while now.