Autonomous Indoor Drone Surveillance

Creating a quadcopter that can fly autonomously indoors

Similar projects worth following
In the hopes of creating an easily customizable quadrotor, I completely disassembled a 3DR Solo Camera drone and extended the breakout board to enable several new ports for sensors and servos. These new additions to the accessory bay could be used for a myriad of sensors. I wanted to make the Solo able to use LiDAR or ultrasonic sensors to avoid obstacles or measure distance, but the customizable version can be used with virtually any sensor, including humidity and temperature. Servos could be used to control anything from a gimbal to manipulator tools such as arms. Ultimately, this provides a very adaptable platform for testing and experimentation. The 3DR Solo can be bought for under $300, making this project a quick and inexpensive way to produce an individually tailored drone.

Although multirotors are a very quickly growing industry and hobby, they are not very easily customized for individual uses or the average consumer. My goal was to take a relatively inexpensive commercially available drone, and make it open source for use and research. Specifically, I wanted to take the 3DR Solo Camera Drone, and make it uniquely customizable for different areas of experimentation. The 3DR Solo is inexpensive, and comes equipped with an onboard companion computer and Pixracer autopilot. Therefore, the drone’s existing code can be altered to include protocols for new sensors and motors.

The 3DR Solo has 8 pulse width modulation (PWM) channels for control. However, channels 6-8 are unavailable due to a lack of controller space. In order to add the possibility of two more servos, I extended the accessory bay to include PWM channels 6 and 7. I also added an I2C interface to the breakout board, which was connected to the compass cable. In the absence of a gimbal, the Gimbal Tilt paddle on the controller now controls CH 6, and the Pause button controls CH 7.

  • 1 × 3DR Solo
  • 1 × Breakout Board Extension
  • 1 × 1 Compass

  • Results

    the.ant.man06/01/2018 at 15:32 0 comments

    Despite significant alterations to the accessory bay and magnetometer, the drone functioned as normal, flying perfectly in position hold in both wind and rain. All original controls still functioned, and the drones compass performed remarkably well, with the I2C extension not causing any failures or brownouts. Autonomous flights and automissions worked perfectly as well, and I was able to connect the aircraft’s Pixhawk autopilot via wifi through Mission Planner software, and upload code, as well as change settings to enable sensory input to the I2C extension bus.



    Unit Price


    Total Price

    3DR Solo Quadcopter



    3DR Solo Quadcopter (No Gimbal)


    3D Robotics #DR Solo Compass Antenna Cable for Drone



    External Magnetometer compass for 3DR Solo


    3DR Solo Accessory Bay Breakout Board



    Standard 30 pin breakout 3DR Solo Accessory Bay Breakout Board with male headers


    Total: $299.00

    Discussion and Conclusion:

    Although I didn’t get as far as I had wanted, this project was largely a success. Similar hacks of the 3DR drone by others have produced mixed results. There is an entire community on Facebook dedicated to sharing different ways of making this aircraft more open-source. Although people attempting a similar hack to mine have reported brown-outs to the companion computer due to the magnetometer alteration, my drone worked perfectly. My final product is relatively inexpensive, open source, and highly customizable. Once equipped with sensors, it could be used for numerous purposes. Distance sensors or Lidar could be used to map the earth’s topography, caves, or mine shafts, as in the Commonwealth Scientific and Industrial Research Organization project. Servos and thermal imaging could be used for search and rescue. However, my project’s largest strength lies in how quickly the drone can be modified and reprogrammed. For under $300, this aircraft can be used for a host of research applications, and sensors and servos can be changed from mission to mission. Over the coming weeks, I intend on attaching some servos to test the practicality of my design. If I were to perform this hack again, I would find a way to utilize the CH 8 input, and attach a frame to the bottom of the Solo for maximum part modulity. That way, sensors and servos could simply be snapped into place, making it even easier to swap out parts.

  • February Update

    the.ant.man03/13/2018 at 15:02 0 comments

    I have revised my build to adapt the existing 3DR Solo drone, as it comes with its own onboard computer which I can SSH to. This completely eliminates the need for Raspberry pi integration. Instead, I will be constructing a breakout board and hacking the Solo so that I can get it to respond to sensors of my own choice- in this case LIDAR.

  • December Update

    the.ant.man01/05/2018 at 23:41 0 comments

    I am having difficulty getting rotors to spin through Maverick, although I updated firmware on the Ardupilot. Mission Planner works, so an alternative may be taking off in Mission Planner and switching to an automated mission programmed on the Pi.

  • 12/4 Project Log

    the.ant.man12/04/2017 at 14:17 0 comments

    Currently, the Hokuyo LiDar has been tested, and provides correct serial data. I have successfully connected the aircraft to the Pi running Maverick and received reports on battery, GPS, and position. However, I have been unable to arm it solely using Maverick commands. Additionally, I have not resolved the issue of localization indoors and without GPS. Any comments with ideas are welcome.

  • Projected Timeline

    the.ant.man11/08/2017 at 13:43 0 comments

    Projected Timeline:

    I hope to have completed Raspberry Pi, Maverick, and Dronekit integration by 11/9/17. By this point, the Pi should be able to respond to rangefinder inputs. By 11/30/17, I plan on having the Ardupilot connected to a pre-constructed drone which can respond to distance inputs by stopping. The velocity calculations should be done by 12/7/17. A new micro quad should be built by 4/12/17, and it should be able to generate maps by 5/1/17.

