Skip to main content

Let's make an Arduino T-copter from scratch!


STEP-1 Starting up...

Hi people, I am back after few months.. I decided to build something "productive" from ATmega chips laying around in my drawer, collecting dust. Still my final exam is not completed, i am busy in my studies.. but i am updating my idea as early as possible on this blog. From the first day, when i saw a multi-rotor UAV i was passionate to build my own multi copter.. And yes, build it from scratch rather than building it using ready made flight controllers like multiwii, kk multicopter etc... I am going make my own RF remote control rather than using a ready made multichannel  transmitters & receivers.. Hope my tricopter will fly as early as possible..

Basic Design (just created in paint):

Selection of configuration

I am going buy require components after my final exam...
lot of work to do.. software, hardware & calculations...!!

so stay tuned to build your very own tricopter with me... 

(PS. I am trying to understand mathematical algorithm for flight stabilization and error detection n correction )

#-- Minor Update : I decided to build a T-copter instead of tricopter because it is easy to build the t-copter frame & i think it will provide wide view for FPV camera as props will not interfere with camera view if i will mount it on front plate.





STEP-2 Purchasing the electronics:


After searching a lot, I decided to purchase the components from aliexpress.com. All the sellers are Chinese & provide electronics at very low cost. Just make sure that seller have good feedback &  5 stars to avoid spam. I didn't buy power supply & electro-mechanicals.. If my flight stabilization program worked (HOPE SO....!!) only then i will bought BLDC motors, ESCs n LiPo..
{By the way, my pocket is empty at this situation :D }

I am providing links of components i purchased:
  1. IMU (Inertial measurement unit [MPU-6050 3 axis accelerometer & gyro with integrated DMP, HMC5883l magnetometer, BMP085 barometer (all these on same breakout board.)].
    http://www.aliexpress.com/item/GY-88-10DOF-IMU-MPU6050-HMC5883L-BMP085-for-Arduino-Accel-Gyro-Baro-Mag-UNO-Mega-DUE/1377907454.html
  2. nRF24l01+PA+LNA RF modules [1.1KM range for outdoor]
     http://www.aliexpress.com/item/2pcs-lot-Special-promotions-1100-meter-long-distance-NRF24L01-PA-LNA-wireless-modules-with-antenna/969949629.html
  3. Some cheap cable ties.
     http://www.aliexpress.com/item/100PCS-8-inch-200mm-2mm-White-Cable-Wire-Zip-Ties-Nylon-Cable-Tie/1090701256.html
  4. A 9G micro RC servo [for Yaw mechanism]
    http://www.aliexpress.com/item/Micro-9g-Servo-RC-Futaba-helicopter-Trex-450-SG90-Free-Shipping-via-China-Post-with-Tracking/878216909.html]
  5. A simple spy camera [i know, its not good but lets buy GoPro after 1st flight :-) ]
    http://www.aliexpress.com/item/Cheapest-Mini-DV-720P-DVR-Thumb-DV-Motion-Detection-Camcorder-Metal-720P-HD-30fps-4-5CM/1447525650.htm
  6. Prototyping cables [female to female, as my arduino have male pins (strange & unique too)]
     http://www.aliexpress.com/item/Free-Shipping-40pcs-20cm-2-54mm-1p-1p-Pin-Female-to-Female-Color-Breadboard-Cable-Jump/1242878833.html

So lets wait for 15-30 days... lets do something productive in this time... I hope i will got this stuff at my door till next month. I will update here once i got these tiny modules on my palm :)

(P.S. My exam is still going on so its better i should study.. Fly this t-copter out of head & let me do some study, seriously...! :p )



STEP-3 The 3D model (Concept):


So, Now its time to make a 3D design until i receive electronics.. First i draw various sketches of  'T'copter on the paper & then i made the following design on www.tinkercad.com . Its the free website that allows you to make 3D models with greater simplicity in web-browser. The few screenshots are attached below.




































Still i am trying to improve overall design, specially yaw mechanism.. if i made any new more effective & easy mechanism then i will post it here..

