This is a new design of my brushed, DC motors drone based on the Arduino, these small coreless
DC motors, an NRF24 radio connection, the MPU6050 IMU module and it runs on an adapted
MultiWii platform. I wanted to make this as a KIT and place it on my website and that’s
why I’ve also made a PCB for the radio controller. Like this you have both the drone and the
controller based on the same NRF24 radio connection. In this video I will explain to you the evolution
of this project, why I’ve made all the changes for each new version and show you how to mount
this last version kit with the drone and radio controller. I will show you the new parts
and components I have on this new PCB and explain you why I’ve decided to use these
new parts. I will also explain what I had to adapt in the MultiWii code in order to
work with brushed motors instead of brushless motors, and the parts of the code that are
responsible for the NRF24 radio connection. Probably, till now this is the best one yet
but have in mind this is not perfect. But in the same way I’ve learned something new
with each version, I hope you will do the same by watching my videos on this brushed
drone project. Make sure that you subscribe and activate that notification bell. Also,
thanks to all my PATREONS for the support, so, let’s get started.
What’s up my friends, welcome back. So here I have the last version for this brushed DC
motors drone based on Arduino and NRF24 radio connection. During these last years I’ve
been trying all sorts of shapes for my drone, getting better and better so I guess the trial
and error method works quite well. The first one was good but it was only the flight controller
board so we needed a 3D printed body of some sort or a homemade one. The next version had
the motors on the PCB but never got to fly because for some reason the board was resetting
itself each time. I guess the motors were drawing too much current at once. Since the
board was too heavy because it was filled with copper and I’ve used a thickness for
the PCB of 1.6mm. That’s why, for the next version I’ve made a PCB with only 0.6mm
thickness and also removed the copper plane so it will weight less. But then I had a different
error. The PCB was too flexible so that would create too much oscillation in the drone arms
so once again, this drone never got to fly. I knew that the design worked, the problems
were always because of the physical shape of the drone and not the components. That’s
why I’ve made a homemade version with these barbeque wood sticks and I’ve soldered the
same components on a small prototyping PCB. And finally, I had good results, and I was
able to fly this drone, which was a huge achievement. The big change was the use of these gears
system instead of directly attaching the propellers to the DC motors. In this way, there was no
more current spikes that would reset the PCB since at a lower speed I could have the same
trust. Also, the drone was more stable because now the surface area was bigger. With bigger
propellers I had more trust as well. But of course, this drone was not that good looking
and that’s why I’ve made this version 5.1. To make these PCBs I’ve used JLCPCB
services. Download your GRERBERs from your CAD software. GO to JLCPCB.com and select
quote now. Here upload the zip file with all the GRERBERs. Then select your desired settings
such as PCB thickness and solder mask color. I’ve ordered 5 black color PCBs for just
a few dollars plus shipping. Usually, shipping to Spain takes around 8 days. I’ve received
both PCBs, for the radio controller and the drone and the quality is great. I think the
black solder mask is my favorite. It looks so good. Ok so for this KIT we have a PCB
for the radio transmitter and a PCB for the drone. So, let’s start with the drone body
and see what parts we have and which parts are new. Of course, it has the shape of a
QUADX drone with 4 arms and on each arm, we can find a MOSFET to control the DC motor,
a diode, some resistors and some LEDs below to give it a better look. The tip of each
arm has some holes so you could insert directly the DC motor if you want, or in the other
case, to glue in place this kind of gear system. I’ve have 4 of these plastic gears without
the DC motors, for only 1 dollar so this project price is quite low. The size of the PCB is
of 140 by 140 mm, and a diagonal length of 190mm between each tip of the arms. In the
middle of the PCB we have of course the ATMEGA328 microcontroller which is the brain of the
board and is programed in Arduino. On the side, I’m now using the SMD version of the
NRF24 radio module instead of the DIP version. That will save some space. I’ve also placed
this radio module on the exterior of the PCB so the noise from the power tracks would be
lower. Thanks to the tests I’ve made in the past for this design, I figured out that
the shorter the data tracks of the NRF24 module are, the less noise it will get. That’s
why I’ve tried to make the data tracks between the module and the microcontroller below 2
cm. Another important change is this LDO here. This is the HT73 with a 3.3V output. You see,
the main input for this drone is a 4.2V LiPo battery. The NRF24 module must work at 3,3
volts. To get those 3.3V, during my last prototypes I’ve tried different options. The first
PCB was based on the AMS1117. But I’ve then learned that this LDO has a voltage dropdown
of 1.1V. What dose that mean? Well, in order to get 3.3V, the minimum input must be 3.3
plus 1.1, so a voltage of 4.3V. So, I would have to use a 7.4 LiPo battery which would
weight more and not just that, but I would need a second voltage regulator for 5V for
the ATMEGA chip. You see, the ATMEGA chip works with no problems with a voltage from
1.8 to 5.5V, so I can easily use directly 4.2V from the battery. But with a 7.4V battery,
I would need 2 regulators, one for 5V and another one for 3.3V and that would complicate
the circuit even more, create more noise, more power loss and so on. That’s why I’ve
used the HT73 LDO, because this one has a very low voltage dropdown, only 60mV. Another
way to get 3.3V is to use a diode to lower the voltage from 4.2V to 3.3, so this diode
must have exactly a voltage drop of 0.9V. I’ve used this technique on the version
4 PCB. The problem is now that the output voltage will change with the voltage of the
battery and we don’t want that. So, the best solution was to stick with the HT 73
LDO. The main input from the battery is connected here on these pins and we now have a sliding
switch to turn the drone on and off. Now let’s see the ports that we have. Now this one here
is the UART port we use to program the microcontroller using an external FTDI module. These pads
here are for the same UART connection but for a Bluetooth module like this one, because
I want to change the code in the future and see if I can make this work with Bluetooth
connection. Finally, we have 3 more pads here for a PPM input. Recently I found these very
small radio receivers that are compatible with my radio controller and they cost just
a few dollars. Having these pins here, I can also make test using a PPM radio connection
instead of the NRF24 module. And in the middle, we have the I2C port for the IMU module or
any other serial module that we want to add. Finally, I have some pads for an active buzzer,
an LED connected on digital pin 13, and on the bottom side we have the SPI port in case
we need to burn a new bootloader to the microcontroller. And that’s pretty much it for this PCB.
Let’s take a quick look on how to mount it. To make this PCB you will need one ATmega328
chip, the HT73 voltage regulator, one sliding SMD switch, 4 SI23 01 MSOFET, the NRF24 SMD
radio module and the MPU6050 IMU sensor. You will need some extra diodes, LEDs, resistors
and capacitors so see full part list below. You will also need the plastic gears and the
small brushed DC motors. Ok, this step is very important. When you start soldering components
you must solder first the ATMEGA chip, the R6 resistor of 1 mega ohms and the 16 MHz
crystal, the R2 resistor of 10K and the C4 capacitor of 100nF. With these components
you can test if the chip works, so connect the external FTDI programmer to the UART port
and upload any test sketch. If the code works, that means you can keep soldering components.
Now you can solder everything else but the MPU6050 module and the NRF24 radio module.
We leave that for the end. When you have all the resistors, the voltage regulator and the
capacitor, you must connect the battery and test if we have 3.3V at the LDO output, otherwise
you can’t connect the radio module yet, or you will burn it. Test all the points and
make sure everything is ok. If you have good voltage, no short circuits and everything
goes well, you can now solder the radio module in place. You can also solder the MOSFETs
on each arm with the needed resistors and diode. Finally, we can add the MPU6050 sensor.
This must be the last, because once we solder this, we can’t access to the components
we have below anymore. You can add the MPU6050 module but also the HMC 58 83 magnetometer
or the BMP 180 barometer. The MultiWii platform accepts all these modules and they all have
the same i2C connection. So, you could place them one on top of the other like I’ve done
here. But this will work with no problems only with the MPU6050. Finally, I use some
super glue and place the plastic gears on each arm of the drone. Make sure you glue
them straight and with the propeller shaft pointing upwards. Now for the motors, you
will need 4 of this coreless DC motors with a diameter of 7mm. You will find links for
everything you need below in the description. Just insert each motor in the plastic gear
support. Now you have to solder the wires from each motor. On the PCB you have positive
and negative indicators. So, connect your power supply to each motor in order to see
in which direction it will rotate. Once you know that, solder the motor wires in such
a way, that the propellers will spin in this direction. This is very important. Follow
the arrow on the PCB in order to know which is the front of the drone, and then make sure
the propellers are rotating inwards like this and have in mind this is motor 1, motor 2,
motor 3 and motor 4. The drone is ready but without a code. You could now download the
code from below and give it a test. The code is named MultiWii brushed motors V5.1. Open
it with Arduino IDE, connect the FTDI programmer, select an Arduino NANO board and upload it.
In the same Zip file, you will also find the MultiWii JAVA platform. Keep the programmer
connected to the PCB and run that application. Select the COM of the board and press start.
Now you should see the movement of the drone in real time, represented with the 3D model
in the MultiWii App. Check if all the movements are ok. If you also have the NRF24 radio controller,
when you turn it on you should also see the received signal for each channel. In order
to be able to activate the motors, you must select an auxiliary switch for that purpose.
The radio controller has two switches for AUX 1 and 2. I set that when AUX 2 is high,
the motors will be activated, and when AUX 1 is high, horizontal mode is selected. Then
press the write button and the new settings are stored to the flight controller. As you
can see, now when I flip the AUX 2 switch, the motors are armed and the label is now
green. Without this, you won’t be able to activate the motors. One last step. Place
the drone flat on the table and then hit the calibrate button. Now, take out the FTDI programmer
and connect the LiPo battery. I flip ON the switch and the drone starts. Turn on the AUX
2 toggle switch and by that arm the motors. Now I increase throttle and there you go,
the motors are spinning. Before we add the propellers let’s see the radio controller.
You have a full video below on how I’ve made this 3D printed radio controller based
on Arduino and the NRF24 radio module with an amplified antenna so go check that out
as well. This PCB is based on the same schematic and connections. We have two joysticks, each
one with two channels. Then we have two toggle switches for AUX 1 and 2. The microcontroller
is the same ATMEGA328, but this time is the DIP version. And here we have the SPI port
so we could connect the NRF24 radio module which could be the small PCB antenna or the
amplified one. To mount this PCB, as before first you must solder the ATMEGA chip, the
R1 resistor of 10K, the 16MHz crystal and the C1 and C2 of 22pF and the C3 of 100nF.
Then, connect the FTDI module and test if it works just as we have did before. If it
works, you can solder the rest. I’ve used female pins so I could change the radio module
whenever I want. On the back, this time, we have 2 voltage regulators, since to supply
this board we can easily use a 9V battery like this one. One LD0 is the AMS1117 for
5V and the other one is the same HT 73 for 3.3V for the radio module. The PCB still has
SPI pads on the back in case you need to burn a bootloader. On the front side, we have pins
for the i2c port for an MPU6050 module, in case you want to add control by movement instead
of using the joysticks. But that is for a future update. See my video below for the
MPU6050 based radio controller. Go and download from below the transmitter code. Connect the
FTDI module and upload it to the PCB. This time select an Arduino UNO board from the
Arduino IDE. That’s it, we now have both the transmitter and receiver. Connect the
drone PCB to the MULTIWII platform again, and test if the small transmitter works. You
might need to tune up the analog values from the joysticks a little bit, so check the code
for that. Now I add the propellers. We have two clockwise and two counter clockwise. Place
them in such a way that the air will be pushed downwards and remember that they should rotate
like this. Connect the battery and fix it in place using some elastic ribbons or maybe
some scotch tape. Place the drone flat and flip the ON switch. Now, enable the motors
with the AUX 2 button and then increase throttle. The connection works. You must test if the
motors are rotating correctly using the radio controller. Keep the drone in place and put
roll to maximum. Only the left or right side should rotate. Then do the same for pitch
and only the front and back side motors should rotate. I’ve tried to make some tests inside
my home and is flying quite well, but is impossible to make a proper test this inside. Since we
are under coronavirus lockdown these days here in Spain, I can’t go outside to test
it. But for now, it seems It works quite ok.
In this case, the PCB weights even less than the old one.
and the arms are not elastic at all. Once I will be able to go outside in
public parks, I will make another test and post it on Instagram or my website so stay
tuned for future updates. You can download the schematic, the code, the part list and
everything you need for this project from below. If you want to support my work, I’m
also selling the GERBER files for the PCBs on my shop for just a few dollars. But if
you want to make your own design, remember that all the information is shared for free
on electronoobs.com or electronoobs.io. In the future, I will update the code for the
drone, so I will be able to use this with the PPM receiver or even with the Bluetooth
module. Let’s hope that will work ok as well. So guys, this was the update on the
brushed DC motors drone project. I know a lot of you guys were waiting for a new update
video. Now you can have the drone and the radio controller made by yourself. You can
always change the code if you want and make future improvements. For better control, I
recommend you to use better joysticks, like the ones I have here. Everything is documented
below on electronoobs.com. I hope that you’ve learned something new about this project,
about how to select a good LDO and why trial and error method is good in some cases. After
5 versions, I finally have a pretty decent working drone that is 100% homemade, it uses
my own code, based on MULTIWII of course, and I could always improve the schematic,
add new components and so on. Give a like to this video and make sure that you subscribe
and activate that notification bell. If you want to support my work, consider buying any
of my new PCB designs from my shop or even support me on PATREON. That would be awesome
and I would really appreciate it. Thanks again and see you later guys.