Sudo-Autonomous Drone

Futile Flight

I was bored during my weekends and decided not to be, so I started brainstorming a project that would require me to learn something new and be challenging. After a few minutes of deliberation, I determined to build an autonomous drone. This is by no means an original idea, but it is definitely a challenge.

I consider this a success, everything powered on correctly without charring my desk.

Up to this point, the project has been easy and I have been well within my comfort zone. Now for the hard part. I have never programed anything more than some basic HTML stuff so this is definitely a learning experience. So far (5/15/24), I have managed to blink an LED on the Arduino which is very far from my goal of achieving sustained flight. My current struggle is to figure out how to use the SBUS library to send a command to the FC. Fortunately, the FC is highly intelligent and has a built-in IMU stabilization with an easy-to-use PID tuning system in the app, so once I can send it a signal and get motors spinning I should be able to achieve flight.

I plan to use an Arduino Nano IoT (shown right) to imitate a radio receiver to the FC (Flight Controller). My flight controller is a SpeedyBee F405 V4 with an included BLS 55A 4-In-1 ESC (shown below).

Please forgive my crappy schematic (shown right), I am used to Autodesk EAGLE but my current budget only supports KiCad with which I am unfamiliar.

Assuming I copied other designs effectively enough, this schematic shows a simple signal inverter using an NPN transistor to pull down the FC control signal when the Arduino output is high.

I purchased all the required components and slapped it all together on a breadboard for a test. Note that I am powering the Arduino off of the FC which is powered by a 1300MAH 6s lipo battery.

It is also worth mentioning that I spent a couple of hours drawing up a test Chassis that I can 3D print. Note that this is designed to be heavy, I intend to test it indoors and do not want it to take off yet but it will be a good prototype for the frame I intend to fabricate. The main purpose is to have a self-contained testbed that I can mount the brushless motors too with propellers.

The flight controller can take multiple types of receiver input including PPM, ELRS, SBUS, and some other plug-and-play options. I chose to use SBUS due to it’s ability to control up to sixteen distinct servos using a single wire. Unfortunately, Arduino is not nominally set up to provide an SBUS output signal which has caused me some complications. Firstly, my FC needs an inverted SBUS signal and the Arduino library I am planning on using spits out a standard signal.