I've made a successful flight today after almost 2 months of figuring things out. I have no experience in drones whatsoever prior to this. The past weeks have been so frustrating attempting to fly drone as part of an objective in a grad school requirement. Thank you very much for this wonderful videos, its been frustrating yet fun experience..Thank you very much!
Hi bro, I'm also making a drone for my project, I don't know how to adjust the motor vibration properly, and I also have a problem in the flight code, when I attach the propeller, when starting, the motor speed increases It goes up very quickly for a few seconds then stops, but without the propeller the code works normally. Thank you very much if you see my question.
Man, I'm doing eletronic engeneering at UFSC ( I'm from Brazil ) and as a project of my transducers class I tried to find a good project to build and create a YT video about it. So far I'm very exited about your tutorial and schematics, so thank you a lot for taking your precious time to create this great tutorial, It really is helping me a lot with understanding about Quad's.
I just finished my first test and it's flying. I'm super happy but I'm even happier to know that there are people who provide such documentation for such a great project, thanks a lot Joop, the real MVP on earth.
My High school Seniors in Arapahoe Nebraska built and flew this!!! It worked great, and was a great project. You did just enough (All) of the heavy lifting to keep it accessible to high school students with little programming background. Took us about a 6 weeks (30 classroom hours) with three students and myself to build and then debug it (Most of the time was finding the errors and fixing them). I gave students very little instruction and just let them build from your site and others. Great Experience!
Hi Mr.Joop, I have built and tested successfully my own Quadcopter using Arduino Mega. My model has many functions like auto-balanced, holding altitude, holding position, return home, autoFlight, and emergency return,... I used this project for my Graduate thesis and now I was graduated. Honestly, I want to thank you and give you a big respect for all knowledges you share. Wishing you all the best!!
am doing the samething will graduate soon i included a computer vision camera that detects cracks on concrete, let me ask you which battery did you use
@@Patrick-wn6uj no, because the voltage of Battery is still 12.6V (3s full charged). You change the resistor when you change the voltage of battery ( it’s up to type of battery’s voltage that u are using
Congratulations. I call Joop saying that the arduino version is not fast enough for some things and this is why he switched to the STM32 version. basically autolevel and holding altitude would be sufficient for me. So you implemented this with a ATMEGA 2560 and this should be enough info for me to go with the ATMEGA1284p as it should also have enough flash and is fast enough to implement the additional altitude hold function, right?
Just finished my quadcopter and all I have to say is THANKS. it flies perfectly, followed this step by step and the result is amazing, i'm really happy right now. Congratulations for this series.
Hi Joop, I just finished building and flying my first quadcopter,YMFC-AL. It works beautifully!!! Thank you! I would like to thank you for the sharing your knowledge!!! I was able to get up to speed very quickly on what I need to know e.g. Info about PID controllers, gyro/accelerometers, AVR embedded programming, transmitters/receivers, basic electronics and wiring, micro controllers, understanding spec sheets, bit-manipulation of registers, bitwise logical operators, your Arduino sketches, and quadcopters in general. Wow what a project!!! Just phenomenal!!! Thanks. Thomas D. Wilhelm Robotics Enthusiast
Thanks a lot Joop!!. I ran the setup program and below are the output for gyro configuration Gyro calibration =================================================== Don't move the quadcopter!! Calibration starts in 3 seconds Calibrating the gyro, this will take +/- 8 seconds Please wait.................... Axis 1 offset=67.15 Axis 2 offset=-36.96 Axis 3 offset=-45.95 =================================================== Gyro axes configuration =================================================== Lift the left side of the quadcopter to a 45 degree angle within 10 seconds OK! Angle detection = 2 ( Axis inverted = no Put the quadcopter back in its original position Move stick 'nose up' and back to center to continue Lift the nose of the quadcopter to a 45 degree angle within 10 seconds OK! Angle detection = 1 Axis inverted = no Put the quadcopter back in its original position Move stick 'nose up' and back to center to continue Rotate the nose of the quadcopter 45 degree to the right within 10 seconds OK! Angle detection = 3 Axis inverted = no Put the quadcopter back in its original position Move stick 'nose up' and back to center to continue =================================================== LED test =================================================== The LED should now be lit Move stick 'nose up' and back to center to continue =================================================== Final setup check =================================================== Receiver channels ok Gyro axes ok =================================================== Storing EEPROM information =================================================== Writing EEPROM Done! Verify EEPROM data Verification done Setup is finished. You can now calibrate the esc's and upload the YMFC-AL code. Can you please let me know gyro axes are Ok? In your video Angle detection is 1,2 and 3 but in may case it is 2 , 1 and 3. In your case Axis inverted - No, Yes and Yes but in my case all No. Let me know if the above setup output is correct for gyro configuration. Thanks in advance.
I do not normally like a video nor comment on it, but this sure does deserve adequate recognition. The maker did a very good job both in the software and with the documentation. Well done.
Joop I have to thank you for these amazing tutorials, 2 months ago I had never even heard of an Adruino never mind ever flown a quadcopter. I have just finished building and learning to fly my very own Adruino based Quadcopter thanks to you! And you know what, it flies fantastically. Its been a doddle to make because of your intuitive videos and web site and I have loved doing it I really have, cheers mate. I do have one question though when I up the pid_i_gain_roll above 0.00 even by .01 it lurches/rolls to the right and I can't control it. Thank You for teaching me so much, I am going to go autonomous next..Ps doing this has kept me sane with all these coronavirus problems..Keep safe..
Worked for Arapahoe Public School in Nebraska!!! Thank you for sharing your code and Schematics! My students are standing on the shoulders of a giant for sure! Thank You!!!
My quadcopter flies perfectly but after some time (around 1 to 2 min) suddenly all motors stop , it falls off and get crashed. All motors are rotating in correct direction and connections are perfectly soldered . What might be the reason for this sudden switch off. I read all Q/A and all comments but did not find solution for this
I will give u answer plz replace the wire of receiver mean voltage and ground wire try to replace them both waire and connect new waire in the same place ur issue will be solved thank you
This is a great idea. A quad that can be home built from very cheap parts and electronics. All the while giving step by step instructions in an easy to understand diy way for each and every step. Simply awesome. The only problem I can see is there may be a lot of new flyers banging quads into everything :D
Hi there, thank you so much for these very useful videos. I have already built my quad-copter but when I try to do all setup I received this massage : Final setup check =================================================== Receiver channel verification failed!!! (ERROR 6) Gyro exes verification failed!!! (ERROR 7) The setup is aborted due to an error. and I checked on the Q and A page but I don't understand what are you mean on error 6 and 7 respectively?! 1)One stick is assigned to two functions and 1)One axis is assigned to two functions. Thanks,
@@Joop_Brokking Sorry you. I got the same error, but I use a different set of tx rx than your tutorial videos, my tx rx is Flysky i6. Can you answer for me that the Flysky i6 kit integrates with the quadcopter setup code?
Hi Joop. Thanks for sharing your experience. I'm just starting in the drone world, but you've saved me a lot in the learning path. I'll use your concepts in my designs, and I'll use your lessons learned. What I got from your videos is that Arduino uno could be slow for managing receptor, sensors, motor control and the algorithms for navigation, so I'll try to start from the beginning with distributed processing and/or faster processors. Thanks again, Juan.
Will I be considered as adamant if I say 'man u did well'? I am an Electronics engineering student from India and I take freaking' interest in aerial vehicles. I love you sir Joop, God must be lucky enough to bless you!
Awesome project, this has been really helpful to look at! For the blade balancing it is going to do a little better to stick the tape on the propellers downward facing surface. Since typically 80% of the lift is generated from the low pressure surface so you will be dealing with lower aerodynamic forces on the other side when the surface imperfection adds turbulence so there should be less aeroelasctic vibrations.
Hi Joop, great tutorials and easy to read code. Having made a quad using the pro-mini I would offer this feedback to anyone else having a go:1. The pro-mini can't be used to power the gyro & receiver on VCC. An AMS1117 5V regulator is sufficient, but solder the tab to a heatsink (could be the quadcopter board itself) and use an electrolytic capacitor (uF range) on the output (the boards themselves have small capacitors)2. Your website has no mention of calibrating the accelerometer and has a Q&A that says it isn't necessary in general as you can use sub-trims to do this. I think its much easier to test-fly if you do calibrate the accelerometer. I was about to modify the code to do so but found that there is already a template in the flight controller code. My recommendation is to modify the ESC code to give 1 or 2 decimal places on the accelerometer reading (its stable to >1 decimal place when not running - make sure the quadcopter is flat with a spirit level) and use that figure in the relevant part of the flight controller. My corrections of 3-4 degrees made the test flights much less scary.
Dear Joop, I made another quadcopter according to your guide......it is awesome...it is flying very well.....Thank you very much for your guide...I learned lot...you are a really good teacher....
Hallo Mr Brokking, Thank you for your great videos. I tried to build my own ymfs-al according to your videos and website. The only differences in the build are: my 4 Motors have a KV value of 810 instead of your 1000KV. (using 4 30A-ESCs) I wanted to use my 4s lipo. Therefore I changed the R2 & R3 resistor values according to your Q&A section formula: R3 was 1500Ω and needs to be 8200Ω R2 was 1000Ω and needs to be 3300Ω ((16.8V - 0.6V) / (3300Ω + 8200Ω)) * 3300Ω = 4.65V because the resistor values were to high for me (not wanting to serial connect alot of single ones) I tried to apply the formula and came to the idea to use 300ohm for R3 and 700 ohm for R2. This gave me 4,86 V. I made through the whole setup procedure according to your videos and everything seemed fine until today. It looks like somehow i killed my arduino uno. I cant upload sketches anymore. 2 red leds still blink the green one is inactive. I know would like to know: Was my resistor-choice wrong & why? I forgot to change the code according to your Q&A regarding the different resistor values. Which consequences does this have? Today before the arduino uno broke I wanted to measure the voltage between Vin and Gnd and measured around 15V. (with 4s lipo connected) Did I hearby cause a shortcircuit and this is why it broke? Before it broke under calibration conditions everything seemed to work. When i installed the flight controller and tried starting it i had 2 crashes. Then resoldered and recalibrated... Then i fixed it to the ground with tape. After a few short tries 1 Motor didnt work as the others did and the thrust stick wasnt as programmed (i use a flysky fs i6) But most important the whole quad stopped working after a few seconds. What reason probably caused this? I hope you can help me with my questions (especially concerning the resistors!), and thank you for your great work!! Kind regards from Austria PS: I still have an arduino mega left. Is it reasonable to use it without to many changes in the programs? Which pins would have to be changed, and how would i have to change the different registers you spoke of in another comment?
The max input voltage of the Arduino Uno is 12V. Connecting it to 16.2V will overload the voltage regulator on the Arduino. This is probably the cause of the problem. If the Arduino program freezes it most likely is a I2C bus problem. Double check your wiring. Makes sure it's reliably soldered and don't use bread boards.
Bro you are awesome with all your affords at this project we all viewers are able to make this happen I am a 13 year old boy from india created this quadcopter with all your codes . Thanks a lot bro. Big respect from me
Hello brother can you tell me the cost to make this drone that you had to experience? I know it's 6 years ago and so much things have happened but it costed me around 8k to make this drone which I think is relatively good. But many people are saying they made this drone in 6k or 5k. What was your cost? I am also from India.
Thanks a lot for taking the time and creating such an amazing tutorial. I'm currently working on the quad project, this tutorial helped me alot in understanding the quad with Arduino very clearly. Thank you very much. Much love from India.
Hi sir, thank you so much for sharing your knowledge, i followed your tutorial and now i have a really stable quadcopter, i was trying to do something similar to you, programming and auto level controller for a quadcopter but using other technique; implementing on a raspberry pi 3 an LQR control system + an Extended Kalman Filter to stimate and regulating the angles of the quad, but with no good results (now i know it was because of the sampling time of the loop, i was working with the minimun frecuency for the ESC - 50Hz and i noticed thanks to your videos that 50Hz is too low frecuency, i know the problems of the implementation for the sensors and all the hardware (procesing times, the sensor´s noise) and your way to solve it was really amazing. I am very grateful. my next step is go back to my aplication on the RPI3 but keeping in mind all that i learn here. P.S: sorry for my bad english.
Hello Joop, I'm really lucky that I've found that nice guide and the time is more than perfect. I'm in R/C since a few years, building planes from scratch, having some cam birds, but also some boats and even micro helis and toy class quads for bad weather. Caused by 3D printing I came in contact with Arduino and right now I want to tip a toe into real quads, so I've ordered a F450 flamewheel frame, and sets of 2826 motors, BLHeli ESCs, props, ... (korting in a lot of shops tghese days, you know) , the needed LiPos, BEC, Arduino and of corse a Taranis+ and FS-i6 I have anyway. However, as FC I have only some old CC3D lying around for what I've ordered an external baro/compass, but hey it's much more fun to do it with Arduino and learn how it's really working. ;) As I said, the time is perfect and all I need to start with this project is to order the MPU-6050, while I have to wait for the postman with my F450 frame. Maybe that AL feature should be also fine for my cambirds too. ;)
Thank you for putting this out Joop, it is a very clean implementation of the KISS principle, once again. It looks like the NaN problem I was facing traced to my attempts to calibrate and normalize the 1G values of the accelerometer (unnecessarily, as it turns out the IMU is fine without this extra step). I've now flown your AL and my own and somewhat surprisingly, where your version really surpassed mine (apart from less 'dead wood' here and there, compared to my approach) is in the Z stability. My version tended to use up quite a bit of the Z-dimension, as I flew about. Anyway, I wanted to be sure to let you know, there seems to be no hidden NaN lurking in your IMU. Thanks again for everything!
NaN will / can only occur when two accelerometer values will go to maximum value (8g). The value of the total vector will overflow and cause a NaN error. During a normal flight this is unlikely (impossible) to happen because the only possible acceleration is in the Z-axis.
Hi Joop, I haven't managed to catch the precise numbers that produced the NaN, as I've been experimenting with your new code and am presently rebuilding my shield. I wonder though... Given that a) I had my full scale set to +/- 4g (instead of 8) and b) I was scaling and normalizing my raw accelerometer outputs (very much the same way YMFC scales the receiver inputs) to be +/- 10,000 at 1g and c) the problem always presented during hover... Is there a 1 in ~300,000 (20 minutes worth of program cycles) chance that acc_x, acc_y and acc_z could all be =0.000 at the same time? That would result in an acc_total_vector of zero and a NaN (divide by zero error) in the line angle_pitch_acc = asin((float)acc_y/acc_total_vector)* 57.296 To be safe, should the code be testing to ensure that acc_(foo) be larger than some very small, non-zero number, before passing them?
Or, failing a convergence of zeros... Is there some 'accidental' combination of numbers that the asin function wouldn't cope with? I ask, because I'm not seeing anything approaching max values in my tests.
Thank you very much for this great video tutorial. Today I did the first flight with my quadcopter. It works as you described it in your video but I think it takes some time to fly it safe. I've learned so much. Thank you!
Auto lvl or self lvl, it all depends on the transmitter you use and mapping the pot data with the esc speed as well using the pid to balance the quadcopter. It's different setup using different transmitters ready made ones for rc or homemade modified one.
Thanks Joop for your new super great video ! asap I will try it on my quadcopter build following your previous precious video lessons and let you knows. By now, with old fw I had lot of trouble in calibrating procedure, but watching this new video I see lot of valuable new tools to have more control of what's going on.
Thanks to you, joop, I have been able to achieve my dream. The drone has flown perfectly with the Arduino nano. Just the pid needs some adjustment, but, even so, everything flies very well. Thank you, thank you very much for your great work. congratulations
I have accumulated 5hrs of flight time with the new AL code integrated into my controller and have not had an NaN crash in all of that time. I found a flight park about 5 minutes from work and fly every day on my lunch hour. I am learning to fly, as I go, so primarily I'm doing a lot of high speed "out-and-backs", "walking the dog", tail-in circling, full throttle punch outs, VRS recoveries and the like. So, it appears that NaN was addressed, either by improving my electronics layout/routing (reduced EMI) or with the software filter. I am also fairly convinced that the I-term 'death wobble' that I experienced was due in large part to the pendulum effect of the relatively heavy landing skid and camera/gimbal setup I was using. I have been flying without any of the 'under carriage' and the PID's are now much closer to default values. I bought an inexpensive flamewheel kit that includes 4 DJI-style legs and I plan to make a detachable lower plate, with the landing gear and a lighter Walkera gimbal attached. This will give me a 'convertible' setup, when I want to switch from 'sporty' to 'camera platform' and should be much lighter than the rig I was flying.
this progect works with arduino nano and pro mini without any modifications. tip:when orienting the direction of the motors place the front face that you want to be the leading face of the drone to the back and then assign the motors: front face (placed back) cw pin 7 LF --------|---------RF pin 4 ccw | | ccw pin 6 LR-------|---------RR pin 5 cw and if your using the same frame you just need some tiny modifications in pid values(works ok with stock values) .
Joop, thank you for the best instructional video's on UA-cam. I am fairly recent to Arduino and Multi-copters, but have been working through a design for a variable pitch / constant RPM quad for a while now, and I am so grateful for the source code you have provided which will be a great starting point for my project.
Thank you so much Mr. Joop for a wonderful and educational video. We made it and because of this we passed our laboratory subject :D. Again thank you for sharing your knowledge
thanks a lot for this particular video, We are creating a drone for a project at my school using your code, but a structure different that yours. We've had a lot of problems, but I think video is the one going to fix everything. Guess I just didn't see it before
THANK YOU VERY MUCH i had made it Completly and the performance was Great i now want to add some new features like self leveling and self localization at last to be fully Autonomous
Hey Joop, your project is amazing. One thing is interesting to me: as far as I can see is the PID loop based on the angular velocity from the gyro. Wouldn't it be more accurate to base the PID loop on absolute angle values (x, y, z)?
Mr. Brokking thank you for your work. BUT. It took me nearly 1 year since the pandemic started to study your code. It is awesome if comes to build bigger quads. Like you did Sir. But when it comes to smaller quads like 250 or even 210 quads it turns out that it is impossible to tune the quad. I’ve ported the code to ESP32 and scaled the data from gyro. Second of all i have applied a second LPF to reduce noise from props and last but not least implementation of LPF to d term is a must. Anyway THANK YOU for your work it wouldn’t be possible for me to understand the code of quads without you.
Hey Joop, I wonder if the calibration (seen at 16:41) is really always necessary at power-up. I haven't noticed that at different multicopter control units. E.g. the pixhawk needs to be calibrated after a new firmware setup BUT not before every flight (at least I have not heard about it). So I wonder why it works there with (apperently) no calibration needed at power-up.... thx
Gyro's react different when temperature changes. So, if you calibrate inside your house and fly in cold wether it could effect the gyro's working. But I have no problem with someone who wants to disable the calibration. This is how I programmed the YMFC. It's just one of the many ways that work.
Your such a great engineer and youtuber ! Your videos empowered me soo much that I have decided to rewrite my own code , inspired on your but with new flavours of mine. I am now passioned by this Thanks a lot. Currently i am Studying engineering in France. Have a great time in the Netherland.
Hello Joop Brokking, I'm so glad that I found your website and youtube channel. It help me a lot with my final year project. I have followed all the steps you had shown including the circuit connection. I have done the set up, but until the ESC calibration i have some issues. If all the four motors and ESCs, i had calibrate it individually with same receiver and transmitter, should i recalibrate it all together again? I trying to calibrate again but the motor beep-beep with one second interval, where in manual said that "check if the throttle wire has been properly plugged into the throttle channel on the receiver". Does this mean there is something wrong with my circuit ? Another question is, before this, my transmitter and receiver is used for fixed wing uav, do i have to do some setting in my transmitter if i want to use it for quadrotor ? Thank you for your time and I'm sorry if my question is too simple for you to answer as I have on less than 1 year experience in this field.
Joop, I'm again, I'm leaving now in December and I'll try to reproduce your quadcopter project .... but I'd like to tell you a few things before ... From a distance you're a very didactic guy and know how to pass your knowledge , I already know other projects based on Arduino and I have one that I had to do to graduate. Your solutions are simple and very efficient, for me there are only two things that I believe you know but did not do! 1st you should create functions to improve the code maintenance, create "tabs" in the program with each problem solved and call in the loop. 2º creating the functions in tabs would be much more didactic than it is today, sometimes it is difficult to find where a solution begins and ends. No more congratulations on the project you are very competent. Like Muitwii, Arducopter among others. It would be a new upgrade but it would bring you and the others much better conditions to understand how to revolve the problems of flying with a drone
Hi, Thanks for great code and explanation. Why did you use raw gyro reading in stead of angle from complementary filter to calculate error in pid ? and can you explain this line of code gyro_roll_input = (gyro_roll_input * 0.7) + (gyro_roll / 65.5)*0.3
I’m stuck. I followed through with the series and built my drone as best as I could. When I fire up everything, the drone flips at lift off. Any help regarding this?
Bedankt voor de uitgebreide uitleg en downloads, na alles volgens schema gesoldeerd te hebben kon ik de setup zonder problemen doorlopen. Volgende stap is leren vliegen :-)
Hello! Thank you for all your videos about this project ! You helped me a lot learning about quadcopters! I have a couple of questions : Can i controll the quadcopter only with an Arduino Uno board and NRF24L01 transceiver or maybe i can controll it wired directly from Arduino with a potentiometer because for the moment i want to give it only throttle and maybe calibrate the 6050 gyro module to simulate a PID controller for the quadcopter to stand still in the air. The main reason is because i do this project for my college and im in a little hurry :) thats why i don't want to have a fully controllable quadcopter for the moment. The RC Receiver you are using is too expensive.. so maybe u can help me with an answer? Can i connect the ESC's with a breadboard and give them commands with the help of PID controller ? Have a nice day !
I bother you a little. I have tried to learn and reference your code with the same hardware as your quadcopter, the difference is that I want to use an Android phone to control via bluetooth. However, when testing the final step, the motors do not rotate at the same time when starting, there are always 1 or 2 motors rotating very fast while the other 2 motors only spin when I try to tilt the quadcopter towards them a great angle. . Can you guess what the problem is with me? I checked, no electromagnetic interference. Does it cause me to replace the RC controller with a controller via bluetooth? I look forward to hearing from you. Thank you very much!
Thanks for the awesome tutorial - Really enjoy your work. But I have a Question for you: Can I use the codes you provided in your official website to small quadcopter, e.g. using 8520 coreless DC motor with diy brushed ESC?
Amazing video's! I came across a 6 axis gyro, have you ever worked with one of those? Sounds like a real improvement from the 3 axis gyro, maybe you could make a video about it and/or introduce it to your quadcopter project. That would be a nice feature
4 роки тому+1
Hi, I could not understand how you determined the ports in your project. For example, what does 0b00000111 mean? Can you explain it to me, or can you suggest an article ? Because I will do it from your project too, but some ports I use are different .
7:58 of this video. After moving throttle stick, my serial monitor skips "move pitch stick" , "roll" , "yaw" and goes quickly to "move all sticks simultaneously" step Any reason why it skips the steps automatically ?
Thank you sir, for this type of helpful video, My question is ....where did "last_channel_1, last_channel_2 .....4, define. Why did last_channel_1 represent pin 8 of arduino uno ...
Joop, Really good job, a great blessing for those wishing to learn or create! I have personally enjoyed tracking through all of the videos/builds since your postings began. I've built a 450 sized quad based on your code using a custom p.c.b.. Its been good fun learning to fly this item and your code update for AL version 1.2 was good but i think i spotted a couple of issues which i would like to share with you. I sent a few submissions to your contact page form over time, two of them earlier today with contact info for you to reach me. I have a couple of suggestions on the 1.2 release of YMFC-AL which I have already implemented and begun flight testing Notes on my suggestions: the comparison you added with abs() is likely best resolved with labs() (i.e. the long version of abs()) also, the variables which are updated within the ISR need to be declared as 'volatile' in order to be faithfully updated during an ISR event I did forward code examples in the web page form for your consideration Flight tests were good with the changes i suggest above Best Wishes Always, You Made RC A Better Place To Be :)
Thank you for your contribution to improve the code. As I explained in our email contact the abs() is a macro that can be found in the arduino.h file. It replaces abs(x) with (x)>0?(x):-(x) so it handles float, int, and long without problems. Volatile just tells the compiler not to simplify or optimize the code where the volatile variable is used. Because the Arduino IDE hardly uses optimization it's not necessary to use volatile. It should be used when using high optimizing compiler settings (the code simply would not run).
im trying to make a cube based blimp robots with no moving parts for the challenge thanks for the research. these will be slower but hopefully better for household stuff when they need to idle
I have been watching your tutorials for a while Joop n amazed how your tutorials simplify everything. Just a query if you gonna plan to make a tricopter how would you change the codes for PID.
ThanKs Mr. Joop, your this viseo impreesed me a lot. I also wathed your videos related to YMCA- 3D V2 ,. Can not observe the difference as compare to YMCA-AL videos....in which way 3D is advance, pl explain or suggest which deo should I watch. 😊👍👍👌
Thank you for sharing these great videos. This would make a perfect engineering college project but so far you 've used a full sized Arduino Uno board. Can this program be applied to Arduino Nano board with smaller frame say 250mm, 5" props?
thank you , i have to ask you a question , i dont know why my malti copter keeps rotating and drifting right front M i have made all gyro test thing in the esc calibrating , when rise throttle LED lights !
Hey crashed several times , but it was all my fault, I needed to trim the control, your codes are perfect I had no issues with them...I'm heading to 32 soon ...please let me know you are well..
The lifting capability of the copter is related with the motor, esc, battery and prop. if the capability of the copter is good then any kind of camera with gimbal is possible.
I have a question. are the pitch, roll angles compensated to remove the linear acceleration of quadcopter? because when quadcopter moves, accelerometer produces inaccurate values for angle calculation.
Thanks to you Joop for sharing your work with us, I finally have a fully functioning AL-quadcopter. From here on out I aim to improve and add some features and would like to begin by increasing the battery capacity from 2200mAh. Can you give me some advice on what to consider when looking at higher capacity batteries and changes in the circuit schematic? Thanks!
If the battery voltage stays the same there is no need to change the schematic. So you can increase the capacity without problem. Make sure that the motors can handle the weight of the battery.
If you need a good arduino flight controller software for multicopters, you should look at the Multiwii project ! It handles magnetometer, barometer (for altitude control), GPS ... All of that on a simple Atmega328p !
Great project - I have built and calibrated this drone. Before I fly it I would like to know if quadcopter has a failsafe mode..?? Didn't notice any contingency in code. Thanks.
Hey, I'm done with the setup. The setup went well. The ESC calibration isn't responding when I send 'r' or 'a' through the serial monitor. It stops at "reading receiver signal" and does not proceeding any further. What should I do?
Hi +Joop Brokking , can you give-me an idea of the range the quadcopter can fly? And also how much time does it last on? I'm thinking on using a bigger battery when I start doing a quadcopter just like yours :) Thank you for this awesome videos! :D
its hardware www.google.ro/search?newwindow=1&espv=2&biw=1920&bih=950&tbm=isch&sa=1&q=i2c+5+to+3+v&oq=i2c+5+to+3+v&gs_l=img.3...6899.10741.0.10861.12.10.2.0.0.0.81.697.10.10.0....0...1c.1.64.img..0.1.80...0i30k1j0i24k1.V4C77X1MndA#imgrc=7mNbnfWmdQI0WM:
I've made a successful flight today after almost 2 months of figuring things out. I have no experience in drones whatsoever prior to this. The past weeks have been so frustrating attempting to fly drone as part of an objective in a grad school requirement. Thank you very much for this wonderful videos, its been frustrating yet fun experience..Thank you very much!
Are these tutorials sufficient for me to build my drone, or did you use additional sources as well?
You have made successfully your own drone... It is stable and fast response please reply.
It’s Addicting
Hi bro, I'm also making a drone for my project, I don't know how to adjust the motor vibration properly, and I also have a problem in the flight code, when I attach the propeller, when starting, the motor speed increases It goes up very quickly for a few seconds then stops, but without the propeller the code works normally. Thank you very much if you see my question.
@@thanhsangg I hear you brother my one took off and turned over on my first run and now net to make adjustments
Man, I'm doing eletronic engeneering at UFSC ( I'm from Brazil ) and as a project of my transducers class I tried to find a good project to build and create a YT video about it. So far I'm very exited about your tutorial and schematics, so thank you a lot for taking your precious time to create this great tutorial, It really is helping me a lot with understanding about Quad's.
Concordo contigo melhor vídeo do youtube!!! Best UA-cam Vídeo!!! Thank
Olá Marilene!
Did it go well ?
I just finished my first test and it's flying. I'm super happy but I'm even happier to know that there are people who provide such documentation for such a great project, thanks a lot Joop, the real MVP on earth.
Hi can u tell me were u got the codes for ardrino because i am having hard time finding them
Hi have you change the pid values?
My High school Seniors in Arapahoe Nebraska built and flew this!!! It worked great, and was a great project. You did just enough (All) of the heavy lifting to keep it accessible to high school students with little programming background. Took us about a 6 weeks (30 classroom hours) with three students and myself to build and then debug it (Most of the time was finding the errors and fixing them). I gave students very little instruction and just let them build from your site and others. Great Experience!
Thank you for sharing this story. It really keeps me motivated.
Please reply!! CAN I resetup my quad because when I send r in esc calibration the roll and pitch sticks are at 2000ms
how old were they?
Hi Mr.Joop, I have built and tested successfully my own Quadcopter using Arduino Mega. My model has many functions like auto-balanced, holding altitude, holding position, return home, autoFlight, and emergency return,... I used this project for my Graduate thesis and now I was graduated.
Honestly, I want to thank you and give you a big respect for all knowledges you share.
Wishing you all the best!!
am doing the samething will graduate soon i included a computer vision camera that detects cracks on concrete, let me ask you which battery did you use
@@Patrick-wn6ujyes!! I used Lipo battery,
Weight: >= 350g
3s - 5400mah - 30C( changeable )
@@syha06 did you have to change the resistors of the voltage divider?
@@Patrick-wn6uj no, because the voltage of Battery is still 12.6V (3s full charged). You change the resistor when you change the voltage of battery ( it’s up to type of battery’s voltage that u are using
Congratulations. I call Joop saying that the arduino version is not fast enough for some things and this is why he switched to the STM32 version. basically autolevel and holding altitude would be sufficient for me. So you implemented this with a ATMEGA 2560 and this should be enough info for me to go with the ATMEGA1284p as it should also have enough flash and is fast enough to implement the additional altitude hold function, right?
Just finished my quadcopter and all I have to say is THANKS. it flies perfectly, followed this step by step and the result is amazing, i'm really happy right now. Congratulations for this series.
Please can you tell me if you used same parameters of pid controller?
Hi Joop,
I just finished building and flying my first quadcopter,YMFC-AL. It works beautifully!!! Thank you!
I would like to thank you for the sharing your knowledge!!! I was able to get up to speed very quickly on what I need to know e.g. Info about PID controllers, gyro/accelerometers, AVR embedded programming, transmitters/receivers, basic electronics and wiring, micro controllers, understanding spec sheets, bit-manipulation of registers, bitwise logical operators, your Arduino sketches, and quadcopters in general.
Wow what a project!!! Just phenomenal!!!
Thanks.
Thomas D. Wilhelm
Robotics Enthusiast
Thanks a lot Joop!!. I ran the setup program and below are the output for gyro configuration
Gyro calibration
===================================================
Don't move the quadcopter!! Calibration starts in 3 seconds
Calibrating the gyro, this will take +/- 8 seconds
Please wait....................
Axis 1 offset=67.15
Axis 2 offset=-36.96
Axis 3 offset=-45.95
===================================================
Gyro axes configuration
===================================================
Lift the left side of the quadcopter to a 45 degree angle within 10 seconds
OK!
Angle detection = 2 (
Axis inverted = no
Put the quadcopter back in its original position
Move stick 'nose up' and back to center to continue
Lift the nose of the quadcopter to a 45 degree angle within 10 seconds
OK!
Angle detection = 1
Axis inverted = no
Put the quadcopter back in its original position
Move stick 'nose up' and back to center to continue
Rotate the nose of the quadcopter 45 degree to the right within 10 seconds
OK!
Angle detection = 3
Axis inverted = no
Put the quadcopter back in its original position
Move stick 'nose up' and back to center to continue
===================================================
LED test
===================================================
The LED should now be lit
Move stick 'nose up' and back to center to continue
===================================================
Final setup check
===================================================
Receiver channels ok
Gyro axes ok
===================================================
Storing EEPROM information
===================================================
Writing EEPROM
Done!
Verify EEPROM data
Verification done
Setup is finished.
You can now calibrate the esc's and upload the YMFC-AL code.
Can you please let me know gyro axes are Ok? In your video Angle detection is 1,2 and 3 but in may case it is 2 , 1 and 3. In your case Axis inverted - No, Yes and Yes but in my case all No. Let me know if the above setup output is correct for gyro configuration. Thanks in advance.
This was so well explained. Good Job Bro
I do not normally like a video nor comment on it, but this sure does deserve adequate recognition. The maker did a very good job both in the software and with the documentation. Well done.
respect
Joop I have to thank you for these amazing tutorials, 2 months ago I had never even heard of an Adruino never mind ever flown a quadcopter. I have just finished building and learning to fly my very own Adruino based Quadcopter thanks to you! And you know what, it flies fantastically. Its been a doddle to make because of your intuitive videos and web site and I have loved doing it I really have, cheers mate. I do have one question though when I up the pid_i_gain_roll above 0.00 even by .01 it lurches/rolls to the right and I can't control it. Thank You for teaching me so much, I am going to go autonomous next..Ps doing this has kept me sane with all these coronavirus problems..Keep safe..
Are these tutorials sufficient for me to build my drone, or did you use additional sources as well?
Worked for Arapahoe Public School in Nebraska!!! Thank you for sharing your code and Schematics! My students are standing on the shoulders of a giant for sure! Thank You!!!
My quadcopter flies perfectly but after some time (around 1 to 2 min) suddenly all motors stop , it falls off and get crashed. All motors are rotating in correct direction and connections are perfectly soldered . What might be the reason for this sudden switch off. I read all Q/A and all comments but did not find solution for this
Even I am facing same issue
I will give u answer plz replace the wire of receiver mean voltage and ground wire try to replace them both waire and connect new waire in the same place ur issue will be solved thank you
But I have a problem in my quad my quad can't fly why? All the components work properly
@@KongaRaju read my comments your issue will be solved
Turning off problem got solved but it's not flying and all components functioning properly
This is a great idea. A quad that can be home built from very cheap parts and electronics. All the while giving step by step instructions in an easy to understand diy way for each and every step. Simply awesome. The only problem I can see is there may be a lot of new flyers banging quads into everything :D
Hi there, thank you so much for these very useful videos.
I have already built my quad-copter but when I try to do all setup I received this massage :
Final setup check
===================================================
Receiver channel verification failed!!! (ERROR 6)
Gyro exes verification failed!!! (ERROR 7)
The setup is aborted due to an error.
and I checked on the Q and A page but I don't understand what are you mean on error 6 and 7 respectively?!
1)One stick is assigned to two functions
and
1)One axis is assigned to two functions.
Thanks,
The stick functions are not setup correct. What center and endpoints does the software find for you stick inputs?
I had a problem with error 6 too, but then I realized, that I was moving stick in the wrong direction during setup...
@@Joop_Brokking Sorry you. I got the same error, but I use a different set of tx rx than your tutorial videos, my tx rx is Flysky i6. Can you answer for me that the Flysky i6 kit integrates with the quadcopter setup code?
Hi Joop. Thanks for sharing your experience. I'm just starting in the drone world, but you've saved me a lot in the learning path. I'll use your concepts in my designs, and I'll use your lessons learned. What I got from your videos is that Arduino uno could be slow for managing receptor, sensors, motor control and the algorithms for navigation, so I'll try to start from the beginning with distributed processing and/or faster processors. Thanks again, Juan.
Will I be considered as adamant if I say 'man u did well'? I am an Electronics engineering student from India and I take freaking' interest in aerial vehicles. I love you sir Joop, God must be lucky enough to bless you!
Mr. Joop,
You are the best.You took some much pain to teach people.Because of you many can now realise their dream of making a drone.
Thank You
can you help me with my trouble
i am facing an issue where my gyro is giving a value of roll as 20 and pitch and yaw are 0 how can i fix it??
Awesome project, this has been really helpful to look at!
For the blade balancing it is going to do a little better to stick the tape on the propellers downward facing surface. Since typically 80% of the lift is generated from the low pressure surface so you will be dealing with lower aerodynamic forces on the other side when the surface imperfection adds turbulence so there should be less aeroelasctic vibrations.
Hi Joop, great tutorials and easy to read code. Having made a quad using the pro-mini I would offer this feedback to anyone else having a go:1. The pro-mini can't be used to power the gyro & receiver on VCC. An AMS1117 5V regulator is sufficient, but solder the tab to a heatsink (could be the quadcopter board itself) and use an electrolytic capacitor (uF range) on the output (the boards themselves have small capacitors)2. Your website has no mention of calibrating the accelerometer and has a Q&A that says it isn't necessary in general as you can use sub-trims to do this. I think its much easier to test-fly if you do calibrate the accelerometer. I was about to modify the code to do so but found that there is already a template in the flight controller code. My recommendation is to modify the ESC code to give 1 or 2 decimal places on the accelerometer reading (its stable to >1 decimal place when not running - make sure the quadcopter is flat with a spirit level) and use that figure in the relevant part of the flight controller. My corrections of 3-4 degrees made the test flights much less scary.
This video broke my brain. Thanks for trying to explain your work.
You are awesome. I am just now gathering parts. I just wanted to say thank you so much for all you video and document.
Awesome project! This morning I got all the pieces to build the quadcopter :D
Dear Joop, I made another quadcopter according to your guide......it is awesome...it is flying very well.....Thank you very much for your guide...I learned lot...you are a really good teacher....
That is good to hear!
Hallo Mr Brokking,
Thank you for your great videos.
I tried to build my own ymfs-al according to your videos and website.
The only differences in the build are:
my 4 Motors have a KV value of 810 instead of your 1000KV. (using 4 30A-ESCs)
I wanted to use my 4s lipo.
Therefore I changed the R2 & R3 resistor values according to your Q&A section formula:
R3 was 1500Ω and needs to be 8200Ω
R2 was 1000Ω and needs to be 3300Ω
((16.8V - 0.6V) / (3300Ω + 8200Ω)) * 3300Ω = 4.65V
because the resistor values were to high for me (not wanting to serial connect alot of single ones)
I tried to apply the formula and came to the idea to use 300ohm for R3 and 700 ohm for R2.
This gave me 4,86 V.
I made through the whole setup procedure according to your videos and everything seemed fine until today.
It looks like somehow i killed my arduino uno. I cant upload sketches anymore. 2 red leds still blink the green one is inactive.
I know would like to know:
Was my resistor-choice wrong & why?
I forgot to change the code according to your Q&A regarding the different resistor values.
Which consequences does this have?
Today before the arduino uno broke I wanted to measure the voltage between Vin and Gnd and measured around 15V. (with 4s lipo connected)
Did I hearby cause a shortcircuit and this is why it broke?
Before it broke under calibration conditions everything seemed to work. When i installed the flight controller and tried starting it i had 2 crashes. Then resoldered and recalibrated...
Then i fixed it to the ground with tape. After a few short tries 1 Motor didnt work as the others did and the thrust stick wasnt as programmed (i use a flysky fs i6)
But most important the whole quad stopped working after a few seconds.
What reason probably caused this?
I hope you can help me with my questions (especially concerning the resistors!), and thank you for your great work!!
Kind regards from Austria
PS:
I still have an arduino mega left. Is it reasonable to use it without to many changes in the programs?
Which pins would have to be changed, and how would i have to change the different registers you spoke of in another comment?
The max input voltage of the Arduino Uno is 12V. Connecting it to 16.2V will overload the voltage regulator on the Arduino. This is probably the cause of the problem.
If the Arduino program freezes it most likely is a I2C bus problem. Double check your wiring. Makes sure it's reliably soldered and don't use bread boards.
Bro you are awesome with all your affords at this project we all viewers are able to make this happen I am a 13 year old boy from india created this quadcopter with all your codes . Thanks a lot bro. Big respect from me
Hello brother can you tell me the cost to make this drone that you had to experience? I know it's 6 years ago and so much things have happened but it costed me around 8k to make this drone which I think is relatively good. But many people are saying they made this drone in 6k or 5k. What was your cost? I am also from India.
Everything explained very well ....it is the best thing you did and never seen before, thanks so much .
Thanks a lot for taking the time and creating such an amazing tutorial. I'm currently working on the quad project, this tutorial helped me alot in understanding the quad with Arduino very clearly. Thank you very much. Much love from India.
bro had u finished with your project
Hi sir, thank you so much for sharing your knowledge, i followed your tutorial and now i have a really stable quadcopter, i was trying to do something similar to you, programming and auto level controller for a quadcopter but using other technique; implementing on a raspberry pi 3 an LQR control system + an Extended Kalman Filter to stimate and regulating the angles of the quad, but with no good results (now i know it was because of the sampling time of the loop, i was working with the minimun frecuency for the ESC - 50Hz and i noticed thanks to your videos that 50Hz is too low frecuency, i know the problems of the implementation for the sensors and all the hardware (procesing times, the sensor´s noise) and your way to solve it was really amazing. I am very grateful. my next step is go back to my aplication on the RPI3 but keeping in mind all that i learn here.
P.S: sorry for my bad english.
Thank you for taking the time to write this message. It keeps me motivated to help people :-)
Hello Joop,
I'm really lucky that I've found that nice guide and the time is more than perfect.
I'm in R/C since a few years, building planes from scratch, having some cam birds, but also some boats and even micro helis and toy class quads for bad weather. Caused by 3D printing I came in contact with Arduino and right now I want to tip a toe into real quads, so I've ordered a F450 flamewheel frame, and sets of 2826 motors, BLHeli ESCs, props, ... (korting in a lot of shops tghese days, you know) , the needed LiPos, BEC, Arduino and of corse a Taranis+ and FS-i6 I have anyway. However, as FC I have only some old CC3D lying around for what I've ordered an external baro/compass, but hey it's much more fun to do it with Arduino and learn how it's really working. ;)
As I said, the time is perfect and all I need to start with this project is to order the MPU-6050, while I have to wait for the postman with my F450 frame.
Maybe that AL feature should be also fine for my cambirds too. ;)
Thank you for putting this out Joop, it is a very clean implementation of the KISS principle, once again. It looks like the NaN problem I was facing traced to my attempts to calibrate and normalize the 1G values of the accelerometer (unnecessarily, as it turns out the IMU is fine without this extra step). I've now flown your AL and my own and somewhat surprisingly, where your version really surpassed mine (apart from less 'dead wood' here and there, compared to my approach) is in the Z stability. My version tended to use up quite a bit of the Z-dimension, as I flew about. Anyway, I wanted to be sure to let you know, there seems to be no hidden NaN lurking in your IMU. Thanks again for everything!
NaN will / can only occur when two accelerometer values will go to maximum value (8g). The value of the total vector will overflow and cause a NaN error. During a normal flight this is unlikely (impossible) to happen because the only possible acceleration is in the Z-axis.
Hi Joop, I haven't managed to catch the precise numbers that produced the NaN, as I've been experimenting with your new code and am presently rebuilding my shield.
I wonder though... Given that a) I had my full scale set to +/- 4g (instead of 8) and b) I was scaling and normalizing my raw accelerometer outputs (very much the same way YMFC scales the receiver inputs) to be +/- 10,000 at 1g and c) the problem always presented during hover...
Is there a 1 in ~300,000 (20 minutes worth of program cycles) chance that acc_x, acc_y and acc_z could all be =0.000 at the same time? That would result in an acc_total_vector of zero and a NaN (divide by zero error) in the line angle_pitch_acc = asin((float)acc_y/acc_total_vector)* 57.296
To be safe, should the code be testing to ensure that acc_(foo) be larger than some very small, non-zero number, before passing them?
Or, failing a convergence of zeros... Is there some 'accidental' combination of numbers that the asin function wouldn't cope with? I ask, because I'm not seeing anything approaching max values in my tests.
Thank you very much for this great video tutorial.
Today I did the first flight with my quadcopter. It works as you described it in your video but I think it takes some time to fly it safe.
I've learned so much. Thank you!
Thank you for writing me this message. Great to heat that you got it to fly!
Auto lvl or self lvl, it all depends on the transmitter you use and mapping the pot data with the esc speed as well using the pid to balance the quadcopter. It's different setup using different transmitters ready made ones for rc or homemade modified one.
Thanks Joop for your new super great video !
asap I will try it on my quadcopter build following your previous precious video lessons and let you knows.
By now, with old fw I had lot of trouble in calibrating procedure, but watching this new video I see lot of valuable new tools to have more control of what's going on.
Exciting stuff. Thank you for your hard work to enable us to play. Just love it.
Thanks to you, joop, I have been able to achieve my dream. The drone has flown perfectly with the Arduino nano. Just the pid needs some adjustment, but, even so, everything flies very well. Thank you, thank you very much for your great work. congratulations
I have accumulated 5hrs of flight time with the new AL code integrated into my controller and have not had an NaN crash in all of that time. I found a flight park about 5 minutes from work and fly every day on my lunch hour. I am learning to fly, as I go, so primarily I'm doing a lot of high speed "out-and-backs", "walking the dog", tail-in circling, full throttle punch outs, VRS recoveries and the like.
So, it appears that NaN was addressed, either by improving my electronics layout/routing (reduced EMI) or with the software filter.
I am also fairly convinced that the I-term 'death wobble' that I experienced was due in large part to the pendulum effect of the relatively heavy landing skid and camera/gimbal setup I was using.
I have been flying without any of the 'under carriage' and the PID's are now much closer to default values. I bought an inexpensive flamewheel kit that includes 4 DJI-style legs and I plan to make a detachable lower plate, with the landing gear and a lighter Walkera gimbal attached. This will give me a 'convertible' setup, when I want to switch from 'sporty' to 'camera platform' and should be much lighter than the rig I was flying.
That is good to hear! Thank you for the feedback.
this progect works with arduino nano and pro mini without any modifications.
tip:when orienting the direction of the motors place the front face that you want to be the leading face of the drone to the back and then assign the motors:
front face (placed back)
cw pin 7 LF --------|---------RF pin 4 ccw
|
|
ccw pin 6 LR-------|---------RR pin 5 cw
and if your using the same frame you just need some tiny modifications in pid values(works ok with stock values) .
Joop, thank you for the best instructional video's on UA-cam. I am fairly recent to Arduino and Multi-copters, but have been working through a design for a variable pitch / constant RPM quad for a while now, and I am so grateful for the source code you have provided which will be a great starting point for my project.
Thank you and good luck with your project.
You have a great selection of videos and your site is very easy to navigate and to the point.
Thanks!
Thank you so much Mr. Joop for a wonderful and educational video. We made it and because of this we passed our laboratory subject :D. Again thank you for sharing your knowledge
Thank you for writing this message and congratulations.
thanks a lot for this particular video, We are creating a drone for a project at my school using your code, but a structure different that yours. We've had a lot of problems, but I think video is the one going to fix everything. Guess I just didn't see it before
THANK YOU VERY MUCH i had made it Completly and the performance was Great
i now want to add some new features
like self leveling and self localization
at last to be fully Autonomous
what should do if the throttle increase at idle position
Sir, this tutorial is awesome ! I already built my YMFC. Now is tuning the PID value.
Thank you so much for all of this Joop!! I've learned so much from your videos.
This project is more valuable for the inventor. Encourage you to further development.Thank you.
i have been waiting for this......thanks a lot for your hard work...gonna try it asap...
As a promised! i have tried it and worked very well. Thank you Joop, you are a kind man. God bless you.
hi...can you help me? You can send arduino quadcopter code to me, please.
Thank you very much.
My email: phanngoctuong.bigedu@gmail.com
+Tường Phan Ngọc you can directly download in Mr. Joop's website, and he can answer your problem.
Hi , how did u correct the vibration , mine are increasing when add insulation tape pls help me
My quadcopter is not taking off please help me
Hey Joop, your project is amazing.
One thing is interesting to me: as far as I can see is the PID loop based on the angular velocity from the gyro.
Wouldn't it be more accurate to base the PID loop on absolute angle values (x, y, z)?
I never tried it because this method works pretty well as you can see here: ua-cam.com/video/oc8Gv61bfvU/v-deo.html
Mr. Brokking thank you for your work. BUT.
It took me nearly 1 year since the pandemic started to study your code. It is awesome if comes to build bigger quads. Like you did Sir.
But when it comes to smaller quads like 250 or even 210 quads it turns out that it is impossible to tune the quad. I’ve ported the code to ESP32 and scaled the data from gyro. Second of all i have applied a second LPF to reduce noise from props and last but not least implementation of LPF to d term is a must.
Anyway THANK YOU for your work it wouldn’t be possible for me to understand the code of quads without you.
Hey Joop, I wonder if the calibration (seen at 16:41) is really always necessary at power-up. I haven't noticed that at different multicopter control units. E.g. the pixhawk needs to be calibrated after a new firmware setup BUT not before every flight (at least I have not heard about it). So I wonder why it works there with (apperently) no calibration needed at power-up.... thx
Gyro's react different when temperature changes. So, if you calibrate inside your house and fly in cold wether it could effect the gyro's working.
But I have no problem with someone who wants to disable the calibration. This is how I programmed the YMFC. It's just one of the many ways that work.
Your such a great engineer and youtuber ! Your videos empowered me soo much that I have decided to rewrite my own code , inspired on your but with new flavours of mine. I am now passioned by this Thanks a lot. Currently i am Studying engineering in France. Have a great time in the Netherland.
Hello Joop Brokking, I'm so glad that I found your website and youtube channel. It help me a lot with my final year project. I have followed all the steps you had shown including the circuit connection. I have done the set up, but until the ESC calibration i have some issues. If all the four motors and ESCs, i had calibrate it individually with same receiver and transmitter, should i recalibrate it all together again? I trying to calibrate again but the motor beep-beep with one second interval, where in manual said that "check if the throttle wire has been properly plugged into the throttle channel on the receiver". Does this mean there is something wrong with my circuit ? Another question is, before this, my transmitter and receiver is used for fixed wing uav, do i have to do some setting in my transmitter if i want to use it for quadrotor ? Thank you for your time and I'm sorry if my question is too simple for you to answer as I have on less than 1 year experience in this field.
I face the same problem, did you find the solution ?
This is a very flexible drone because of programmability... 😀. It's auto leveling because of code...can't believe I'm getting a hobby, I'm so geeky! 😀
Joop, I'm again,
I'm leaving now in December and I'll try to reproduce your quadcopter
project .... but I'd like to tell you a few things before ... From a
distance you're a very didactic guy and know how to pass your knowledge ,
I already know other projects based on Arduino and I have one that I
had to do to graduate. Your solutions are simple and very efficient, for
me there are only two things that I believe you know but did not do!
1st
you should create functions to improve the code maintenance, create
"tabs" in the program with each problem solved and call in the loop. 2º
creating the functions in tabs would be much more didactic than it is
today, sometimes it is difficult to find where a solution begins and
ends. No more congratulations on the project you are very competent.
Like Muitwii, Arducopter among others. It
would be a new upgrade but it would bring you and the others much
better conditions to understand how to revolve the problems of flying
with a drone
Hi, Thanks for great code and explanation.
Why did you use raw gyro reading in stead of angle from complementary filter to calculate error in pid ?
and can you explain this line of code
gyro_roll_input = (gyro_roll_input * 0.7) + (gyro_roll / 65.5)*0.3
I’m stuck. I followed through with the series and built my drone as best as I could. When I fire up everything, the drone flips at lift off. Any help regarding this?
love your videos man! If it is in high enough demand, could you do a video on mounting a camera on a gimbal with servos?
Bedankt voor de uitgebreide uitleg en downloads, na alles volgens schema gesoldeerd te hebben kon ik de setup zonder problemen doorlopen. Volgende stap is leren vliegen :-)
Thanks for the Very easy tutorial. One question. How can I add a GPS? and also how can I assign flight modes? Thanks!
Thank you sir. You are great. You are helping lot to all the people who don't know coding
Best ever tutorial....Thanks👍👍👍👍👍👍👍👍👍 You deserve infinity likes............,👍👍👍👍👍👍👍👍👍👍👍
1st time done with the help of your video.
Really well explained and helpful..
Thanku sir....
excellent ......super
Sir, I want to know .....since this video was created 6 year back. Are there further improvements in CODE and hardware ?
Amazing... I wish I would like to have all this information a few years before... Thank you.
Hello!
Thank you for all your videos about this project ! You helped me a lot learning about quadcopters!
I have a couple of questions : Can i controll the quadcopter only with an Arduino Uno board and NRF24L01 transceiver or maybe i can controll it wired directly from Arduino with a potentiometer because for the moment i want to give it only throttle and maybe calibrate the 6050 gyro module to simulate a PID controller for the quadcopter to stand still in the air. The main reason is because i do this project for my college and im in a little hurry :) thats why i don't want to have a fully controllable quadcopter for the moment. The RC Receiver you are using is too expensive.. so maybe u can help me with an answer? Can i connect the ESC's with a breadboard and give them commands with the help of PID controller ?
Have a nice day !
Hey I also have same configuration, please help me too
Thank you so much your videos really help me fix old drone arduino based....Thank you so much.....I'm
from Philippines
I bother you a little. I have tried to learn and reference your code with the same hardware as your quadcopter, the difference is that I want to use an Android phone to control via bluetooth. However, when testing the final step, the motors do not rotate at the same time when starting, there are always 1 or 2 motors rotating very fast while the other 2 motors only spin when I try to tilt the quadcopter towards them a great angle. . Can you guess what the problem is with me? I checked, no electromagnetic interference. Does it cause me to replace the RC controller with a controller via bluetooth? I look forward to hearing from you. Thank you very much!
Thanks for the awesome tutorial - Really enjoy your work. But I have a Question for you: Can I use the codes you provided in your official website to small quadcopter, e.g. using 8520 coreless DC motor with diy brushed ESC?
AWESOME videos you spend a lot of time on this everybody ought to donate to him...
sorry to ask ,but will this flight controller be compatible with other frame design(example H / I design)
Amazing video's! I came across a 6 axis gyro, have you ever worked with one of those? Sounds like a real improvement from the 3 axis gyro, maybe you could make a video about it and/or introduce it to your quadcopter project. That would be a nice feature
Hi, I could not understand how you determined the ports in your project. For example, what does 0b00000111 mean? Can you explain it to me, or can you suggest an article
? Because I will do it from your project too, but some ports I use are different
.
Thank you very much for the videos! My quadcopter worked perfectly!
7:58 of this video.
After moving throttle stick, my serial monitor skips "move pitch stick" , "roll" , "yaw"
and goes quickly to "move all sticks simultaneously" step
Any reason why it skips the steps automatically ?
Thank you sir, for this type of helpful video,
My question is ....where did "last_channel_1, last_channel_2 .....4, define. Why did last_channel_1 represent pin 8 of arduino uno ...
wow man, that was awasome!
thanks for the amazing effort!
will try this asap...
Joop,
Really good job, a great blessing for those wishing to learn or create! I have personally enjoyed tracking through all of the videos/builds since your postings began.
I've built a 450 sized quad based on your code using a custom p.c.b.. Its been good fun learning to fly this item and your code update for AL version 1.2 was good but i think i spotted a couple of issues which i would like to share with you.
I sent a few submissions to your contact page form over time, two of them earlier today with contact info for you to reach me. I have a couple of suggestions on the 1.2 release of YMFC-AL which I have already implemented and begun flight testing
Notes on my suggestions:
the comparison you added with abs() is likely best resolved with labs() (i.e. the long version of abs())
also, the variables which are updated within the ISR need to be declared as 'volatile' in order to be faithfully updated during an ISR event
I did forward code examples in the web page form for your consideration
Flight tests were good with the changes i suggest above
Best Wishes Always,
You Made RC A Better Place To Be :)
Thank you for your contribution to improve the code. As I explained in our email contact the abs() is a macro that can be found in the arduino.h file. It replaces abs(x) with (x)>0?(x):-(x) so it handles float, int, and long without problems.
Volatile just tells the compiler not to simplify or optimize the code where the volatile variable is used. Because the Arduino IDE hardly uses optimization it's not necessary to use volatile. It should be used when using high optimizing compiler settings (the code simply would not run).
im trying to make a cube based blimp robots with no moving parts for the challenge thanks for the research. these will be slower but hopefully better for household stuff when they need to idle
I have been watching your tutorials for a while Joop n amazed how your tutorials simplify everything. Just a query if you gonna plan to make a tricopter how would you change the codes for PID.
ThanKs Mr. Joop, your this viseo impreesed me a lot. I also wathed your videos related to YMCA- 3D V2 ,. Can not observe the difference as compare to YMCA-AL videos....in which way 3D is advance, pl explain or suggest which deo should I watch. 😊👍👍👌
Thank you for sharing these great videos. This would make a perfect engineering college project but so far you 've used a full sized Arduino Uno board. Can this program be applied to Arduino Nano board with smaller frame say 250mm, 5" props?
there is some thing i have to say at 7:55 program points to move the Roll stick to the lift while you moved it to the right in the video.
The program is asking for left wing up. Meaning "roll stick right" in my case.
thank you , i have to ask you a question , i dont know why my malti copter keeps rotating and drifting right front M i have made all gyro test thing in the esc calibrating , when rise throttle LED lights !
Hey crashed several times , but it was all my fault, I needed to trim the control, your codes are perfect I had no issues with them...I'm heading to 32 soon ...please let me know you are well..
Definitely building this! Great job.
Hello, nice work. Is it possible to add a camera with a gimbal ? Which weight can it take off ?
The lifting capability of the copter is related with the motor, esc, battery and prop. if the capability of the copter is good then any kind of camera with gimbal is possible.
I have a question. are the pitch, roll angles compensated to remove the linear acceleration of quadcopter? because when quadcopter moves, accelerometer produces inaccurate values for angle calculation.
joob brokking you are awesome... should i put gyro in quad center ??
can i put it on one of the arms?
WHICH FIGHTCONTROLLER ARE YOU USING ..AWESOME VIDEOS...
Thanks to you Joop for sharing your work with us, I finally have a fully functioning AL-quadcopter. From here on out I aim to improve and add some features and would like to begin by increasing the battery capacity from 2200mAh. Can you give me some advice on what to consider when looking at higher capacity batteries and changes in the circuit schematic? Thanks!
If the battery voltage stays the same there is no need to change the schematic. So you can increase the capacity without problem. Make sure that the motors can handle the weight of the battery.
If you need a good arduino flight controller software for multicopters, you should look at the Multiwii project !
It handles magnetometer, barometer (for altitude control), GPS ... All of that on a simple Atmega328p !
Great project - I have built and calibrated this drone. Before I fly it I would like to know if quadcopter has a failsafe mode..?? Didn't notice any contingency in code. Thanks.
Hey, I'm done with the setup. The setup went well. The ESC calibration isn't responding when I send 'r' or 'a' through the serial monitor. It stops at "reading receiver signal" and does not proceeding any further. What should I do?
NUS Tesla, I had the same problem. A new version that corrects the problem is now available on the website. :)
thanks JOOP BROKING you helped me a lot for making this drone I am just in process
Hi +Joop Brokking , can you give-me an idea of the range the quadcopter can fly?
And also how much time does it last on? I'm thinking on using a bigger battery when I start doing a quadcopter just like yours :)
Thank you for this awesome videos! :D
Very good project Joop Brokking.
the MPU6050 needs i2c serial converter, the project works perfectly !! Thank you !!
What do you mean serial converter.. Software or hardware.. Please reply.
its hardware www.google.ro/search?newwindow=1&espv=2&biw=1920&bih=950&tbm=isch&sa=1&q=i2c+5+to+3+v&oq=i2c+5+to+3+v&gs_l=img.3...6899.10741.0.10861.12.10.2.0.0.0.81.697.10.10.0....0...1c.1.64.img..0.1.80...0i30k1j0i24k1.V4C77X1MndA#imgrc=7mNbnfWmdQI0WM:
M project is not working. Can you help me?
what is not working ? did you folow de q and a stage
When I initilize quad with throtle down yaw left one side of the quad keeps
speeding up even the throtle stick at its lowest position.
Hi Joop
thanks for these valuable tutorials.
Is this can be used with Arduino DUE instead of Arduino UNO? if need some changes what they are? thanks
It only works with the Uno. I made an STM32 version that can be programmed with the Arduino IDE: www.brokking.net/ymfc-32_main.html
great news. thanks. Do you mean the code for for STM32 will run on DUE without modification?
thank you, Joop!!!! because of you, I have flown my first drone that too a homemade drone