By the way, i am currently trying to understand flight controller system theoretically.. The mathematical part like Euler angles, Direct Cosine Matrices, Kalman filtering are quite complex to understand. Here i feel that choosing MPU-6050 is advantageous because of its integrated DMP which perfoems sensor fusion internally & can easily provide euler angles & other kinematics stuff..




# New Purchase:

As i don't want to add more delay to complete this project, i ordered f BLDCs, ESCs, LiPos & some connectors & hardware stuff like glue gun.. Now i decide to go for ebay instead of aliexpress as these stuff are easily available here & i don't want to keep tracking more china post orderes again for one more month links are given below:


  1. EMAX 935KV BLDC : http://www.ebay.in/itm/EMAX-MT-2213-935KV-Brushless-Outrunner-Motor-For-Multirotors-/191155215941?pt=IN_Toys_Games_School_Stuff&hash=item2c81bd1e45
  2. EMAX 20A SimonK  ESC: http://www.ebay.in/itm/EMax-20Amp-SimonK-ESC-Multi-rotor-Motor-Speed-Controller-SimonK-Firmware-/191155220079?pt=IN_Toys_Games_School_Stuff&hash=item2c81bd2e6f
  3. DJI style 10x4.5 props : http://www.ebay.in/itm/10x4-5-DJI-Style-Props-multirotors-1-Pair-CW-CCW-Random-Color-/201082279442?pt=IN_Toys_Games_School_Stuff&hash=item2ed1701612
  4. LiPo charger (cheap) : http://www.ebay.in/itm/EC-0857-Charger-B3AC-2S-3S-Lipo-Balance-Charger-AC-100-240V-/191155236268?pt=IN_Toys_Games_School_Stuff&hash=item2c81bd6dac&_uhb=1
  5. Some 3.5 mm bullet & T connectors.
  6. Hot Glue Gun : http://www.ebay.in/itm/Quality-Glue-Gun-Hot-Melt-Easy-use-Multi-Purpose-Office-House-/121070255044?pt=LH_DefaultDomain_203&hash=item1c30597bc4&_uhb=1
  7. 2200mAh 25C Lipo for T-copter : http://www.rcbazaar.com/products/1266-wolfpack-2200mah-25c-111v.aspx
  8. 500mAh 25C Lipo for Transmitter : http://www.rcbazaar.com/products/1740-wolfpack-500mah-25c-37v.aspx
Now i have everything that required to build a transmitter, so my next step is to test everything on breadboard & then making a custom PCB with ATmega328/168 (as per code size)(8Mhz internal osc. on 3.7V as PCB with crystal will be bigger & will not fit in Gamepad body!), interface it to nRF24L01+, toggle switches, LEDs & complete the remote controller system.
I found that ATmega's works well @ 8MHz / 16MHz on 3.3V. so no need to use separate voltage regulator for nRF module..!



# Shipment Update:

** 8 May 2014:

Finally on 21st day after placing order from aliexpress, i received 1st shipment today afternoon.. nRF24L01+PA+LNA RF module pairs.. 



nRF24L01+PA+LNA unboxing


nRF24L01+PA+LNA

Both modules are tested & worked with example of RF24 library & worked with my code (after considerable headache of loose breadboard connections).

I will receive remaining components like IMU,servo etc in next 3-4 days. By the way, i am going to create a PCB layout for transmitter today. i will finish the layout in next 2 days & i will share the design.

** 9 May 2014:

I received LiPo batteries today. 2200mAh is for T-copter & 500mAh is for transmitter obviously. The charger & connectors are not yet delivered. Another problem is my charger is not supported for 1 cell LiPo.. So either i have to make it my own (Risky & may cause fire while charging) or buy one USB 1S lipo charger..! Lets see what to do.. Snapshot is provided below:



LiPo batteries

** 10 May 2014:

Got breadboard prototyping cables. Extremely useful for interfacing nRF24L01 module. Recommended!



40 prototyping wires



** 12 May 2014 :

Received hot glue gun.



Got Glue Gun

Also received Brushless DC motor, ESC, pair of prop, few connectors, lipo charger etc.. Lipo charger works well though its cheap..!!



