Running TauLabs software on hardware that isn't supported? Work with others to get a new platform supported.
User avatar
User

shred

Posts

287

Joined

Fri Mar 14, 2014 11:50 am

Brain FPV Flight Controller

by shred » Fri May 16, 2014 1:52 am

As some of you know, I have been secretly working on a new flight controller (FC). It is now in it's second prototype revision and I have successfully completed several flights with it. I'm about to give prototypes to several of my friends for further testing and I felt it was appropriate to announce it here first, as it is exclusively designed to run Tau Labs.

The thing that sets this FC apart from others is that it is targeted for first person view (FPV) use and includes a full-graphic on-screen display (OSD). The OSD code is based on the OP OSD code, but has been quite heavily modified to make it work better and reduce CPU utilization. Other FPV related features are 3 analog inputs for voltage/current/RSSI measurements and audio output for, e.g., telemetry over an audio channel (not yet implemented).

I have to clean up a code a bit and will then open a pull request on github, probably within the next week. My current goal is to start manufacturing and selling the flight controller in July/August but that date may slip if another prototype revision is necessary. A picture of the flight controller and the hardware details are below. I hope you guys like it :D

brain_overview.png
brain_overview.png (305.74 KiB) Viewed 10146 times


Features:
  • 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, ST LPS25H*
  • Receiver compatibility: PWM, PPM, S.Bus, DSM2, DSMX, HoTT SUMD/SUMH
  • Up to 10 PWM outputs
  • Up to 3 serial ports for telemetry, receiver connection, GPS, etc.
  • External I2C (e.g. for airspeed sensor)
  • CAN Bus (needs external transceiver)
  • LEDs: 1x status (blue) 1x alarm (red)
  • Size: 36x36mm, weight: 8g

FPV specific features:
  • Full-graphic OSD (360x266 for PAL), software adjustable black and white levels, PAL/NTSC autodetect
  • Audio output (not yet supported by software)
  • 3 analog inputs for voltage, current, RSSI measurement
  • RSSI measurement using PWM, PPM, or analog input

* Final version will only include one type of barometer
User avatar
User

dandys

Posts

53

Joined

Sat Mar 01, 2014 8:25 pm

Location

Czech republic

Re: Brain FPV Flight Controller

by dandys » Fri May 16, 2014 5:00 am

This is very nice board shred! I'm realy impressed by size vs features ratio!
I'm working on something quite similar, but my board is little larger - there is one dedicated STM32F3 just for OSD and it also has more IO connectors including slot for xbee like RF modules and CAN transceiver on board. I'm using MPU-9250 too. I've done first flight with it yesterday :) Will post more info when i came home.
no avatar
User

jkoebler

Posts

1

Joined

Fri May 16, 2014 1:22 pm

Re: Brain FPV Flight Controller

by jkoebler » Fri May 16, 2014 1:24 pm

Hey there - I'm a reporter for Motherboard, Vice Magazine's science and tech site ... I'm really interested in learning more about this - check out our site then email me? www.motherboard.vice.com

My email is jason.koebler@vice.com

Thanks!
User avatar
User

Oso Grande

Posts

81

Joined

Wed Mar 05, 2014 2:52 pm

Location

Houston

Re: Brain FPV Flight Controller

by Oso Grande » Fri May 16, 2014 1:30 pm

Congratulations Shred! This looks fantastic!

Please let us know how the testing goes. If you're in need of any extra testers, I'd love to help.
User avatar
User

peabody124

Posts

1339

Joined

Tue Feb 18, 2014 12:33 pm

Re: Brain FPV Flight Controller

by peabody124 » Fri May 16, 2014 3:32 pm

Very nice feature set and very impressive with the single sided. Do you plan to open source the hardware?

Sent from my Nexus 5 using Tapatalk
User avatar
User

3rdeyepro

Posts

2

Joined

Wed Mar 12, 2014 10:39 pm

Re: Brain FPV Flight Controller

by 3rdeyepro » Fri May 16, 2014 5:45 pm

I know you probably have a bunch of people in line to test this. But I would be very interested is as well. Depending on how it works out, I might be interested in becoming a distributor and selling them on my shop at hovership.com
User avatar
User

shred

Posts

287

Joined

Fri Mar 14, 2014 11:50 am

Re: Brain FPV Flight Controller

