This project provides an open source firmware for the AR.Drone quadrocopter by Parrot.

WARNING: This project is not supported nor endorsed by Parrot S.A., using this sofware will most likely void your warranty and might destroy your drone or make it fly away into deep space. Use at your own risk.

Click here to download the Custom Firmware or browse the source code on github

The new firmware for the drone is called ‘fly’. Upon start it will listen on UDP port 7777, waiting for the PC based controller called ‘OpenFlight’ to connect. Once OpenFlight connects, ‘fly’ kills the Parrot firmware ‘program.elf’ and takes control of the drone. Now you can fly the drone with the PC keyboard. OpenFlight logs the flight data to a file called YYYYMMDDHHMMSS_navlog.csv.

Known Issues

  • The PID controller parameters have not been optimized yet and currently only use ‘P’ parameters. In particular the height controller will probably settle below the target height, or the drone might not have enough power to take off.
  • The OpenFlight user interface is very rudimentary.
  • No soft landing function is implemented. In order to land: fly the drone to minimum altitude and then switch off the motors.
  • ‘Flat Trim’ parameters are not saved and are estimated after OpenFlight connects. Place the drone on a horizontal surface before connecting with OpenFlight.
  • No battery voltage monitoring. The drone will fall out of the sky once the battery is drained.

Install

1) FTP the folder ardrone/bin to your drone

2) Open a telnet session to your drone and execute:
# chmod 777 /data/video/bin/*
# /data/video/bin/fly

3) On your pc, start OpenFlight.exe and follow the instructions on screen.

4) (Optional) Execute the following command to make ‘fly’ start everytime you powerup the drone:
# echo -e “\n\n/data/video/bin/fly &” >> /etc/init.d/rcS

Other telnet commandline demo programs on the drone are:
You’ll need to execute `killall program.elf` before using these programs!
# /data/video/bin/navboard          – to see the navboard raw sensor data (3-axis accelleration, 3-axis gyro, sonar echos)
# /data/video/bin/attitude          – to see the navboard attitude data (pitch angle, roll angle, yaw angle, height)
# /data/video/bin/motorboard        – to control the motors/leds
# /data/video/bin/vbat              – to see the on board voltages
# /data/video/bin/video             – turns the drone into a giant optical mouse, keep it about 1 meter above ground and move it parallel to the ground. The program should report the movement.

Directories

ardrone/bin        – Pre-compiled binaries. FTP these files to your drone and run them in a telnet session.
ardrone/fly        – Custom firmware to fly the drone, the controller is in directory /pc/OpenFlight
ardrone/navboard   – Navboard driver and demo getting raw data from the navboard and converting it to realworld units
ardrone/attitude   – Attitude driver and demo calculating attitude (pitch,roll,yaw and height) estimates from navboard data
ardrone/motorboard – Motorboard driver and demo control of the 4 motors and leds
ardrone/vbat       – Battery voltage driver and demo
ardrone/gpio       – GPIO driver and demo
ardrone/video      – Video driver and demo (needs start&kill of program.elf to init the video)
ardrone/util       – Utilities
pc/OpenFlight      – C# controller for /ardrone/bin/fly

Compiling

For ardrone source code:
1) Download and install arm-2011.03-41-arm-none-linux-gnueabi.exe “Sourcery G++ Lite 2011.03-41 for ARM GNU/Linux” from http://www.codesourcery.com/sgpp/lite/arm/portal/release1803
2) On Windows: open a command prompt and cd to one of the directories
3) Run the make.bat batch file to compile the program in that directory

For pc source code
1) Download and install Visual Studio C# 2010 Express
2) Open pc/OpenFlight.sln

Changelog

19-Sep-2011 V03 Added ardrone/fly and pc/OpenFlight
20-Jul-2011 V02 Added video
17-Jul-2011 V01 Initial release

Below are the Software and Hardware versions of the AR Drone v1.0 that I used for the experiments on this site. The linux version is 2.6.26.47.

Software Versions

Firmware Release-Date Navboard Motor SDK FreeFlight-App
  1.11.3   02-08-2012?    4.70  1.42   ?   1.9.3
   1.7.4   26-07-2011     4.65  1.20 1.8     1.9
   1.6.6   25-05-2011     4.62  1.16 1.7     1.8
   1.5.1   24-02-2011     4.58  1.15 1.6   1.7.1
   1.4.7            ?     4.58  1.11   ?       ?
   1.3.3   04-10-2010     4.55  1.11 1.5     1.5
   1.0.4   23-07-2010?       ?     ?   ?       ?

Hardware Versions

Drone v1.0: 11.0
Navboard:    6.0
Motorboard:  3.0 (Motor Type/Supplier is 1.1 or 2.2)
© 2015 Tech Toy Hacks Suffusion theme by Sayontan Sinha