View all 5 project logs

  • 1
    Step 1

    The first thing done was a complete teardown of the 3DR Solo to gain access to the breakout board and central computer. To begin, the LED covered and individual rotor pods were removed and unplugged from each arm (Figure 1). Each motor pod is connected to the central board by a power, ground, and signal cable (Figure 2). Each motor pod was labeled according to the corresponding arm and placed with its screws in an individual bag. The rotors alternate between clockwise and counterclockwise, so it is important that they be re-inserted in the correct order. Next, the legs were unscrewed, three of which contained important electronic components. Two had Wifi antennas, allowing the Solo to connect to computers, cell phones, and SSID. The third had a magnetometer board, an external compass for Solo. The compass the Solo comes with is the Honeywell HMC 5983. However, I was unaware of the electronic components kept in the legs, and the compass was broken during teardown. A replacement ASIN B073WCYKKD compass was purchased from Amazon, which proved compatible. To continue with the Solo teardown, the battery was removed, which was easily detachable for charging, and the plastic GPS antenna cap was pried from the frame with a screwdriver. The GPS antenna cap fits in using tabs instead of screws, so care had to be taken not to break them. The cap was bent slightly while prying it off, but it still fit back in during reassembly.

    Next, the battery tray was unscrewed and removed along with the GPS, which is connected to the main board through a cable that must be unplugged (Figure 3). In order to remove the main board, all the power distribution cables running from the main board to the motor pods had to be pulled through the arms into the battery bay opening, and the magnetometer cable had to be unplugged (Figure 4). The magnetometer and its cable were removed through the leg and placed aside for I2C interface addition. Next, the main board was unscrewed from the frame, and removed. With the front of the drone facing forward, there is a ribbon cable on the right side. This cable leads to the Solo’s accessory port, which was extended. To remove the main board, it must be slid back and forth. Tilting it towards the ribbon cable was the easiest way to remove it, but it had to be done delicately, as there is a micro usb port on the companion computer on the left side that is very close to the wall of the drone. Additionally, the ribbon cable itself is quite fragile. The 3DR Solo uses a Pixhawk drone autopilot, whose software is commercially available. It is found in the black square plugged into the main board. It was removed for examination, but it is not necessary to take out for this build (Figure 5).

    Once the main board was removed, the accessory bay could be extended. The accessory bay is already connected to the main board by a ribbon cable as previously mentioned, however there are several unused pads on both the main board, and extension board. Wires were soldered from pads 14, 18, and 19 on the main board to the corresponding pads on the accessory board, which is labeled very clearly (Figure 6). From pads 20 and 21 on the accessory board, two new cables were soldered to create an I2C bus. I2C is more efficient than SPI or Serial ports, which require clocks and more extensive hardware. There is already an existing sensor on the Solo which uses I2C, and that is the magnetometer compass. The middle of both the white and green signal wires were stripped in the magnetometer compass cable, and pad 20’s wire was attached to the white signal wire. Pad 21 was attached to the green, careful to avoid shorts (Figure 7). Although the Pixhawk contains an onboard compass, the 3DR Solo autopilot will not allow flight without a functioning external compass. This can be disabled through Mission Planner. However if the magnetometer is spliced correctly, it is not an issue. Once the I2C interface was created, the Solo was reassembled.

    Reassembly proved far more difficult than the teardown. I recommend taking careful pictures of all the pieces and their initial placement in the Solo, so time is wasted remembering or researching. First, the accessory bay was inserted back into its position at the bottom of the aircraft. A breakout board extension was plugged into the accessory bay, which provided external pins to plug into, making it easier to attach sensors and servos to the outside of the drone, further enhancing its customizability (Figure 8). The breakout board extension sits on the outside of the aircraft, and can be screwed in, which was done.

    Next, the main board was inserted carefully. This was the most difficult part of reassembly. The companion computer on one side, and ribbon cable on the other make it very difficult to fit back in. With the front of the drone facing forward, the main board was slid backwards into the frame, tilted heavily to the right side. Once the ribbon cable was completely inside the frame, it was tilted back towards the left, and the companion computer was slid into place. Then the frame was slid forward and screwed into place.

    Next, the power, ground, and signal cables were inserted into each arm. I was not careful to make sure the wires were all the way to where the motor pods belong, and had a great deal of difficulty later. I recommend using pliers or tweezers to ensure that all the wires go through the entire arm. The two Wifi cables and magnetometer compass were then threaded into their corresponding arms, and out the leg holes.

    In order to reattach the GPS module, the three pronged battery plug on the main board had to be detached, the GPS and battery case had to be slid over the main board, and the the plug and GPS cable had to be reattached to the main board. Then all the screws had to be reinserted and the plastic GPS antenna cap was snapped back into place.

    Finally, all the motor pods and legs were reattached using their original screws and the battery was reinserted. Before screwing in the pods and legs in, the drone was powered on to ensure there were no major issues. When the drone was fully assembled, it was taken for a test flight.

View all instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates