Skip to content

GustavHas/LaunchPadFlightController

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaunchPad Flight Controller

Developed by Kristian Lauszus, 2015

The code is released under the GNU General Public License.


Build Status

This is a flight controller used for a quadcopter in X-configuration.

It is written for the Tiva C Series TM4C123G LaunchPad running at 80 MHz.

In order to built this project you need to download Keil µVision IDE 5. Then open the project file.

More information can be found at the following blog post: http://blog.tkjelectronics.dk/2015/01/launchpad-flight-controller/.

Android application

Android application is available at the following repository: https://github.com/Lauszus/LaunchPadFlightControllerAndroid.

Video demonstrations

Some video demonstrations of the flight controller can be seen at my YouTube channel.

GUI

A simple GUI can be found inside the GUI directory. It can be used to visualize the orientation of the flight controller.

Features

  • Store PID values, calibration values etc. in EEPROM
  • Gyro & accelerometer calibration routine
  • Magnetometer calibration routine (turns on Blue LED when calibrating)
  • Arm/disarm using rudder
  • Status LEDs
  • Supports CPPM receivers
  • Gyro & accelerometer (MPU-6500)
  • Magnetometer (HMC5883L)
  • Ultrasound sensor aka sonar (HC-SR04)
  • Rate mode, self level mode and heading hold mode
  • Android application
  • OneShot125 ESC support
  • Buzzer feedback

Current setup

Pinout

Pin Connection
PB6 Motor 1
PB7 Motor 2
PB4 Motor 3
PB5 Motor 4
PC6 CPPM input
PA6 SCL
PA7 SDA
PE3 MPU-6500 INT
PC4 Sonar echo
PC5 Sonar trigger
PB0* UART1 RX
PB1* UART1 TX
PA5 Buzzer
PE4 HMC5883L DRDY

* Not 5V tolerant

UART1 is connected to a HC-06 Bluetooth module running at a baudrate of 115200.

Notes

Note that the motor layout follow the Naze32 in x-configuration i.e. motor 1 is bottom right, motor 2 is top right, motor 3 is bottom left and motor 4 is top left when looking from the back.

Make sure that roll increases when tilting quadcopter to the right, pitch increases when pitching quadcopter downward and yaw increases when rotation quadcopter clockwise.

It is a good idea to run the accelerometer, magnetometer and ESCs calibration routines before flying the aircraft.

WARNING: Take propellers OFF when testing and calibrating ESCs!!

Credits

A lot of the inspiration for this code came from Cleanflight and other open source flight controller projects.

For more information send me an email at kristianl@tkjelectronics.dk.

About

TM4C123G based Flight Controller

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 73.9%
  • C++ 25.3%
  • Other 0.8%