@tutorial: Brushed Arduino Drone V5.1 (KIT format)

So, for some time I've been working on a good Arduino based, brushed coreless DC motors, NRF24 radio connection drone that could also have everything on the same PCB. After a few attempts, I finally have a good enough version. This drone flies very well, the code is based on the MultiWii platform, all components are on the drone PCB, everything is explained in this tutorial and you also have the parrt list below. So, if you want to make the same,

External Link: https://electronoobs.com/eng_arduino_tut117.php

by: ELECTRONOOBS on 2026-06-01

~PART 1 - What we need?

We need a lot of parts but don't worry, nothing complicated to get. We need the ATmega328 chip in AU package, the sensor, the motors, propellers, the radio module and a few other SMD components such as ressitors, capacitors and LEDs. Check each component below. If the link is not updated, jsut go on eBay adn search the component yourself using the names below.


For the drone we need:

  1. 1 x PCB GERBERs : Get HERE
  2. Or get the full KIT HERE
  3. 4 x plastic gears: LINK eBay
  4. 1 x ATmega328-AU: LINK eBay
  5. 1 x i2c MPU6050: LINK eBay
  6. 4 x brused DC motors 7mm: LINK eBay
  7. 4 x Propeller (2CW 2CCW): LINK eBay
  8. 1 x 3.7V battery: LINK eBay
  9. 1 x HT7333 regulator: LINK eBay
  10. 4 x SI2302 MOSFET: LINK eBay
  11. 1 x 16MHz 3213 crystal: LINK eBay
  12. 4 x SS12 DO-214 diode : LINK eBay
  13. 1 x slide switch: LINK eBay
  14. 3 x 10uF 3216 capacitor : LINK eBay
  15. 4 x 100nF 0603 capacitor : LINK eBay
  16. 1 x 1M 0603 resistor : LINK eBay
  17. 5 x 10K 0603 resistor : LINK eBay
  18. 4 x 100R 0603 resistor : LINK eBay
  19. 5 x 330R 0603 resistor : LINK eBay
  20. 1 x 0603 blue LED : LINK eBay
  21. 2 x 0603 red LED : LINK eBay
  22. 2 x 0603 green LED : LINK eBay
  23. 1 x Buzzer: LINK eBay
  24. 1 x FTDI programmer: LINK eBay

For controller we need:

  1. 1 x PCB GERBERs : Get HERE
  2. Or get the full KIT HERE
  3. 1 x ATmega328-PU: LINK eBay
  4. 2 x joystick: LINK eBay
  5. 1 x NRF24 + PA radio module: LINK eBay
  6. 3 x slide switch: LINK eBay
  7. 1 x AMS1117 5V regulator: LINK eBay
  8. 1 x HT7333 3.3V regulator: LINK eBay
  9. 1 x 16MHz crystal: LINK eBay
  10. 2 x 22pF 0805 capacitors: LINK eBay
  11. 3 x 100nF 0805 capacitors: LINK eBay
  12. 3 x 10uF 3216 capacitor: LINK eBay
  13. 1 x 10K 0805 resistor: LINK eBay
  14. 1 x 200R 0805 resistor: LINK eBay
  15. 1 x 0805 LED: LINK eBay
  16. 1 x FTDI programmer: LINK eBay


~PART 2 - Drone Schematic

The schematic is not that difficult and is quite the same as the other version. First we have the power block where we regulate our 3.3V for the NRF24 radio module. Remember that this module needs that voltage. The ATMega328 chip needs a few components to work such as the reset pullup, the crystal and other capacitors. To control the motors we use 4 n-MOSFETs. The PCB also has SPI pads in case you need to butnj the bootloader to the new chip. Get the PCB and the components and following the values on the schematic, solder the PCB.


Arduino brushed drone schematic
Arduino brushed drone schematic
~PART 3.1 - The ATmega328 uC

