Close
0%
0%

The Ball-Drone Project MK II

Single rotor, "singlecopter", selfmade drone with air vanes for position control as a full remake of the Ball-Drone Project

Similar projects worth following
This project shows a complete 3D designed and printed single rotor drone as a full remake of the previous "Ball-Drone" Projekt. The special design with only one rotor and air vanes for position control make this project particularly interesting in the area of drones. Common RC components like radio receiver, lipo battery, ESC, motor, propeller, servos were used. In addition to drastic changes to the design itself, a commercial flight controller is now also used. Setting up Betaflight is just as important as a lot of background information and links on the topic itself.

You can find more informations in the details section and project logs!

Take off with just one propeller!

This 7.4 inch drone flies with only one propeller and is controlled by 4 air vanes!

  • 1 × TATTU 1300mAh Lipo 3 Cells 11.1V 14.4Wh
  • 1 × Diatone MAMBA F405 MK2 F405 Flight Controller (Cleanflight / Betaflight / Cleanflight)
  • 1 × T-Motor F35A bl_heli32 ESC
  • 1 × Flysky fs-a8s v2 mini rc receiver with ppm i-bus sbus
  • 1 × STORM TL2306 2300kV brushless Motor

View all 12 components

  • Introducing the Ball-Drone Project MK III

    Benjamin Prescher08/25/2021 at 10:13 0 comments

    This project represents my submission for the Hackaday Prize 2021!

    Now in the 3rd iteration stage, the ball drone has not only become safer and more efficient, it now also supports more features and potential areas of application.

    This design is unique, scalable and the area of application is unimaginably large! From toys to a measuring drone for fine dust to light and signal drones in the event of an accident.

    Compared to the MK II, the newly designed housing virtually eliminates touching moving parts and also increases the efficiency of the system. This is not a racing drone, but everything else!

    Come on and follow me with the latest implementation!

    The Ball-Drone Project MK III

  • The Ball-Drone on youtube!

    Benjamin Prescher08/16/2021 at 09:46 0 comments

    There are now a number of great videos on youtube about the ball drone! Here are a few of them:





    For everyone else whose links don't appear here, feel free to write them in the comments!

  • Made it into Make Magazine

    Benjamin Prescher03/08/2021 at 19:20 0 comments

    Whoop! Proud to have made it into Make Magazine (US)! https://makezine.com/

    I am very pleased about the good response, there are already some nice replicas on YouTube!

  • Betaflight and the PIDs

    Benjamin Prescher11/12/2020 at 09:36 0 comments

    Betaflight has evolved over the past few years - new features are constantly being added to further improve the flight behavior of racing drones.

    To put it bluntly, turn everything off and stick to the basics!

    This is of course a bit of an exaggeration, but many of Betaflight's advanced controller functions are not needed and even make the drone's flight behavior unstable. The reason for this is relatively simple. With "normal" 4x drones, each of the rotors can intervene directly in the system. However, the ball drone requires a minimal amount of thrust in order to exert effective forces on the system through the air guide flaps. PID control of the vanes is required, based solely on the position information from the accelerometer and gyroscope. In order to generate this location information, Betaflight also offers a number of setting options, in particular for signal processing (filters), which I would like to investigate in more detail in the future.

    The test flights that I have carried out so far worked best with the displayed settings:

    Note the high percentage of P compared to a classic x-220 racer. The drone will be more stable with a good part of the D component and a small I component.

    I would also like to point out the angle limitation: Here the risk of a possible tip over of the drone can be reduced by setting an angle limitation.

    In the future I would like to look at BF's black box logging and hopefully be able to derive important information about the PID setting from it.

    PS: I look forward to your comments and messages!

  • Get your flight controller ready - with betaflight!

    Benjamin Prescher11/01/2020 at 16:45 0 comments

    Contrary to the previous ball drone, I now wanted to use a flight controller and software that is virtually freely accessible to everyone. There are a lot of open source projects, but Betaflight is currently the standard for racing drones, there are many tutorials and resources on the internet what makes me not to explain betaflight again. But how do you get from a racing quad to a single-rotor drone? Here's how:

    Resource mapping:

    Basically you need a motor and four servos to control your single-rotor copter. Most flight controls have four motors and some of them have some servo outputs as well. What I did is remapping the Betaflight servo controls to the "standard" four motor outputs. Now a connection for the motor is needed. Via the configuration of the flight controller I used, I was able to see at which connections timers are available. You often read about using the LED_strip port for a motor, but I wanted to use the LED_strip port and decided to remap the PPM input as a motor output. What resource remapping is and how to is shown for e.g. in this video.

    The CLI commands I used:

    resource MOTOR 1 NONE
    resource MOTOR 2 NONE
    resource MOTOR 3 NONE
    resource MOTOR 4 NONE
    resource PPM1 NONE
    resource SERVO 1 A03
    resource SERVO 2 B01
    resource SERVO 3 B00
    resource SERVO 4 A02
    resource MOTOR 1 C09
    save

    Mixer configuration, mmix, smix:

    Next, the flight controller must be made to send the correct signals to the servos and the motor ... For this, adjustments must be made in the so-called mixer. Select "Custom Airplane" under the configuration tab.

    Handle this via the command line:

    # smix script for singlecopter on MambaF405_MK2 (by Benjamin Prescher)
    mixer CUSTOMAIRPLANE

    # load a standard motor mix
    mmix reset
    mmix load airplane    # Motor1 as ESC output
    #mmix 0  1.000  0.000  0.000  0.000

    # smix
    smix reset
    smix 0 3 0  100 0 0 100 0
    smix 1 2 0 -100 0 0 100 0
    smix 2 4 1  100 0 0 100 0
    smix 3 5 1 -100 0 0 100 0
    smix 4 3 2 50 0 0 100 0
    smix 5 2 2 50 0 0 100 0
    smix 6 4 2 50 0 0 100 0
    smix 7 5 2 50 0 0 100 0
    save

    If you want to find out more about what is actually happening here, take a look at these links:
    https://github.com/martinbudden/betaflight/blob/master/docs/Mixer.md

    Configs on the servos:

    As you can see in the picture of mixer config, I have set a relatively low PID loop rate. The servos that control the copter can usually be operated with a servo_pwm_rate of max. ~ 333Hz (there are also servos that can certainly handle more). I have set my servo_pwm_rate to 250Hz, which corresponds to a quarter of the PID loop rate. As far as I understand the algorithms in betaflight, there is no point in setting the PID rate artificially high if the command for the actuators can only be updated a fraction of it anyway. For the PIDs (more on this later in another log) I use strong P values. The servos with the vanes then tend to jitter. Betaflight has a great feature to solve the problem, this is called a servo low pass filter:

    Handle this via the command line:

    set servo_lowpass_hz = 20
    set servo_pwm_rate = 250
    save

    Time for testing:

    If you have already set up the drone, connected everything and also implemented the configuration, then your drone should behave as follows:

    • transmitter roll right makes forward and back fins move right
    • transmitter pitch forward causes left and right fins to move forward
    • transmitter yaw right causes forward fin to move left, right fin to move forward, back fin to move right, left fin to move back

    A personal note on Betaflight:

    Betaflight is just one option I used to get your drone in the air. All of the above steps can be done (not tested) using iNav as well, and I heard Ardupilot should do the job too!

  • Some notes on assembly

    Benjamin Prescher11/01/2020 at 15:33 0 comments

    Prepare:

    1. order parts
    2. print parts

    Build:

    Lower ring

    1. Assemble servos
    2. Center seros to middle position (with servo controller, or easy sketch: Arduino servo)
    3. Add servo horn when servo is aligned
    4. Mount vanes one by one . The servo horn (ES9052) fits exactly into the fitting on the wing. I used M3x12mm screws to make a positioning screw on the opposite side.

    Upper ring

    1. Mount motor first
    2. Add screws for the flight controller from "underneath"
    3. Fix the flight controller with M3 circuit board spacers

    Connection

    1. I attached (daisy chained) WS2812b lights on the inside of the drone legs and used them to connect the servo power lines on
    2. The signal lines of the servos must definitely be extended
    3. Connect Motor and receiver lines to your (betaflight) flight controller (more to betaflight comming up!)

    Battery holder

    I attached the ESC and receiver on the bottom side with cable ties (there are also the notches in the holder). A standard buzzer will fit into the round of the bat. holder.

  • Get your parts on thingiverse!

    Benjamin Prescher10/27/2020 at 18:34 0 comments

    All the parts are now available on thingiverse!

    I printed the drone from PLA, but would use PETG in the future because of its strength. The construction is designed for a layer height of 0.2mm and a nozzle diameter of 0.4mm. Support is not required. Happy printing!

  • Fewer parts - easier to print!

    Benjamin Prescher10/23/2020 at 13:45 0 comments

    In the end, The Ball Drone (MK I) had a lot of components and was correspondingly heavy. The current version shows itself with significantly fewer components, which can also be printed easily and usually without support material ...

  • Drone Pendulum Fallacy

    Benjamin Prescher10/22/2020 at 19:24 0 comments

    In the previous project The Ball-Drone Project I was faced with the challenge of building a slightly different drone. Now I don't really come from the field of flight dynamics and still had to learn a lot. In principle, the first ball drone flew. Correct maneuvering was nevertheless not possible, however, as the drone tended to "tip over". I was unable to get the problem under control by making adjustments to the flight controls. I found a very good video Drone Pendulum Fallacy by Tom Stanton that shows the subject of center of gravity of drones clearly. The leverage of the wings in relation to the center of gravity was insufficient to safely control the drone. So I threw the whole concept overboard and tried again.

    Some good information about single-rotor drones: ArduPilot