DJI style 1045 prop CW & CCW


B3AC LiPo charger for 2S/3S LiPo's


EMAX 20A Simonk ESC..


Charger is working good without heating LiPo cells


EMAX 935KV BLDC motor


BLDC motor.. another snap!


Unboxed ESC. Tiny but powerful!

** 15 May 2014:


Received GY-88 Flight controller IMU module, a spy-cam, cable ties etc..


GY-88 IMU

Spy-cam that is to be mounted on T-copter.


(P.S. : Get ready to make your hands dirty because in next step you have to play with CAD softwares, corrosive etching chemical, vibrating drills & burning hot solder/glue.. Be prepared! :-D)

STEP-4 Building RC transmitter :

Finally, my final exam is completed!! So lets start the actual hacking the hardware right now! The T-copter have 2 main subsystems :
1. T-copter itself (obviously...)
2. Remote controller.

As i am making everything from scratch, lets build a RC transmitter too.
first thing we need to make a transmitter is few keys or joysticks to control the T-copter & the RF module to establish communication with the drone flying in the air. I decide to use pair of analog joysticks instead of push button switches so that it will provide a "feel" of using classic RC transmitter similar to turnigy or futaba multi-channel system.
I found a good old USB gamepad with analog joystick which was compatible with PS2 controller. I decided to hack it & convert it into a RC tx for my t-copter.
So, Lets start working on hardware:

First i opened this Chinese gamepad (RIP gamepad!) & then removed all the electronics away, disassembled all the buttons & small pieces of pcb's attached to USB cable.

I am going to build a custom pcb using arduino & i will fix all the setup back in this plastic body of controller, so i will get a compact, easy-to-hold, pretty awesome RC transmitter..!!

Disassembled USB gamepad (like PS2)

The analog joysticks & main controller PCB that are removed from this USB gamepad is shwon below:

Electronics inside the Gamepad

Yeah..!! we got 2 analog joysticks..!! Both joysticks are 3 axis joysticks that provides analog movement over X/Y axis & there is a hidden momentary switch in joystick that can be pressed by pressing joystick downwards, so thats z-axis.
Then i simply soldered +5V & GND wires to power up the joystick module (brown & black wires on upper side of black dot.). Fortunately i found solder points that connects joystick pcb to main gamepad controller pcb, so i connected this points to analog pin of arduino & successful in reading analog values from joystick. In final design i am going to detach main gamepad controller pcb from joystick pcb as there is no need of this bulky gamepad controller anymore!!!

After simple testing using analogRead(), It's time to start some serious coding. I am using arduino PID library for calculating mathematical integration from analog inputs, converted it into radio frame. But still I am waiting for shipment of nRF module so that i can transmit the values via RF module & verify the code.
I am also using few other switches that i removed from gamepad to toggle lights,autopilot & altitude hold functions of T-copter.

The code is little bit tricky but well commented so you will easily understand what processes are made on analog signal to convert it into required Throttle, Yaw, Roll, Pitch signals.
You can grab a transmitter code from the following link. Its completely open source. You need to modify the code as per your design if you are thinking to copy paste the code.. Grab it from Github..!

4.1 Modifying Joystick PCB


Today, we are going to actually hack a USB gamepad joysticks & make it compatible with Arduino so that can be accessed via analog pins of arduino. First thing i did is to remove or de-solder the USB controller from main gamepad PCB. Then soldered wire connectors according to pinouts & wiring between joystick PCB & main PCB. (4 pin wire connector to to read X-Y axis of both joysticks. 2 pin wire connectors for powering the PCB & the 2 buttons i.e. Z axis of each joystick)

It was really tough to solder again on this PCB due to its cheap quallity, Fortunately i didn't connected anything wrong or short. So after configuring particular analog pins in program, it works without any other changes.
The images are  show below:


Re-soldered Joystick PCB with wire connectors


Assembling to its original position


4.2 Make a Controller PCB