First of all, we need to solder the microcontroller and test it. Is the most delicate component and we must make sure it has a bootloader, the crystal is working and the basic configuration is ok. So first step, get the drone PCB and the next components: The ATmega328-AU chip, the R2 resistor of 10K, the 16MHz crystal and the R6 resistor of 1M and finally the C4 capacitor of 100nF. With these components we can test the microcontoller. So, solder all these components. Follow the dot on the microcontroller in order to know which is the first pin. I've used solderpaste and my hot air gun to solder the chip and crystal and the soldering iron for the rest of the components.

~ PART 3.2 - Test the ATmega328

In my case, I've took out the ATmega328-AU chip from an Arduino NANO board. That means it already has a bootloader so we could directly test it with the FTDI programmer. If it's a brand new chip taht you bought, you need to burn the bootloader first, so check next part for that. If the chip has the bootloader, connect the FTDI programmer to the UART port with Vcc, GND, RX, TX and DTR pin. Select Arduino NANO board in the Arduino IDE, select the COM of the programmer and upload any simple sketch in order to test if the chip works. I usually upload a counter with Serial.print so I can check that counter value on the serial monitor (see code below). If it works, everything is good and we can keep soldering components. If it doesn't work it might be because:

    - The chip dose not have a bootloader (you will get not in sync error)

    - The DTR capacitor is not 100nF value or not well soldered so the FTDI can't make a propper reset

    - The R2 resistor is not well soldered so we don't have the reset pin with pullup

    - Any of the ATmega238-AU pins could not be well soldered (check with multimeter)

    - The crystal could not be of 16MHz or now well soldered in place

    - You've damaged the chip (get a new one and lower the temperature while soldering)

~PART 3.3.1 - Burn Bootloader?

If the ATmega328-AU chip is brand new, you will probably need to burn a bootloader to it. With the same configuration as above we can burn the bootloader so solder the chip and components as before. You will need an Arduino NANO to burn the bootlaoder. Make the connections as below from the Arduino NANO to the bottom side of the PCB. Connect GND and 5V to any of the GND and Vcc pins of the PCB.


~PART 3.3.2

Ok, once you have the Arduino NANO connected to the PCB you need to prepare it to work as an ISP programmer. For that you need yo upload the Arduino as ISP code to the NANO first. So, go on the Arduino IDE, examples, ArduinoISP and open that example sketch. Then select the Arduino NANO board and the default programmer type. Upload this code to the NANO.

~PART 3.3.3

Now that the Arduino ISP code is uploaded and the connections are made, is time to burn the bootloader. First, change the programmer type from default to Arduino as ISP as you can see below. Then go to tools and click burn bootloader. The LEDs of the Arduino NANO should blink like crazy. After that you should get the message Bootloader burn complete if everything goes well. To test the chip, change back the programmer to AVRISP MKII and follow the step before (3.2) and using the FTDI programmer, upload a test sketch.

~PART 4 - Solder 3.3V LDO

Ok, at this point we know the microcontroller works. Before we solder the rest of the components, we must make sure we have a good 3.3V voltage, otherwise we will burn the NRF24 radio module because it can't take higher voltage than that. So, solder the HT73-33 LDO and also the 10uF and 100nF capacitors at input and output. Also solder the input pins and the slide switch. Extra: I've also sodlered the LED and R10 resistor of 330R. Then connect the 3.7V battery at the input pins and flip the switch. Check the voltage at the NRF24 pins with the multimeter. It should be close or exactly 3.3V. If is higher, it might create problems so check the connections. Now that we have our 3.3V, we can solder all the other components.

~PART 5.1 - Solder the rest

You can now solder all the other components but follow this order: You must solder the MPU6050 last because otherwise, you won't be able to access the components below. Solder the MOSFETs, diodes and resistors on each arm for the motors control. Then solder the rest of resistor and capacitors. Solder the NRF24 radio module and finally the MPU6050 on top. You could always add more i2c modules on top such as magnetometer or barometer.

~PART 5.2 - Add motors

All components are soldered. Let's add the motors. First we glue the supports. Make sure the propeller shaft is facing upwards. Add super glue and fix each support in place. Insert the DC motors and then solder the wires to the + and - pads for each motor. Be careful! Two motors will spin clockwise and the other two counterclockwise.

