“This is what it means to be using BrainFPV products; you will always be using the latest technology that will then be adopted throughout the industry (by which time we’ve already moved to the the next great thing).”
By now, you may have noticed, BrainFPV has a new website! We completely scrapped the old site and started from scratch. We hope you like the result. Make yourself at home.
Our website is not the only thing that’s shiny and new over here at BrainFPV. We are proud to announce two exciting new products: BrainFPV RE1 (Racing Edition 1) flight controller and its companion product, Mini Power Board (mPB).
We did our best to keep things as simple as possible, so there is no unnecessary wiring between components and the setup is straightforward while still giving you a lot of options. We are thrilled about it (get ready to happy dance) and think you’ll love it.
THE JOURNEY: From BRAIN to RE1
We thought it would be fun to invite you behind the scenes at BrainFPV and share some details about the development of RE1 and the engineering decisions behind it.
The original (last generation) “Brain” flight controller was released at the end of 2014. While the design of Brain was solid , we learned a lot and were eager to make improvements. Below are a few examples of what we have been working on over the past year. OK, let’s get nerdy!
1. JST-SH Connectors
- What we wanted to improve: It turns out most people don’t like JST-SH connectors. While they are pretty neat in terms of PCB real-estate required, they are a bit of a pain to work with due to the tiny connectors. The connectors also don’t lock, so there is the possibility of a connector unintentionally becoming loose. So yeah, we won’t be including those in the RE1.
- Solution: Naturally, not using JST-SH connectors was easy but dropping the connectors means the space on the board gets tight if we use the same number of connections with regular servo headers. Therefore, we decided to remove support for PWM receivers, which need a separate signal for each channel and therefore a lot of board space. In addition, we removed the 5V power pin from the servo headers, which aren’t needed when connecting motor controllers (ESCs) with only the signal and ground connections to the flight controller. Problem solved. Next.
2. Accelerometer / Gyroscope Sensitive to Vibrations
- What we wanted to improve: To the best of our knowledge, Brain was the first flight controller to use the Invensense MPU9250 accelerometer / gyroscope / compass. While this sensor performs quite well and has been adopted by numerous flight controllers since then (OpenPilot Revo Nano, Sparky2, Pixracer, SP Racing F3 Mini / EVO, to name a few), we have found that vibrations can negatively affect the measurements. While this problem usually can be alleviated using some form of vibration damping, modern racing quadcopters usually have very little space for mounting the flight controller and it can therefore be difficult to achieve sufficient damping of vibrations. We had a fun time figuring out a way to solve this problem.
- Solution: Finding an alternative for the MPU9250 was challenging. We evaluated a number of sensors from different manufacturers and finally selected the BMI160 from Bosch Sensortec. One advantage of the BMI160 is that it can run faster than the MPU9250 while still using the internal antialiasing filters. In our tests we found that it is much less sensitive to vibrations. Like with the MPU9250 in Brain, RE1 is the first flight controller to use this sensor and we expect it to be widely used in drone racing flight controllers in a year from now. This is what it means to be using BrainFPV products; you will always be using the latest technology that will then be adopted throughout the industry (by which time we’ve already moved to the the next great thing).
3. SPI Connections for Sensors and OSD
- What we wanted to improve: Due to the way the On-Screen Display (OSD) on Brain worked, it was necessary to use two SPIs (Serial Programming Interfaces), which are fast serial interfaces for connecting peripherals to a microcontroller, for the OSD. Therefore, the MPU9250 sensor had to be connected a slower I2C interface, which is typically about 10 times slower than SPI and also creates more processing overhead. This put some limits on how fast the sensors could be read out, which meant the sensor couldn’t be read faster than 1kHz. Note that 1kHz is already quite fast but due to the filtering employed in the MPU9250 there is a possibility of aliasing, which is undesired.
- Solution: Unlike in Brain, which used I2C for the sensors, the RE1 uses the BMI160, that’s connected to the microcontroller using a dedicated SPI interface, guaranteeing the lowest possible latency and high sampling rates. We used a second SPI for FLASH memory and the RE1 extension port (for connecting future accessories). This created the challenge of finding a way to attach the OSD using only a single SPI. This required us to completely re-engineer the circuitry that overlays the OSD on top of the video feed. Not a piece of cake, let me tell you. In the end, we decided to create our own digital OSD design implemented in an FPGA, which is a programmable digital logic device. The FPGA receives video overlay data from the microcontroller using a QUADSPI interface, which is similar to a normal SPI but can support higher data transfer rates. Apart from the OSD, the FPGA is also used for additional functions in RE1, such as inversion of serial signals, control of programmable RGB LEDs (so you can add some bling to your drone), and sending of infrared (IR) data for lap timing systems. It took us a long time to implement. A long time. In the end, it turned out better than we imagined.
RE1 OSD Development
4. Confusing Receiver Options and Limitations
- What we wanted to improve: When designing Brain, we wanted to give the user as many options as possible. This lead to some confusing options. For example, Brain had an “RxPort”, which could only support PWM and PPM receivers. Serial receivers, such as S.Bus or DSM, had to be connected to a serial port with some additional limitations, e.g., S.Bus was only supported on one serial port and DSM binding on the other. Moreover, the number of available PWM outputs (to connect motor controllers) also depended on the selected receiver, .e.g., when a PWM receiver was used only 4 outputs were available while up to 10 could be used with a DSM or S.Bus receiver.
- Solution: For RE1, we wanted to keep things simple and have one port that works with all receivers supported. There is also a selectable voltage for the receiver (5V or 3.3V) and the receiver is powered when RE1 is connected to USB. This makes setup and more straightforward and safer, as the receiver can be setup without having to connect the main battery, so there is no danger of having the motors unintentionally turn on during this step. In addition, RE1 always has 6 PWM outputs available on the same pins, which makes it even easier to use. Boom.
5. Bonus Material: Faster Processor
To cope with the higher processing requirements due to the faster (1.6kHz) sampling rate of the BMI160, we upgraded the processor to the latest generation STM32 F4 chip that can can run at 180MHz (compared to 168MHz on Brain).
Fun fact: This is also a first. Currently, there are no other STM32 F4 based flight controllers that run as fast as RE1. The high speed guarantees that the flight controller will be able to run advanced flight control code with ease.
Given the capabilities of the Brain - there is still nothing comparable on the market, we think the price was fair, however A number of people were turned off by the price of the Brain, which was ($129 when it was first released and $99 later on). So, we really wanted to challenge ourselves and set off to make RE1 more affordable.
How could you possibly make the RE1 better AND cheaper, you ask? We have no idea. But we actually did it! The MRSP of RE1 is $79. While we aimed at making RE1 affordable, we refuse to make it cheap.
7. Quality and Open Source
As you know, there are loads of cheap flight controllers available. Our aim is for RE1 to be the best racing flight controller, not the cheapest. We also refuse to cut corners by lowering the quality. Therefore, we decided to assemble RE1 locally in the United States with a company that specializes in complex assemblies for major defense and medical device companies. Our quality control procedure also includes a full functional test, so we can be really sure that each RE1 is as good as the next.
Lastly, it is worth noting that with purchasing our products, you are not only supporting hardware development, you are also supporting open source software development. For example, some of our contributions to dRonin are directly related to RE1. E.g.: support the STM32F446 (#144, #742), driver for BMI160 (#743), optimization of the stabilization / actuator system (#758), code to generate I-Lap and Trackmate IR transponder packets (#963), and the addition of a new pixel format and driver for the OSD (#964). These contributions not only benefit us, but also other flight controllers using dRonin and the open source flight controller community as a whole.
Thanks for joining us behind the scenes at BrainFPV and hope we didn’t bore you with too many technical details. Moving forward, we will regularly be publishing blog posts on a variety of drone related topics. We love to share our passion for drones with you and are planning for some informative and educational blog posts, enabling our readers to stay on top of the rapidly evolving world of drone technology.
Feel free to leave a comment below with your thoughts and perhaps suggestions for future blog post topics. And make sure to sign up to our mailing list to be notified when pre-orders start.
Martin Luessi, Founder / CEO BrainFPV