Skill LevelArea of FocusOperating System

Smart Cities,
Smart Home, Robotics


DronaRhythm is an audio control system designed to allow drones to be virtually always-on, and respond to their environment in real-time without needing specific user input.

There were a variety of inspirations for this project, but it boiled down to combining robotics, audio (or music), and drones. From there the project evolved to creating a drone that could respond to audio, which would be a fun application of drone technology that could open up new drone use-cases in the future.

The desired result is to have drones that can perform certain actions in response to audio cues from their environment. In the future, there will be many drones flying around performing various tasks. If they also have the power of hearing, they could respond much better to their environment in order to perform better, or perform additional tasks. An example of this could be a drone performing a simple function such as delivering a package, but then it could also help in other ways. While the drone is delivering a package, if it can hear glass breaking or people screaming nearby, it could go over to where the sounds are coming from and start recording the situation in order to alert the police.

DronaRhythm Technical Overview

Materials Required / Parts List / Tools

Build / Assembly

  • DragonBoard™ 410c
    • Using an SD card with a boot image of Debian, flash Linux onto the DragonBoard 410c
    • Update Debian through the standard “sudo-apt get” commands
    • Install the required Python libraries - matplotlib
      • This is easiest through pip-install, so make sure that pip-install is correctly set up
    • It may be useful to install Audacity to play through audio files for testing purposes
      • Most easily installed by using “sudo-apt get” commands as well
    • Download a .wav file of your choice to perform wave slicing on, preferably of at least a few seconds
    • Load the source code for DronaRhythm’s wave slicing algorithm and in the code, substitute the name of the .wav file that you downloaded
    • This code should be able to execute and display output commands based on your .wav file
    • At this point, follow the steps required to set up the drone’s server and make sure that you match the port number between the drone’s server program and the wave slicing program
  • Drone
    • This project was tested with SNAV sprint release 100, so load a sprint that isn’t too different from that version to guarantee compatibility
    • Load the server code and start the server

Usage Instructions

  • Start the server on the drone
  • Start the wave slicing program on the DragonBoard 410c, making sure that the correct port number and .wav file are specified
  • The wave slicing program will then automatically send commands to the drone based on what it processes