View all 9 project logs

  • 1
    Prepare
    1. order parts
    2. print parts
  • 2
    Build

    Lower ring

    1. Assemble servos
    2. Center servos to middle position (with servo controller, or easy sketch: Arduino servo)
    3. Add servo horn when servo is aligned
    4. Mount vanes one by one . The servo horn (ES9051) fits exactly into the fitting on the wing. I used M3x12mm screws to make a positioning screw on the opposite side.

    Upper ring

    1. Mount motor first
    2. Add screws for the flight controller from "underneath" Fix the flight controller with M3 circuit board spacers

    Connection

    1. I attached (daisy chained) WS2812b lights on the inside of the drone legs and used them to connect the servo power lines on
    2. The signal lines of the servos must definitely be extended
    3. Connect Motor and receiver lines to your (betaflight) flight controller (more to betaflight comming up!)

    Battery holder

    I attached the ESC and receiver on the bottom side with cable ties (there are also the notches in the holder). A standard buzzer will fit into the round of the battery holder.

  • 3

View all 4 instructions

Enjoy this project?

Share

Discussions

IRS SID wrote 08/29/2021 at 04:41 point

Hello everyone. I want to build this project. Where can I get the 3D printing file and flight control config file? 

  Are you sure? yes | no

Benjamin Prescher wrote 08/08/2021 at 16:45 point