~PART 5.3 - Solder motors

Soldering the motors well is very important. Use an external power supply set to 3.7V in order to check in which direction the motor will rotate. Once you knwo which polarity will rotate in which direction, solder the wires to + and - in such a way taht the motors will spin like below. The main arrow shows the front face of the drone. Then, the propellers will rotate outwards like below and that's important for stability and yaw control.

~PART 6.1 - Program the drone

Ok, now the drone is ready. Don't connect propellers yet! Go below and downlaod the multiwii code. Open that code in Arduino IDE. Connect the FTDI programmer to the PCB. Compile and upload the code. The code is not the usual MultiWii code. Is adapted to work witn NRF24 radio connection and to contero brushed mosfet with PWM signal instead of ESC control. So, not any MultiWii version will work, only the code below.

~PART 6.3 - Test MultiWii

Now the drone has the MultiWii code. We have to test it. Go below and download the MultiWii Java platform. Make sure you have Java installd on your PC. Run the Multiwii platfrom for 32 or 64 bits. Keep the PCB connected to the programmer with USB. In the app, select rhe com of the FTDI programmer and click start. Now you should see the data from the drone as in the video below. Calibrate accelerometer. If at this point you have the radio controller ready, test if you receive data as well.

~PART 6.4 - AUX channels

IMPORTANT: In order to enable the motors later, we must define one AUX channel to do that. A lot of you guys had problems with this in previous tutorials. So, in my case I check AUX 2 when HIGH to enable motors and AUX 1 when high to enable angle mode. After taht click write in order to uplaod the new configuration to the drone. Now, each time you flip AUX 2 switch, you will enable or disable the motors.

~PART 7.1 - Radio Controller

If you want a better radio controller using the same configuration, see this previous tutorial. That controller si compatible with this done. For the radio controller follow the same steps as for the drone PCB. See the schematic of the PCB below and use the same values. This time we supply the PCB with 9V battery so we have 2 voltage regulators, one for 5V and another for 3.3V. We will sue a power amplified antenna NRF24 module for more range.

NRF24 Radio Controller Schematic
NRF24 Radio Controller Schematic
~PART 7.2 - Solder the ATmega328p-PU

For the radio controller follow the same steps as for the drone PCB. Check the part list here and solder the components in this order: First, the ATmega328p-PU chip, with the R1 resistor of 10K, the C3 capacitor of 100nF, the crystal of 16MHz and the C2 and C1 of 22pF. You can also solder the LED1 and R2 of 330R and the push button for reset. Then test if you can upload a sketck. If you need a bootloader, use the SPI pads below and burn it as in the previous part.

~PART 7.3 - Voltage regulators

If the ATmega328 chip works, solder the rest. First solder the voltage regulators. After you solder the LDOs and capacitors, connect 9V at the input and check for 5V and 3.3V with your multimeter. Make sure you have good values. If everything is ok, solder all the rest of the components.

~PART 8 - Program radio controller

Go below and download the radio controller code. Open it in Arduino IDE. Select Arduino UNO board and uplaod it to the PCB using the FTDI programmer once again. Now you can test if you can receive values to the MultiWii platform with the drone conencted as you can see below. you might need to tune a little bit the joystick values in order to be exactly in the middle. If not, use my previous radio controller with digital adjustment from this tutorial.

~PART 9.1 - Final steps

Ok, now add the propellers and the battery. Make sure you calibrate the accelerator in the multiwii paltform. Make sure the propellers will rotate in the directions as below and that they will push the air downwards. Flip the swith of the drone and radio controller. Flip the AUX 2 swith in order to enable the motors. Then increase throttle and the drone will go up.

~PART 9.2 - And fly!

Flip the swith of the drone and radio controller. Flip the AUX 2 swith in order to enable the motors. Then increase throttle and the drone will go up. The better joysticks you have, the better will be the control. Add more sensor for better fly, altitude control and so on. That's it. Consider supporting me on PATREON. Thank you! For any question sue the forum here.

Leave a comment

Please login in order to comment.

Comments

ADVERTISERS
ADVERTISERS
PCBWAY