How to build an autonomous drone for less than £300
At Dootrix we not only have a very obvious interest in new technologies, but also as inveterate tinkerers, we like to put those technologies to work ourselves.
As a company we encourage, and fund, the team to experiment and find practical applications for technologies that are just starting to emerge. In a previous post we featured Adam Hills’ Augmented Reality project, and now we’re sharing the Dootrix Drone Club’s project.
The practical applications for drones are almost limitless, but the key to their future success – from Amazon deliveries to Police search and rescue operations – will be their ability to fly without a pilot, and the capability to gather and share complex data and images.
In future blogs we’ll look at the team’s first flights and some of the software they’ve adapted and built to fly the drone, but we thought it would be interesting first to show how they sourced and built a fully autonomous drone for under £300.
Software Engineer Dan White explains the steps.
As as group of gadget-minded bods we were massively interested in the potential of drones and were full of ideas but didn’t have the deep pockets to shell out the £1000 to go and buy a shiny new toy with all the bells and whistles. So after a few days of Googling around looking for cheaper alternatives, we found that building our own would be the cheapest and the most interesting option.
The aim of the project was to create a stable, cost effective platform to run some aerial related projects on as cheap as possible. The initial milestone was to get the drone in the air and run a simple mission to test stability and autonomous functionality which would then encourage discussion around potential project ideas.
After discussing the options, the team decided that a fully autonomous platform would be the best way to move forward, Ardupilot appeared to be the quickest and simplest way to achieve it.
Ardupilot is an open source flight controller (the brain of the drone) platform which was packed full of autonomous capability. As a team of software engineers, it appealed to us as it is based in a familiar language (C) which gave scope for modifications if needed.
DJI have a budget frame that they market called the Flamewheel. It’s not the prettiest drone frame but it meets the needs of the project perfectly. Luckily with the recent rise of recreational flying with quadcopters, offshore manufacturers have started generating a large amount of replacement / clone parts. As a result of this, the project was able to pick up a kit of that made up the essential parts of the quadcopter for well within budget.
After 2 weeks of eager waiting the kit finally arrived.
The kit included:
1 x F550 frame (Clone DJI Flame Wheel) with landing gear
3 x Hobbypower 2212 920KV Brushless motor CW
3 x Hobbypower 2212 920KV Brushless motor CCW
6 x HP Simonk 30A Speed Controller
1 x APM2.8 Flight controller
1 x NEO-7M GPS
2 x Gemfan 1045(CW+CCW) Black Propeller
1 x Gemfan 1045(CW+CCW) Orange Propeller
1 x GPS Bracket
The additional kit we purchased for the build are as follows:
Turnigy 9X Transmitter with Receiver Module
APM Power Module
5800mah 3s Lipo
This brings the project total roughly to £290 depending on how/where the parts are sourced. We were pleasantly surprised by the quality of the kit and were excited to get building…
Building the drone.
Drone Kit (as above)
2m & 2.5m Allen Keys
Step 1 – Solder ESCs & Power Cable
The ESCs (Electronic Speed Controllers) are used to regulate the speed of the motors, each motor has its own independent ESC. On the kit we purchased the lower section of the main frame had an integrated PDB (Power Distribution Board) which allowed for very easy soldering. First we tinned each of the pads on the PDB with the help of some Flux, this would make it easier when connecting the wires. We then preceded to solder each of the ESC’s and the powers positive and negative wires to the PDB.
Step 2 – Attach Motors to Arms
To screw the motors to the arms was relatively straight forward, the bolt pattern on the base of the motors makes it easy to ensure correct placement. One thing we did need to consider was that we ensured that we had one Clockwise motor and one Counter-Clockwise motor on each of the red arms, this was to ensure we followed the correct motor layout (See Step 3). Clockwise and Counter-Clockwise motors can be identified by the direction in which the prop nut screws onto the motor, tighten right = Clockwise and tighten left = Counter-Clockwise. We continued to attach all the motors to the 6 arms.
Step 3 – Connect Arms to Base Plate
The first thing to decide when attaching the arms to the frame is the motor layout. As we were building a Hexa X copter we required to follow the following motor layout.
Starting from the rightmost arm we started attaching the arms with two screws in the designated places on the frame, alternating between Clockwise and Counter-Clockwise. (WHY?)
Step 4 – Connect ESC to Motors
Connecting the ESCs to the motors consisted of pushing the 3 wires from the motors into the 3 available ports in the ESC. The order of the wires is currently not important as we will revisit them when we come to configuring the motor spinning direction later in the build. We make the build a bit tidier we passed the wires through the arm and cable tied the ESC to the underside of the arm.
Step 5 – Mount APM
In our kit the APM came with an anti vibration mount in which the APM connects to via four blue rubber stand offs, this cuts down the impact which vibration has on the on-board Gyro and barometer. So the first thing to do is to push each end of the standoff into the supplied base and then into the integrated base of the APM case.
Once this has been completed it is time to secure the mount to the baseboard of the drone. We accomplished this by using strong adhesive pads which were including as part of the kit. One thing you will have to take into consideration at this point is the direction you mount the APM. You will see that on the case of the APM there is a small arrow, this arrow must be pointing as accurately as possible in the direction of the front of the drone. This ensures that the APM’s internal compass is pointing forward.
It’s worth noting that if your drone has an awkward mount point, there is an option in the configuration parameters to set the rotation of the board effectively acting like an offset.
Step 6 – Connect ESC to APM
Connecting the ESCs to the APM is relatively simple, the three wire connector of the ESC needs to plug into the output connection pins on the APM. The only thing you need to do is ensure that you connect the correct motor to the corresponding numbered pins. To ensure we connected the motors in the correct order we refereed to the motor layout image, which allowed us to identify that motor 1 connects to pin output 1 and so on.
Step 7 – Connect Receiver Module to APM
Connecting the Receiver Module to the APM is also relatively simple. The Turnigy 9X transmitter we purchased has the ability to allow us to configure 6 different switchable flight modes but to enable this we have to connect the receiver in a specific pattern. Inputs 1-4 & 7-8 all connect directly to the corresponding ports on the receiver but to enable the flight modes you need to connect channel 6 on the receiver to input 5 on the APM board. We will discuss in a later blog how to configure the 6 way switchable flight modes. Once this was done we secured the module to the base board using an adhesive pad in a location that allow the antenna to stick out the side of the drone.
Step 8 – Connect Telemetry
Connecting the the telemetry is pretty straight forward, the connector from the telemetry module connects to the Tele1 port on the APM. After we connected the module to the APM we secured it to the base board using an adhesive pad in a location that allow the attenna to stick out the side of the drone.
Step 9 – Connect Power Module
The primary use of the power module is to provide the arducopter the ability to execute failsafe procedures based on low voltage or spikes. The power modules XT60 plug connects between the battery and the PDB, and the data cable connects to the APM’s PM port.
Step 10 – Connect GPS
The GPS module that came with the kit contained a compass which we wanted to take advantage of. In order to do this we had to remove a jumper in the APM board, this tells the board to ignore the internal accelerometer. The jumper is located next to the GPS port, you will see a set of three double pins. Once you have removed the jumper you can connect the GPS module to the two ports below the GPS label on the case. As the GPS will be mounted on the stick mount we recommend threading the GPS cables through the top plate before connecting to the APM.
Step 11 – Mount Top Plate
Mounting the top plate simply requires you to attach the plate to the top of each arm with four mounting screws.
Step 12 – Attach GPS Mount
In order to reduce interference with the GPS module its is recommended to mount the module away from the other electronic parts of the drone. In order to do this our kit came with a GPS pole mount. The example that came with the kit was admittedly not the greatest but just required a nut and washer to be screwed though one of the spaces of the top plate and the module to be secured to the top with an adhesive pad.
The aircraft should now be in a position to be begin the initial setup wizard through Mission Planner. We’ll cover that in the next blog, but in the meantime, here’s a short video explaining what we’re up to and why.
Subscribe to our newsletter for free advice delivered to your inbox on a fortnightly basis.
How to create a simple REST web-service with Node, AWS Lambda and the Serverless Framework
Dootrix Software Engineer James Robinson has written a detailed technical walk-through.