After modifying joystick PCB & testing it with arduino, It's time to build a Controller PCB for this project. I decided to use one of the AVR microcontroller which is to be programmed through Arduino IDE(Here i used ATmega168 @ 8MHz internal osc. [Select arduino lilypad w/ atmega168 8MHz as board & burn its bootloader. It worked fine for me.])  (If you turned on debugging the code will be greater than 16KB so you need 328 after testing you can simply turn off debugging & use atmega168).


I already bought a 3.7V 1S lipo battery that's why I am going to power the Transmitter using this lipo battery. The main problem is nRF24L01 module require 3.3V & its VCC should NOT BE GREATER than 3.6V. To solve this problem, i have simply added a silicon diode 1N4148 which provides a drop of 0.63V. As a result, the VCC of nRF24L01 is Main VCC - 0.63 which is nearby 3V-3.4V. Make sure that max Lipo voltage i.e. 4.2V must be droped to 3.6 or lower if u don't want to see smoke  from your RF module :)

With diode, there is new problem. If battery output is below 3.6V then Vcc of nRF24L01 will be less than 3V which is not recommended for proper opertation. So i decided to measure battery output & show battery charge indicator if it falls below 3.6V.

I am adding two more buttons removed from this joystick to control lights & arming of motors. The details are described further. The 10K resistor & 10uF capacitor is added to provide power on reset to mcu & second 10uF capacitor is added to remove any ripples from power supply & make output voltage smoother. There is a port on lower side of the PCB that provides power supply to nRF24L01 module by dropping voltage through diode. (& second socket is kept for future expansion) The PCB layout & artwork is shown below :
PCB layout designed in Circuit Wizard Software





Etched PCB


Ready to solder!


Ready for programming & testing!


Perfectly fits into left hand sied of Gamepad.. thats awesome!!


Burning ATmega168 bootloader & uploading sketch.
# Software :

To emulate the throttle without spring action similar to ready made RC transmitter, i used integral action to which provides integration of input over the time in exponential form. It's complex to explain here, take a look at code.
The arduino sketch & required libraries are available on my github.

4.3 RC Tx : The final stage

After slight modifications in code, the transmitter is fully operational. I added a LED to provide visual interface for toggling of different functions.
The different modules used in final transmitter assembly are shown in image.

Transmitter - To be assembled

To finish the RC transmitter, 1st you need to fix the nRF24L01+PA+LNA module into the Gamepad. You can use following method. I simply placed RF module in right side cavity, provide good support to it using some plastic rods which are present in gamepad. The images are attached below for better illustration.

Fixing the RF module


Glued to plastic supporters using Hot Glue Gun


Antenna holder glued
Now put a controller PCB in left side cavity & connect it with nRF using jumper cables.
Interfacing nRF with controller board (SPI bus)
Now put the joystick modified PCB back to its original position & interface it with main controller board. (Power, buttons to digital pins, Joysticks to analog pins).
Joysticks added
After adding joysticks, the circuit looks like complex & bulky (obviously, when u try to put homemade PCBs into this small gamepad). After this main interfacing, connect the indicator LED to suitable position. Use velcro or cable ties to tie lipo battery under the transmitter & connect it to transmitter through detachable berg/JST/T/XT60 connectors. Turn on the power & test it.
You are ready to Go..!!!
The transmitter will provide 1KM range @ 250KBps in outdoors (line of sight).
if the indicator starts blinking rapidly & continously, its time to charge you battery. The images of completed Transmitter are attached below:

Ready to use..!!


fold antenna when not in use


Green LED as indicator (above right joystick)!

The 1st stage of this project is completed. Stay tuned for further development & updates for everything i did till today.

#UPDATE (26 May 2014):


The Transmitter wasn't working well after 1st finishing. So after digging on it for a week, i figure out that the diode 1N41418 that i used to drop voltage to 3.3V for radio module was fried due to excessive current. I simply replaced that diode with 1N4007 that can carry 1A current. Also there was lot of mistakes in code (specifically in RF24 library functions). After using trial & error method, i got my code working & now it sends all values to receiver. The updated transmitter sketch as well as testing codes are uploaded to my github repo.. U can use it!


(P.S. : Now i will test ESCs & BLDCs.. need to work on them.. i have no experience of these parts.. Its the beginning of mission T-Copter!)


