I REALLY like drones, but I don't own a drone. For my senior project I was tasked with hacking together an autonomous drone from some computer vision research my adviser was doing, and a DJI Phantom. We weren't given an SDK or anything, but we got it! This post isn't about that project. Instead, this is to display what I'm working on now. In my free time I've been working on building a drone from scratch. Now, it has been a very slow process as I've been doing my best to not throw a ton of money at it, and I have other things to do too... kind of. More like I just get distracted and walk away for a few weeks. As a heads up, this isn't going to be a super detailed how-to post or anything like that. I'm going to post some pictures, and throw up some links to where the code can be found.
Controller Testing / Development
The controller is using a an arduino nano, a couple of joysticks I picked up at micro center, and the NRF24L01 wireless module. I used the radiohead library found in platformio (highly recommended) to get it running. To be completely honest.. these things blew my mind. They worked a LOT better than I had anticipated. Here is some more info about them if you are having trouble hooking them up. If you want to peep out the source I used, it can be found on my Github.
Once I got the kinks worked out, I stuffed it into a box. It looks silly, but here it is:
I decided to keep it on a breadboard because the box clearly has room for expansion and I don't want to be limited (I want more buttons and lights.)
Originally I wanted to craft this with an Arduino mega, but I decided the nano would be a better low-profile low-weight option.
Its a simple breadboard box.. and tape.. again, this is just a prototype. The sensor module on top of the box is the Gravity BNO055+BMP280 Intelligent 10DOF AHRS by DFROBOT. The source to get it working with the nano can be found on their website, and the full source used on the controller can be found here. The source Is written in an attempt to be somewhat modular so if you poke around you'll see that I have a framework that will maybe one day support an RC tank.
Work to do
Next step is to implement / configure a Kalman filter and get axial balancing in place. Kind of REALLY important to ensure that the drone stays level. Before I do that though I need to spec out the chassis, batteries and what-not so I can get a weight estimation to ensure I buy some at-least partially optimal brush-less motors.
Since my next step is buying things it may be a minute before this continues on.. but it WILL continue on.
For a look at the full code base you can go HERE. It is the repo that contains the remote controller code as-well-as the vehicle code.