Hi folks! Thank you for the good feedback and the links to your YouTube videos. I am very pleased that the project is generating so much interest.

There will be another update soon - stay tuned!

  Are you sure? yes | no

didwjdrl12 wrote 08/03/2021 at 00:55 point

It works really well, awesome! I have made it with Mamba mk2 stack, not external ESC, by modifying betaflight resource configuration.

  Are you sure? yes | no

Juan de Dios Yáñez wrote 08/02/2021 at 16:26 point

Running with an F4 Omnibus PRO https://www.youtube.com/watch?v=gdKQeTG6P9M

  Are you sure? yes | no

Christian Seifert wrote 06/16/2021 at 18:43 point

Hi, i built the drone with the same above mentioned components but i have some issues, during take off the drone flips over. Is there anybody able to publish the Betaflight Config File to restore my config or some screenshots additional to the above ones? 

thanks for your help

  Are you sure? yes | no

Siddharth Kothari wrote 06/06/2021 at 11:05 point

For anyone looking for a version that uses SG90 Servos, here's a remix- https://www.thingiverse.com/thing:4879274

  Are you sure? yes | no

Benjamin Prescher wrote 06/06/2021 at 11:07 point

Thanks for this! This is certainly helpful!

  Are you sure? yes | no

Juan de Dios Yáñez wrote 05/31/2021 at 09:36 point

Hello Benjamin, I would like to replicate your project but that it works with Ardupilot and not with Betafligth, since from Ardupilot with an SBC or an Arduino you can do very cool things. This is the thread on the Ardupilot forum

https://discuss.ardupilot.org/t/singlecopter-of-benjamin-prescher-on-ardupilot/71860

It would be very top to get it to work.

  Are you sure? yes | no

Siddharth Kothari wrote 05/26/2021 at 07:41 point

Firstly, thank you so much Benjamin for sharing this project!

Has anyone redesigned the frame to work with SG90 or SG92 servos or any other models?

ES9051 isn't available in my country, and I'm struggling to tweak the design to work with SG92 servos using FreeCAD. If anyone has any pointers, please let me know!

  Are you sure? yes | no

CastleSeven wrote 04/17/2021 at 15:45 point

It's hard to tell for sue, but in your photos it looks like you've added a wire to your ESC's  'T' terminal? Can't tell where the connections to the Mamba's PPM and RX3 terminals are going.

  Are you sure? yes | no

MoneyBags-XIV wrote 03/28/2021 at 15:21 point

