Difference between revisions of "Bebop"

From PaparazziUAV
Jump to: navigation, search
Line 112: Line 112:
* bcmwl Everything with wifi
* bcmwl Everything with wifi
* diagnostic Outputs sensor diagnostic
* diagnostic Outputs sensor diagnostic
* mk3_camera_eeprom                    Reads the front camera EEPROM
== Cross compiler ==
== Cross compiler ==

Revision as of 02:27, 5 February 2015

Parrot Bebop

The Bebop from Parrot is an Wifi controlled flying quadrotor and is designed to be controlled with Android and iOS devices.



  • Wi-Fi antennas: MIMO dual-band with 2 double-set of ceramic antennas for 2.4 and 5 GHz
  • Sending power: Up to 26 dBm
  • Signal range: N/A


  • 4 Brushless Outrunner motors
  • Glass fiber reinforced (15%) ABS structure
  • High-resistance EPP outdoor hull: Clip and unclip easily to adapt to indoor and outdoor flight, protects the propellers against potential bumps, can be removed to reduce wind factor
  • Three-blade auto-block propellers in Polycarbonate with fast disassembly system
  • Anti-vibration bumpers


  • Camera with "Fisheye" lens 180° 1/2,3": 6 optical elements and 14 Mega pixels sensor
  • Video stabilization: Digital on 3-axes
  • Video definition: 1920x1080p (30fps)
  • Photo definition: 3800x3188 pixels
  • Video encoding: H264
  • Photo file format: RAW, DNG
  • Internal memory: Flash 8 GB
  • Extended memory: Micro USB


  • Lithium Polymer 1200 mAh
  • Flight time: Around 12 minutes


  • Motherboard:
    • Parrot P7 dual-core CPU Cortex 9
    • Quad core GPU
    • 8Gb flash memory
  • All fixed on a magnesium shelf that acts as electromagnetic shielding and as a radiator
  • Operating system: Linux
  • Developping: Open-source SDK


  • 3-axes magnetometer (AKM 8963)
  • 3-axes gyroscope (MPU 6050)
  • 3-axes accelerometer (MPU 6050)
  • Optical-flow sensor (Fig.8): Vertical stabilization camera (Every 16 milliseconds, an image of the ground is taken and compared to the previous one to determine the speed of the Bebop Drone)
  • Ultrasound sensor (Analyzes the flight altitude up to 8 meters)
  • Pressure sensor (MS 5607)


  • GNSS (GPS + GLONASS + Galileo, Furuno GN-87F)


  • 28x32x3.6cm without the hull
  • 33x38x3.6cm with the hull


  • 380g without the hull
  • 400g with the hull



  • 73 P7MU IRQ
  • 81 GPS Power Enable
  • 85 Fan enable
  • 90 Vsync horizontal camera
  • 91 DRDY MPU6050
  • 201 On/Off button (default monitor to files running: /bin/onoffbutton)
  • 202 HOST_MODE_3V3
  • 128 (video) Slew rate??
  • 129 Vertical camera enable
  • 130 (video) Slew rate??
  • 132 Horizontal camera enable
  • 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF
  • 200 US Pulse level
  • 202 USB Host mode pin


  • 6 Heating resistor for warming IMU sensors (125000ns period, 0ns duty)
  • 8 MPU6050 clock (31510ns period, 15258ns duty) Desired frequency is 32768kHz with 50% duty cycle (period=30517us). Period was set empirically to 31517 to get a 5ms data ready period. Desired frequency is slightly modified to synchronize camera and IMU
  • 9 Vertical camera clock (23ns period = 43MHz)
  • 11 Horizontal camera lock (77ns period = 13MHz)


  • I2C-0
    • FPGA
    • P7MU
    • EEPROM Unknown EEPROM for Front camera calibration (addr 0x55)
    • MT9f002 CMOS Digital Image Sensor (1/2.3 inch 14Mp, front camera) MT9f002
    • MT9v117 CMOS Digital Image Sensor (1/6 inch VGA, bottom camera) MT9v117
  • I2C-1
  • I2C-2


  • ttyPA1 GPS (Furuno GN-87F)


The Bebop has 4 Brushless motors, which are controlled by the cypress chip on I2C-1. This Cypress chip contains costum made firmware(BLDC) from Parrot, which can be automatically updated using a bootloader. The firmware from Parrot contains a very nice closed loop RPM control, which is automatically tuned inside the factory.

For more information about how to communicate with the BLDC look at Bebop/BLDC. Or take a look at the "bebop" actuator inside the airborne/boards/bebop/ folder.


  • /usr/bin/dragon-prog Main program that controls the drone
  • /bin/watchdog.sh Checks if Dragon is still running and reboots dragon
  • BLDC_Test_Bench Controls the Brushless Motor Controllers for testing and playing sounds etc.
  • bcmwl Everything with wifi
  • diagnostic Outputs sensor diagnostic
  • mk3_camera_eeprom Reads the front camera EEPROM

Cross compiler

For the Bebop you need to use a recent version GNU gcc-arm-linux-gnueabi (Ubuntu/Linaro 4.7.4-2ubuntu1) 4.7.4 provided with Ubuntu since 14.04 LTS.

If it doesn't work with your GCC/Linaro version, you can also try the Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux from Mentor Graphics (previously codesourcery). This cross compiler is available here: Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux. Please install this crosscompiler in the /usr/local/codesourcery/ directory of your computer, to make sure paparazzi is able to find the cross compiler.