by shred » Fri May 16, 2014 11:37 pm

I'm glad you guys like it :). Fitting everything on a single side was definitely a challenge; there really isn't any space left for additional components.

I'm currently not planing to make the hardware open source. That being said, I would love to see support for the Brain merged into the main Tau Labs branch. I think it would be mutually beneficial, as Tau Labs gets code, e.g. the OSD code, the MPU9250 and the LPS25H driver, that can be used in other flight controllers as well. For me, it reduces the risk of cheap copies appearing on eBay. Having the code in the main repo will also be less confusing for users, as they can use the same GCS for all their Tau Labs based flight controllers. Given that there already are several closed-hardware flight controllers in the main repo (e.g., Revo, F4, F3), is there any chance that the policy of only including open hardware will be changed?
User avatar
User

shred

Posts

287

Joined

Fri Mar 14, 2014 11:50 am

Re: Brain FPV Flight Controller

by shred » Sun May 18, 2014 1:25 pm

Video of one of yesterday's test flights:



So far I have been focused on improving the hardware and the low-level OSD code. The OSD graphics are just a proof of concept and can be substantially improved (e.g. Draco's OSD looks much prettier). It can be seen that the F4 has easily enough computing power to handle both OSD and flight control. The drawing time of the OSD is about 3..4ms per frame, and the OSD is only updated every other frame (12.5Hz for PAL), resulting in a CPU utilization of about 45%. Updating the OSD every frame is not be a problem and will increase the CPU utilization 5%..10%.
User avatar
User

peabody124

Posts

1339

Joined

Tue Feb 18, 2014 12:33 pm

Re: Brain FPV Flight Controller

by peabody124 » Sun May 18, 2014 2:58 pm

That's looking really nice. It was interesting that the horizon seemed to lag a bit - I'm wondering if that was actually the complementary filter being biased though or was OSD lag. You have any thoughts?

Regarding the policy, we can put it to the foundation again. Revo was maintained for historical reasons (and was meant to be open sourced :() and the ST boards actually publish schematics and we decided the low price and accessibility for people made it worth the exception. Either way, you could still submit PRs for the sensor drivers separately (and actually is how I would recommend approaching it anyway). That would also make it easier to maintain a branch that adds a new target.
User avatar
User

shred

Posts

287

Joined

Fri Mar 14, 2014 11:50 am

Re: Brain FPV Flight Controller

by shred » Sun May 18, 2014 3:57 pm

peabody124 wrote:That's looking really nice. It was interesting that the horizon seemed to lag a bit - I'm wondering if that was actually the complementary filter being biased though or was OSD lag. You have any thoughts?

Regarding the policy, we can put it to the foundation again. Revo was maintained for historical reasons (and was meant to be open sourced :() and the ST boards actually publish schematics and we decided the low price and accessibility for people made it worth the exception. Either way, you could still submit PRs for the sensor drivers separately (and actually is how I would recommend approaching it anyway). That would also make it easier to maintain a branch that adds a new target.


Indeed, I noticed the lag as well. I'm not sure where it comes from, the OSD updates at 12.5Hz, so the lag from the OSD may be noticeable. I will do some tests with 25Hz.

I will looking into opening separate PRs for the drivers. It would also be nice to eventually have the OSD code in the main branch, so other flight controllers could benefit from it. For now, it may be easier to keep the OSD separate until it is more mature. I can see the point of only having open hardware in the main project. Even if the Brain will live in a separate branch, I will push as much of the code upstream as possible, so others can benefit from it.

I also need to figure out the best way to make the OSD configurable using the GCS. At the moment, the configuration is done via the Modules page in the GCS, but it is very basic and only allows adjustment of black/white levels, and x/y shift of the overlay. My plan is to have fully configurable pages that can be changed using a switch. There could also be a number of fixed pages, e.g., one that shows a map with the flight path and waypoints, etc. The possibilities are virtually endless. Having everything running on one processor makes extending the OSD very easy, as one can just get data using the uavobjects system. I think the OSD may actually be very helpful for firmware development, as one can easily inspect variables during flight.

@peabody124 If you are interested in getting a prototype board, let me know. I will be happy to send you one. With all the effort you are putting into this project, you should get some perks ;).
Next

Who is online

Users browsing this forum: No registered users and 1 guest

Powered by phpBB ® | phpBB3 Style by KomiDesign
cron