Hello! I've just finished the construction phase of my ball drone MK II project! (Yay!) I am working on getting everything configured in Betaflight, and I'm running into the problem that my servos are not centered even when I am not touching the controls. It's worst on one servo in particular. I can't move the horn on the servo because then the problem is even worse on the other side. Is this a problem with my servos, or with my Betaflight configuration? Is there a way I can calibrate the servos to be centered? Thanks.

  Are you sure? yes | no

Benjamin Prescher wrote 03/29/2021 at 06:03 point

Hi! When assembling the servos, they should be aligned with a centered servo pulse, as described in the build instructions: "Center servos to middle position (with servo controller, or easy sketch: Arduino servo)". When the servos are centered, mount the servo horn. Did you do it like that?

  Are you sure? yes | no

MoneyBags-XIV wrote 03/29/2021 at 23:29 point

Thanks for replying. I did do the servo centering thing while I was setting up my lower ring. The problem seems to be that when I center the servo, the horn will not attach perfectly straight. It attaches pretty crooked on one side, or even more so on the other. Just to be sure I centered it again, but still no luck. Luckily (well actually unluckily) I fried two of my servos with too much voltage, so I have replacements on the way. Like I say only one of the servos poses a real problem. If it is a problem with the servo, I'll just replace it too. Is there any way to re-calibrate the servo within Betaflight, or should I just replace it? Thanks.

  Are you sure? yes | no

Benjamin Prescher wrote 03/30/2021 at 13:14 point

In practice, you can't really calibrate the servo. The main thing is to mount the servo horn in a position that roughly corresponds to the servo's mean travel. It is okay that the servo horn is not completely vertical. Use a 1.5ms servo pulse to center the servo and then mount the servo horn. The rest is done by the control algorithm when flying.

  Are you sure? yes | no

MoneyBags-XIV wrote 03/30/2021 at 22:38 point

Thanks. I didn't know the algorithm would correct for this problem. This is the first drone I've ever built. By the way, it is a really cool design, so nice job. Thanks again. Maybe I'll post a video of my first flight.

  Are you sure? yes | no

tkahou wrote 03/20/2021 at 04:10 point

Hi, thx for such a great sharing at first! When i follow the instruction of mixer modification, i met a problem of coupling:

While i increase RC throttle with disconnected motor (no anti torque, so pid should not correct the yaw rate, thus no yaw actuation)  , yet all 4 rudders output an undesired YAW movement , their swing angles are proportional to RC throttle . BTY  My mixer  and pid are working correctly - roll pitch yaw input with correct direction of rudder output, but with throttle coupling above.  need help thx!

  Are you sure? yes | no

Benjamin Prescher wrote 03/21/2021 at 18:11 point

Hello and thanks for this post. I have also observed this behavior and attributed it to a coupling between Throttle and Yaw in Betaflight software. The drone still regulates itself, currently I haven't paid much attention to the phenomenon. Have you set the PID values and the PID functions as shown in the instructions and on the pictures? I am happy to exchange more details via PN.

  Are you sure? yes | no

tkahou wrote 04/08/2021 at 03:37 point

ya ,thx for replying. My ball drone can fly well  actually  with this phenomenon, as long as i need to be careful on yaw control during take-off , having so much fun with my friends with this ball drone design. thx so much for sharing again!

  Are you sure? yes | no

Chris Drew wrote 02/22/2021 at 16:58 point

Is there a preferred max angle limit for "angle mode"... to prevent tipping over during flight?

  Are you sure? yes | no

Benjamin Prescher wrote 02/22/2021 at 18:04 point

Never checked...

  Are you sure? yes | no

Nicola wrote 02/13/2021 at 21:46 point

  Are you sure? yes | no

Nicola wrote 02/12/2021 at 10:35 point

First flight test and I didn't break it :)

https://www.youtube.com/watch?v=ZTP3gONypgM

The only thing is that I have to correct the movement of the yaw with the sticks a lot otherwise it turns on itself. Otherwise I am very satisfied with the result. 

Thanks again for have shared this project!

  Are you sure? yes | no

Chris Drew wrote 01/23/2021 at 17:10 point

  Are you sure? yes | no

Benjamin Prescher wrote 01/23/2021 at 17:43 point

Nice one! Thanks for sharing!

  Are you sure? yes | no

Chris Drew wrote 01/23/2021 at 18:28 point

This has generated a LOT of interest on the Betaflight Official Facebook group :-)

  Are you sure? yes | no

Benjamin Prescher wrote 01/23/2021 at 20:50 point

Haven't thought of facebook and betaflight ^^ Credits are warm welcome - thanks! Would be nice to see a betaflight single copter add-on?! Thinking of something like this before?

  Are you sure? yes | no

Nicola wrote 01/22/2021 at 10:00 point