STEP 5 : Testing Individual components:


# Testing IMU:

It's time to test all components which are to be used for actual T-copter. The First thing i tried is IMU. The GY-88 is one of the great IMU. It have MPU-6050 accelero/gyro, HMC5883L Magnetometer, BMP-085 barometer.
You can use following library & its example code to test accelerometer & gyro, Magnetometer & Barometer.

# Testing ESC & BLDC :

From the begining of this project, I was curious to use BLDC & ESC with Arduino. First thing you have to do is to solder bullet connectors to esc (if its already soldered, you are lucky.)

Bullet connectors soldered & heatshrink wrapped arround solder joints to avoid short-circuit.

After soldering bullet connectors, i decided to expand the power line of ESC so that it can be easily connected to battery through T connectors. (My LiPo have Female T or Deans connector. If your LiPo may have XT-60 instead of T or Deans connector).
Expanded ESC.. Ready to use.
The ESC calibration & motor testing code is available on my github repository. You can change calibration values according to your need.


BLDC testing : https://github.com/pranjal-joshi/T-copter/blob/master/Test_code/ESC_TEST_WORKING.ino

BLDC testing using RC Transmitter : https://github.com/pranjal-joshi/T-copter/blob/master/Test_code/RC_BLDC_TEST.ino


# Yaw Servo:


Yaw servo is 9g micro servo motor that operates on PWM/PPM signal. Most of people are familiar with servo interfacing with arduino. But still if you don't know about servo you may refer this.



# Testing Radio Receiver (another nRF24L01+PA+LNA) :


To verify that the radio link between Tx & T-copter is working, Let's check the received data at Rx. Simply interface the nRF24L01+ module to SPI interface similar to transmitter. Make sure that CE & CSN are connected to particular pin specified in program. Also detach all the Servo motors (i.e. both servos & BLDCs) through Software. I found that receiver stops working when servos are attached. I think it is messing with timer 1. To avoid this situation, simply detach servos, read data from RF module & attach servos immediately.

The example code is given on my github repo:

Simple RF Test : https://github.com/pranjal-joshi/T-copter/blob/master/Test_code/RF24_RX_OK.ino





STEP-6 Let's make the Frame :


6.1 Basic 'T' Structure:

I finished the Testing of individual components. Now it is necessary to build a frame. As per name of this drone, The basic structure of this frame will be similar to alphabet 'T'. I preffered T configuration rather than Y due to its simplicity. Both T & Y structures are same as they have same distances between motors & have same central point (center of gravity).

I found some wooden sticks & a thin plywood laying in backyard. hence, i decided to use it instead of making a metallic frame. The material I am going to use to make a frame is shown in the picture.

use this link to calculate dimensions of your T-copter.

http://tcoptercalculator.co.nf/

Raw material


Wooden Sticks to make basic T frame
The dimensions of both wooden sticks are
length: 73 CM
width : 2.5 CM
height: 0.5 CM

By calculating center of this sticks, i made a T structure as follow. Let's call horizontal stick as arm & vertical stick as tail. The arm & tail are joined using 2 bolts. The close-up image is given below. Cut the arm & tail according to required dimensions.


My dimensions are :


Motor-to-Motor Distance or Arm lenght = 70 CM

Motor-to-Center-of-Gravity = 40.4 CM
Tail lenght = 60.6 CM
Center-of-Gravity = 20.2 CM from center of Arm.
Holes drilled at center of Arm for fitting.


Holes drilled at one end of tail.
add bolts in both holes


make sure that nuts are tighten as possible. 
Basic T frame is ready.
6.2 Yaw Mechanism:

The Most important feature of T-copter is a Yaw mechanism. As there are 3 motors, two are rotating in same direction & one is rotating in opposite direction, the total torque is not balanced. That's why T-copter will start spinning around the central point along with Z-axis. To control rotation along the Z-axis, we need to tilt the tail motor. So the thrust can be applied into particular direction & Yaw movement is achieved.
The idea behind the yaw mechanism is to mount a brushless motor onto a platform which can be tilted by a servo motor.
I made a simple yaw mechanism. It's not one of the best, but i hope it will do its job.
Here are some images for more clarification.

