Code Monkey home page Code Monkey logo

bmf055-flight-controller's Introduction

BMF055-flight-controller

I wanted to thank Bosch Sensortec for supporting this project with hardware and knowledge. The idea about this project is to build a flight controller based on a single chip: the BMF055. This system-in-package contains all necessary components: a 3 axis gyroscope, 3 axis accelerometer and a 3 axis magnetometer. These are connected to an Atmel SAMD20 Cortex M0+ micro controller. This software gives the BMF055 the ability to control a quadrocopter by just adding a receiver and 4 external motors and speed controllers.

Additional information regarding development state, features and hardware setup will be added to the wiki of this repository.

##Idea: The idea was to set up a flight controller with just a single chip, but the problem was which software it should be based on. Cleanflight is made for the STMFXXX series and lacks some hardware abstraction. It has really gerat features, so the first idea was to either add support for the BMF055 or to port it. But it would have been a lot of work the get it even running. So I chose to take a really simple core and to replace the parts regarding the hardware. Nanowii mw21 came to my mind, because it still has great performance on the 8 bit controllers, flies great and is just simple. So this was the ideal plattform to experiment with the BMF055 and to get to know it.

This software is based on the following components:

The Atme Studio is based on the data stream example for the BMF055. It was really helpful for initial testing and for getting to know the system. This example sets up the SAMD20 configures the sensors and periaodically reads the sensor values and prints them to a USART interface. The part for setting up, interfacing and reading the sensors was used for this firmware.

Since I am also involved in Cleanflight development some of those ideas found their way into this firmware. The number of improvements and new features is just awesome. A big thanks to Dominic Clifton and all the contributors.

This is the experimenting area of Cleanflight maintained by Boris B and in the past tons of experiments were made here. Lots of them werde considered as stable and merged to Cleanflight. This is just a great motor of innovation with all the experiments made there, so I will also add some of the ideas in here.

Atmel ASF and SAM-BA

The bootloader, which can be flashed to the BMF055 is the Atmel SAM-BA, a special adaption of it can be found in this repository. The low level hardware interfacing is done using the Atmel Software Framework.

The core and idea for this firmware is based on the "old" MW architecture which was originally developed for small Atmel 8-bit micro controllers and sensors from the Wii console.

Multiwii 2.1 nanowii adaptions by FelixNiessen/flyduino

This MW version is a special adaption by Felix, it contains only necessary parts and is focussed on stunt flying. It also involves new features like the oneshot protocoll for higher ESC refresh rates.

ghit.me

bmf055-flight-controller's People

Contributors

nighthawk32 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.