Hi, this project it's amazing and I would try to build one for myself. It's so beautiful to have one :)

There is a guide or something with all the steps I have to follow or reading here I am able to proceed with the build? For the radio setup the channel are the same as a normal FPV drone?

Thanks a lot for sharing this project!

  Are you sure? yes | no

Chris Drew wrote 01/23/2021 at 12:20 point

I did ok with the instructions here, if you have built drones before you should be OK.
Just get started & let us know how you get on :-)

  Are you sure? yes | no

Chris Drew wrote 01/20/2021 at 16:06 point

On my build the servos jitter like crazy... need to have a look at PWM rate I guess...
I never ran servos on a quad fc before, only direct from Rx.
Also I stripped one while testing so using the spare I luckily thought of getting.

A couple of them don't sit "straight"... the horn only fits on the output  shaft in set position either side of where it needs to be, because of the splines... not sure how to fix that.

  Are you sure? yes | no

Benjamin Prescher wrote 01/20/2021 at 16:47 point

Low pass on the servo might be usefull as explained in the logs! Hope to see your drone up in the air soon ;)

  Are you sure? yes | no

Chris Drew wrote 01/20/2021 at 23:28 point

I already have the low pass set up as per blog...
EDIT: Solved the servo jitter!
It was because I am using analogue not digital servos... set servo_pwm_rate=50 & not servos are super quiet & smooth.
Now I just have to sort the non-centred thing.

  Are you sure? yes | no

Chris Drew wrote 01/13/2021 at 17:04 point

Hi, this is a great project! My build is progressing well, I will be adding FPV and want to put the camera on a tilting mechanism.

For this I will have another servo... I am not sure what I can now wire that to, I asked on Betaflight Official FB group but nobody can help.

I am using the same FC as you, but I am not sure what resource I can remap for SERVO 5...

When I have finished this I want to see how small I can build one... with 16x16 FC & maybe 3" prop, 1.7g servos

  Are you sure? yes | no

Benjamin Prescher wrote 01/13/2021 at 18:49 point

Hi Chris! If you do not want to use LEDs on your drone you should still be able to use the pin for a servo (not tested). I hope we see a picture of a smaller drone version! Best Ben!

  Are you sure? yes | no

Chris Drew wrote 01/13/2021 at 22:40 point

Oh I am definitely using LED strip for LEDs, hence the question.

Also, you mention daisychaining the LEDs, I was planning on doing that, at the top of each strip... but did you then take +5v & GND for servo power from the pads at the bottom of the LED strips?

  Are you sure? yes | no

-Brian wrote 01/08/2021 at 05:06 point

  Are you sure? yes | no

Benjamin Prescher wrote 01/08/2021 at 07:31 point

This is great video documentation and enriches the course! Thanks a lot for this.

  Are you sure? yes | no

Sergey Zhushev wrote 12/17/2020 at 16:03 point

Hi! I am trying to repeat your project with my own adjustments on other details. Please, do you have a wiring diagram of all the parts? I do not understand where the receiver and esc of the motor are connected.

 Thanks!

  Are you sure? yes | no

Benjamin Prescher wrote 12/17/2020 at 16:12 point

Hi Sergey. The wiring depends mainly on your flight controller. I don't know which one you are using. Wiring diagrams for various flight controllers can usually be found on the Internet. I didn't create a diagram myself. Thanks for asking!

  Are you sure? yes | no

Sergey Zhushev wrote 12/18/2020 at 15:30 point

Hi Benjamin! Thank you for your quick response! I think i understand your scheme. The output of the receiver goes to SBUS, and the output to ESC with PPM. Right?

  Are you sure? yes | no

Benjamin Prescher wrote 12/18/2020 at 15:45 point

Hey Sergey. Since the request for a schematic has already come in several times, I'll likely submit it later. First again: Receiver -> SBUS / IBUS. The servos are attached to motor 1 to motor 4, respectively. What is behind this is also listed again in the project log "resource mapping". The wiring of your flight controller should be clear? https://www.rctech.de/media/catalog/product/optimized/d/b/db289e85b895ee26ac1444721c4f5dd1/5020_1779x1221.jpg

  Are you sure? yes | no

Sergey Zhushev wrote 12/20/2020 at 07:47 point

Hi Benjamin! With your help, I figured out the connection. I'm using a MAMBA F405 mini MK2 controller. I hope to provide a photo or video of my design soon)

  Are you sure? yes | no

Benjamin Prescher wrote 12/21/2020 at 09:05 point

Perfect! I am glad to hear that! I'm looking forward to videos or something similar!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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