Basic Motor Mount. 2 right angled wooden pieces.


drill the hole so that servo motor arm can be fitted to servo shaft using screw.


Servo arm fitted to inner side using small nails.


How it looks when servo is attached to it.


attach piece of wood on other side for extra support. Central holes to mount BLDC.


BLDC Mounted with nut-bolts.


Fit servo to end of tail with screws & cable ties.


Yaw mechanism is ready to tilt BLDC.


The small wooden piece tied to tail provides extra support & reduce excessive load from servo shaft. The bolt with loose nut act as supporting axis over which the platform can tilt/roll.
6.3 Mounting BLCD motors:

After making yaw mechanism, its time to mount motors on the arm of frame.
The dimensions of screw holes of this BLDC are 13mm x 19mm.
Here i used only two holes where distance between them is 19mm & other 2 holes with distance 13mm are left as it is.
I used M3 Nut-Bolts (lenght: 1/4 inches) to attach motors to the wooden arms.
The pictures are given for further illustration.


Drilling the holes to mount motors. (distance = 19mm )

BLDC mounted.

Just view from another angle..

6.4 Add a Base Plate:

Now, we need to add a plate that will provide enough space to place all electronics & provide more strength to our basic T structure.
I used a plywood of 18.5 CM x 35 CM as a base plate. I used another 3 nut-bolts to fit the plate on the T structure.
Now, we are ready to mount electronics, test software, lot of trials n yup.. it will fly..!!
Here are some Picture for you.


We are done! 
Frame is ready to fly.

(P.S. I know it is not colourful.. I will spray paint the body so it will look more.. uh.. umm... more dangerous i think.. :P :) )



6.5 Make a Battery mount:

The LiPo battery is one of the most heaviest object that is to be mounted on T-copter. the weight of battery is around 25-30% of total weight.
I decide to mount battery on the tail, under the base plate, near T junction.
First, i glued piece of velcro to both battery & tail of the frame. then simply made a velcro straps to provide firm support to battery. By this way, you can even detach battery for charging.
Pics are given below:


Velcro glued to LiPo Battery.
That's how velcro & straps looks like.
Ready to power up the drone!

6.6 Landing gears:

Landing gears is one of the important part of the frame. It provides some height to frame so that the battery & other things which are placed under the hood will be safe. I made landing gears using a PVC pipe. I used a pipe that have 3.5 inch diameter. Then simply cut it to make rings from the pipe. Along with support, this landing gear provide awesome suspension to drone when it lands.
Here are some images:

Landing gear added!
Now it really looks like a drone!

6.7 Lights, Camera, Ready for Action:

Attaching lights for night flying & a camera for surveillance is a final piece of the puzzle. The bright LED lights & camera is mounted on front side of T-copter.


LED strip & Camera mounted.
The drone has got "night-vision"!



STEP 7 : Power It Up..!!

The structure or frame is ready to fly. But its just like a skeleton. It doesn't have a soul yet... It's time to build a power distribution system or power harness that will distribute power from LiPo to every electronic component on the T-copter.

7.1 Fitting the ESCs:

The first thing that i did is fitting the ESCs on the frame. I recommend to fit ESCs to outer sides/arms of frame instead of central position because at the central plate there is poor air ventilation & your ESC may get hot after usage. So to prevent crash landing with smoking ESCs, its better to fit them on outer side where there is enough air ventilation to cool down ESCs. I simply used cable ties to fit ESCs to body. Avoid use of any permanent glue as you may need to remove/replace ESC in future & some glues may catch fire due to warming of ESC.

I am adding some pics here for better understanding:


ESC fitted on arm (same fitting on both arms & tail) .
ESC connected to BLDC using bullet connectos.

T type/Deans connector soldered to ESC power input.


7.2 Make a Power Distribution cable or Power Harness:

After fitting the ESCs, we need to power them. But now the problem is we have 3 ESCs & 1 flight controller that is to be powered by LiPo but there is only a single connector to LiPo.
That's why we need to build a power distribution cable or power harness.
I simply soldered 3 pairs of wires (each of 1.5sq mm with copper strands) & a small 2 pin female berg connectors to the T or deans connector to create a power harness.

