This is Vbrain RTF with new enclosure the .stl file is available on thinkverse:
This last revision of VBrain will be official presented to Makers Italy in Milan 9 November 2012 join us at the event :

Emile and Roberto are progressing on the port and test of the VRBrain with the Arducopter

code now we are working on rev 2.7.3-4.

In this video is possible to see the test of Emile Hexa . It's the first flight and we testing the stability , loiter and alt hold and return to land with approach activated.


We have succesfully flown and tested latest features and came up with some benchmarks to compare the different architectures using Arducopter firmwarre.

Results are pretty impressive and although all the glory goes to the Dev team for the latest firmware a special note goes to Roberto with his new VRBrain design.
Our goal was to have an already "ready platform" where actual developers could start coding on a 32bit platform without loosing the actual code simplicity.
We started with the STM32F1 CPU, running at 72MHz with no FPU and then jumped onto the STM32F4 168MHz CPU which supports hardware FPU on the chip.
Our latest improvements were on the CPU side and we were able to activate soft FPU calculation without the need to modify actual code.
Basically the STM32F4 supports three types of FPU:
no-fpu: uses standard libraries and emulates floating point calculation
soft-fpu: uses hardware floating point instructions but floating point function parameters/return values will be passed in core registers and not FPU registers
hard-fp: all function parameters/return values are passed to the FPU core registers bypassing the core register
These are basic results for the main loops in the Arducopter code:
Arduino 2560 on APM1-2:
Main loop time taken (microseconds):
Min: 4380 us
Max: 6592 us
STM32F1 on Multipilot32F1 V1 and V3 (72MHz no FPU):
Main loop time taken (microseconds):
min: 656 us
max: 1104 us
STM32F4 No FPU on VBRAIN and MP32F4V3 and VBRAIN (168MHz FPU available but not used):
min: 315 us
max: 492 us
STM32F4 soft FPU on VBRAIN and MP32F4V3 and VBRAIN (168MHz with soft FPU enabled):
min: 210 us
max: 315 us
Basically we are at least 20 times faster than current Arduino Hardware although we share 90% of original application code.
Also with the same CPU (F4) we can go 2 times faster without changing one single line of code (almost).
Better performances (at cost of re-writing the code) could be with hard FPU .
So this performances is impressive :) We have a lot of power for start to try more complex algorith as EKF or UFK inside standard Arducopter32 library architecture. If there are some hardcoder that want try to work on this task are welcome . Will be all support from FOXTEAM :)
We yet try the OpenPilot EKF on VBRain and it is very smooth ... but not so differernt of last DCM implementation. Thanks Tridge :)
In this video is possible to see a vbrain installed on a custom frame that use great component : SmartDrone motors and propeller the time of flight is around 27 min.
This is the video of first flight of special revision of firmware for VBRAIN that use the FPU acceleration the benchmark is about this revision of code.



Roberto and Emile a FoxTeam Member .

Here the original blog post :

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Moderator

    Some news update ... we finish the porting of rev 2.8.1 to VR Brain , we decide to put on indiegogo VR BRAIN at special price for Chrismas holidays . Support the project with a great gift for your Chrismas :)

    Check here for more info :  

    In the next weeks will be some news about same special application where we are using VR Brain .



  • Developer

    Bravi Roberto ed Emile, very good, i'm finishing my new hexa to install the VR-Brain, i can not wait to try it!

  • DfuSe demo 3,01 wich contains the .Hex generator and the uploader tool.

    Everything is opensource and the source code is available so it should pretty easy to make your custom tool.


  • @Emile

    What kind of USB tool are you using to download to flash the MCU ? What is the compiled file format to upload with that tool ?

  • @Robert, the latest revision is not published yet, but it is much more a 2.7.3

    As Roberto said, we are a bit short on experienced programmers, so setting up Git at the moment is not a priority.

    Using the Eclipse IDE is very easy, but uploading the code is slightly different it is done via USB with a ST tool. It could be integrated in the Eclipse IDE, but as above time is against us :)
    The application code is almost identical, we use a wrapper to define wire functions based on the maple ide this allows the tipical functions like digitalwrite() etc We still have some differences but we try to keep them as little as possible. Keeping the code up to date is mostly done with text compare tools, so no big science. The difficoult part comes when you need to enable certain functions like the FPU and when you need to code the HAL...

  • Moderator

    Yes Philipp, that's mine cpu :) It's great and powerfull i like it a lot ... so Our team share the library for the STM32F1 and STM32F4 developed inside our community ... the first revision the STM32F1 derived by leallabs , the STM32F4 instead is rewrite by scratch by Alberto Vaccariello a member of foxteam and me . Alberto Work on HAL and i'm work on apm32_library .... So we have also a revision of library available for professional application that use STM32L1 . The L1 respect of F4 is for low battery application. Have RTC inside and a lot of low power functionality the power consumption is around 34 uA x mhz in running application. That's micro is great for battery power application. We develop datalogger and tracker on that kind of platform.

  • wiki page on the cpu specs: STM32_F4

  • Moderator

    Hi Robert ,

    so at this point we are working on 3 different revision ... and check the upgrade before to aligh all the code with arducopter .... we normally understand the patch then add it to our code ... is not so simple mantain the aligment ... At this point we take better upgrade from 2.7.1 - 2.7.4 and that is last revision that we fly in the video . But we introduce different a bit different code for manage the sensor  and mpu available on stm32f4.

    The last code is in the hand of Emile and we can ask him when you share it .... and also share the configuration in makefile for activate MPU ... Great EMILE :)

    So now we see that Leonard introduce a new acro rate control could be nice to check also on vbrain ... i think that could be next upgrade .

    At the moment we are not so good developer that use GIT for align the code .... could be next step .... now we transfer in zip file the workspace by skype and check the difference with beyoind compare tools :)

    The main works is doin by 3-4 people ... not more at the moment. Need more resource :)

    So I'm working on a bit different resource "RTF" where i change the approach for frame configuration and radio ,too . So my idea is to select the frame type only changing a parameter in mission planner and select the kind of radio. In our code we implement also the code for PPMSUM , FRSKY and I'm working on Spektrum SBUS



  • Looking in your downloads area, the latest I see is 2.7.1?

  • Roberto, so what is the status of a user actually using your VBrain?  Say I bought one... how do I upload code?  How would I keep it up to date with the latest Arducopter development?

    Do you have to take every release, and do a new job to port it?  Or do you have a repository with the changes needed to run on the Vbrain, and you can pull in any changes to Arducopter as we make them?

This reply was deleted.