AvrMiniCopter - Linux based controller project

Hello Everyone,

I want to share a project I have been working on for the last year. It is a quadcopter controller with full Linux support (maintained using buildroot)

This means:

  • full networking support (Wifi, Bluetooth)
  • use scripting or any programming language you want
  • SSH, Busybox, and hundreds of other tools
  • compile your own additional tools 
  • video4linux/camera (when using capable board - i.e. Odroid-W or RPi)
  • anything else Linux supports

The controller's features currently are:

  • Support for quadcopters in X configuration of any size
  • 2 fly modes - Auto-level & Acro
  • Altitude hold
  • learner mode (attach 2 controller simultaneously - one for the teacher and one for the learner)
  • fast (boot time of around 2-3sec)
  • WWW configurable (i.e. you can adjust anything using your phone in the field)
  • Camera support for taking pictures and videos
  • Live and Offline log charting (vibrations, quaternions, altitude, etc)
  • Out of box bluetooth (PAN) and WIFI connectivity for receiving flight logs, accessing the file system (NFS and SSH), browsing videos and pictures
  • Endlessly and easily extensible

The setup is relatively simple and includes 2 boards - AVR board (like Arduino Pro Mini) and SPI capable SBC (like Odroid W or RPi) wired together using SPI.

With the software provided the setup is of plug-and-play and you can control your quadcopter using PS3 controller or via network.

See the wiki for more information.

Sources: https://github.com/rpicopter/AvrMiniCopter
Wiki: https://github.com/rpicopter/AvrMiniCopter/wiki
Precompiled images: https://github.com/rpicopter/AvrMiniCopter-images

If you passionate about linux and quadcopters than this is something you should try! :)

Let me know if you have any questions.






You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Hello Gregory D.
    I want to compile your code with myseft. Can you tell me step by step to do it. Do I make buildroot before?

    • Depends on what exactly you want to do. Check the AvrMiniCopter architecture: https://github.com/rpicopter/AvrMiniCopter-wiki/wiki/Design

      If you want to hack the code that controls the quadcopter then you only need Arduino IDE. However if you want to recompile the Raspberry Pi/Odroid image then you need buildroot.

  • I test fly on level mod it not yet stable.

    • Did you adjust acro and stab PIDs? You first need to make it fly well in a stab/acro mode before trying to tweek altitude hold mode. Do you have experience in other quadcopter controllers like MultiWii, ArduCopter, naza, etc?
      • Yes I ever fly with Multiwii, Arducopter, naza.
        Now I adjust acro and stab PID to very stable.
        But it can't adjust realtime after adjust PID must to unplug and plug power it will work.

        • You can adjust PID realtime through 'WS Debug' or through command line.

          Just send a command with the new PID value, for example:

          '112 500' to set rate pid Kp to 500 for pitch

          For the full list see lines 279-311



          pid_r - rate pid for yaw, pitch, roll

          pid_s - stab pid for yaw, pitch, roll

  • Hello.
    How to use WS Debug.

    • What are you trying to debug?
      You just need to send a command. List of commands is in the help on the screen. You might also want to clear the filter there.
  • I do not test with altitude hold yet. I will post vedio soon.
    This photo baro in the bottle caps.


    • I should have added - To engage althold you will need to hover in place and press the x button. Only then you can let the throttle go.

      In the next weeks I will be submitting a new version where you can use althold to self start and self land.
This reply was deleted.