The images given below will be useful to make it at you own.


Soldering all wires to male connector.

3 pairs of 16AWG wire for BLDC & 1 female connector for Flight controller.

Power distribution cable. Tested & ready to use.

Simply connect ESC & distribution cable using T or Deans connector.
# Photography:

Props added

Ready for night-flight


STEP 8 : Add a Brain! Flight Controller...

This is the most complex part of the design. First, you need a circuit board to interface it with hardware & the software that will controls everything.
While programming, i realized that the code size is more than 32KB, So i decided to go for ATmega644PA. Its available in 40 pin DIP package & It can be programmed using Arduino IDE after burning proper bootloader.
To avoid wastage of time, I simply bought ATmega32 development board as both mega32 & 644 have same pinouts, hence the board is compatible with ATmega644PA. Also there is enough space for mounting another modules which provides nice, clean, compact flight controller with minimum efforts.

Here are some pictures as usual..


Flight controller. ATmega644PA mounted.

nRF24L01+PA+LNA interfaced with SPI bus.

Connectors for ESC,Servo,BEC etc...

IMU attached to I2C bus.


Mount it on base plate

Transistor to control front LED lights for night flight.
# NOTES:

  1. Don't forget to add pull up resistors to SDA & SCL pins of I2C bus. The waveform goes bad at 400KHz without external pull-ups. 4K7 resistor tied to VCC will improve waveform.
  2. Always power nRF24L01+PA+LNA module with 3.3V supply. First i tried voltage regulation with 3 diodes in series as the regulator wasn't available but i replaced diodes with LM1117V33 as i got it. Also add 100uF capacitor between 3.3V & GND.
  3. SL100 Metal cap transistor used to control the front LED lights. Its good to tie the the base of transistor to PWM pin of microcontroller through 1K resistor.
Now, I just need to upload sketch to board & I am ready to fly..!

(P.S. Writing the stabilization code is the most challenging task that include lots of trial & error.)

#Software:

The sketch and required libraries are available on my github.
https://github.com/pranjal-joshi/T-copter

The software development is still in progress. Its time to tune PID controllers for optimum stabilization.

#Update:

After several test flights (and all ended with 'crash' landings), i broke 2 props & destroyed yaw mechanism as the tail is light weight than the nose of T-copter which results in fliping the tail during takeoff.
 So i reconstructed the yaw mechanism again & now attached battery on the tail for proper & balanced take off as the battery acts as counter-weight.

Now i am strictly going to test it in outdoors. Let's see if it fly as expected or not..! i will post details of modification after 1st successful flight.

Test Flights:

This is the 1st outdoor flight. The drone crashed during take-off. One prop broken!



