DroneBridge Docs
  • Introduction
  • Comparison
  • DroneBridge for Raspberry Pi
    • Release Notes
    • Getting started
    • Supported hardware
    • Standard Modules
    • Milestones
    • mwptools
    • Adjusting TX Power & EIRP
  • DroneBridge for ESP32
    • Overview
    • Hardware & Wiring
    • Installation
    • Configuration
    • Safety & Integration
    • Hardware Setup Examples
    • Troubleshooting/Help
    • Logging & Debugging
    • Developer & API Documentation
  • DroneBridge for Android
    • DroneBridge for Android (deprecated)
  • DroneBridge Desktop
    • Enabling monitor mode
    • Video stream playback
  • Developer Guide DroneBridge for Raspberry Pi
    • Downloading & Compiling
    • System Architecture
    • Startup & Logs
    • Raw protocol
    • Communication protocol
    • Status messages
    • RC message/packet
    • USB message
    • Plugins
    • Image Build
    • System Integration Test Specification
    • DroneBridge lib example usage
    • Notes About Injection
Powered by GitBook
On this page
  1. Developer Guide DroneBridge for Raspberry Pi

Image Build

How to build a working DroneBridge image for Raspberry Pi

PreviousPluginsNextSystem Integration Test Specification

Last updated 4 years ago

It is highly recommended to modify the provided images since they already come with patched drivers and some other optimizations.

The image for DroneBridge v0.6 is based on Raspbian Jessy Light with an updated/custom Kernel, bootcode and drivers to support the Raspberry Pi 3B+.

With the following steps you should be able to produce a working image yourself.

The list may be incomplete

  1. Get the latest Raspbian Lite ISO image and write it to a SD card.

  2. and add it to your image in order to get higher output power etc. Skip this step if you do not know what you are doing! Your system might send with too much power afterwards! (check EIRP)

  3. Create a new partition named "DroneBridge" & format it with exFAT. Add the new partition to fstab

  4. Adjust the resize scripts inside /etc/init.d/

  5. Add /lib/udev/rules.d/51-android.rulesto enable USBBridge (already part of custom Kernel)

  6. Install the following python packages: apt install python3.7 python3-pip ntp python3-psutil python3-serial python3-sysv-ipc python3-netifaces python3-rpi.gpio python3-evdev joystick hostapd

  7. sudo pip3 install pyric pycryptodomex

  8. Install the following packages/libs: cmake wiringPi udhcpdlibusb-1.0-0.dev libpcap-dev exfat-fuse exfat-utils dos2unix pump

  9. Compile Raspberry Pi media libs

    cd /opt/vc/src/hello_pi/
    make
  10. Deactivate the cron service and all other services that you do not need

  11. Add following lines to /etc/dhcpcd.confto make the hotpot work. For the hotspot we use udhcpd denyinterfaces wifihotspot0 denyinterfaces wlan0

  12. Clone the DroneBridge for Raspberry Pi git to /home/pi

  13. Compile the DroneBridge modules using cmake . && make

  14. Copy the start_db file to /etc/init.d/

    sudo cp /home/pi/DroneBridge/start_db /etc/init.d/start_db
    sudo update-rc.d -f start_db remove
    sudo update-rc.d start_db defaults
  15. Edit log rotation to manage DroneBridge/log/db_modules.log

  16. Copy the DroneBridgeConfig.ini, osdconfig.txt, apconfig.txt and plugins folder to /DroneBridge

  17. Create a folder named /DroneBridge/osdfonts and place the fonts you want to use for osd inside it. Do not forget about the osdicons.ttf

  18. Create a symbolic link from /DroneBridge/osdconfig.txt to /home/pi/DroneBridge/osd/osdconfig.h

  19. Add a line to init.d/raspbi-config to start the DroneBridge splash screen /home/pi/dronebridge/splash

  20. Connect the WiFi adapters and check the EIRP of your system.

Compile a custom Kernel
openvg