Comments

  1. Keep up the great work, looking forward to your next update!

    ReplyDelete
    Replies
    1. Thanks.. I am sure in next 2 months it will fly..!! 😁

      Delete
  2. Looking forward to seeing this fly on Youtube!

    ReplyDelete
  3. Nice project! i´m doing similar stuff. I´m also Tryin to build my own RC remote with those nrf modules, im using an old IR Remote and a scratch build quadcopter. both equiped with arduino nano V3 (ATMega328p). in the moment i have some problems with the software and the HW. The copter is multiwii loaded an now im running out of PWM pins :-P i need them for the NRF... too bad. Will you do the coding for RX and Copter yourself? i´m really looking forward to see this thing fly! All the best for you and your project!

    Greetings from Austria

    ReplyDelete
    Replies
    1. Yeah.. I am programming everything at my own.. Thanks to arduino libraries..!

      Delete
  4. that a great...keep doing ....
    any help contact this id...durgam.anil1@gmail.com

    ReplyDelete
  5. very nice looking,

    do you have code examples ofr the transmitter/receiver ?
    (i have 0 experince wit hte 2.4ghz ones but plan to buy some of them - at least 2 for testing)

    do they have a library ?

    ReplyDelete
    Replies
    1. Yes. Library available & i have sample code.
      https://github.com/pranjal-joshi/T-copter

      Delete
  6. hello friend very good your work. you could put the wiring of components. thank you very much.

    ReplyDelete
  7. Hello. You used 25C Lipo battery. I think, you have to use 60C Lipo battery, because you use 3x20A ESC regulator. Is it correct??? Thanks for answer.

    ReplyDelete
  8. I'm not alone!
    I'm doing an almost identical project as you, started a couple months ago. I'm at the same step as your last post: trying to tune the PID controllers. If you are still interested on working on this project would you like to compare software architecture/strategies? You can contact me on stef.layanto@gmail.com. I don't have a nice blog to showcase mine unfortunately.

    Outstanding work, you and I are the only people I know who are legit building and programming an arduino Tricopter on the internet. Its frustrating because when most people talk about a 'scratch build' they buy an off the shelf flight controller..... so in reality all they do is connect wires and screw frames together and then minor PID tuning, if any at all.. they don't understand the PAIN and sheer work to truly write up your own software. For this i admire and appreciate this project of yours.

    ReplyDelete
    Replies
    1. Sure! U can get my codr from github. The link is given above in programming section. I would like to see your design as well as code. We will make the beast fly someday!!

      Delete
  9. Great guide! I especially like the idea of hacking the gamepad into a rc transmitter.
    Did you have to pay custom duty on the parts from aliexpress.com?

    ReplyDelete
  10. Gr8 guide!! But can I know where did u get the development board at mega 644 for the t copter

    ReplyDelete
  11. yo bro
    you should isolate the connections between esc & motor if not the esc will burnedoff

    ReplyDelete
  12. yo bro
    you should isolate the connections between esc & motor if not the esc will burnedoff

    ReplyDelete
  13. Very glad to read your blog.Thank you for sharing this article.It is great! I will keep your article in my idea. Very happy reading.

    Aeromodelling

    ReplyDelete
  14. #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board LilyPad Arduino.


    your Tx code shows the above error in Arduino IDE 1.6.10

    ReplyDelete
  15. #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board LilyPad Arduino.

    ReplyDelete

Post a Comment

Popular posts from this blog

ESP8266: Super compact WiFi Snipper for DeAuth attack

Introduction: Hello world! Few years ago, a new chip came to the market which started a new revolution! Yes, i am talking about the ESP8266. This chip is  way more powerful in terms of CPU architecture, clock frequency, flash size and power consumption if we compare it with existing arduino boards that usually contains Atmel's AVR controllers.
Actually i bought this ESP-01 modules few years back which was originally flashed with good old serial AT command firmware. Over the time, I figured out that the same chip can be directly programmed through the Arduino IDE. This feature is so amazing that you can practically use all existing arduino libraries and the same IDE to program the ESP8266 according to your need by flashing your own arduino sketch. (Word of caution: It will remove your existing AT commands firmware from the chip)
Okay, but why DeAuth?[ First of all you must read this, if you don't know anything about deauthentication attack. ]
After experimenting a lot with typical…

Wireless gesture Controlled Robot Using AT89S52

ACCELEROMETER  BASED  WIRELESS  GESTURE CONTROLLED  ROBOT  USING 8051 (ATMEL’S  AT89S52)
The gesture controlled robot is a special kind of robot which works with your hand gestures. It is possible to control the movement of robot in desired
direction just with your hand gestures. You just need to wear a small transmitting
device in your hand which included an acceleration meter. This will transmit an
appropriate command to the robot so that it can do whatever we want.
This robot is mainly divide into 2 parts:

1. Transmitter – The gesture device.
2. Receiver – The Robot.

Now let’s discus about transmitter first.
The transmitter consist of following analog and digital components:
1. Analog accelerometer ( motion sensor )
2. Comparator (LM324 OP-AMP)
3. 4-bit Encoder (HT12E)
4. RF transmitter (remote control )
THE GESTURE (TRANSMITTER) DEVICE:

THE TRANSMITTER SCHEMATIC:

THE TRANSMITTER PCB: The accelerometer: An Accelerometer is a kind of sensor which gives an analog data while moving in X,Y,Z dir…