ATOMFLY Community Project Collection: How to fly the ATOMFLY?
@roboticbits take care of your safety first. Initially I also got a hit from props on my finger since then I tied it to a stick: https://twitter.com/knaveen/status/1293777343341711360
I will try to use a breadboard if it works.
@yokonav thanks, following your idea I'm also using sticks now.
roboticbits last edited by roboticbits
I did some more tests and analysis of the noise and have some updates.
I re-wrote getAttitude() function and MPU6886 reading seem to have improved. I have a bunch of more sample data and analysis in noise_data folder (in github).
I decided to cross check the noise by adding an external 6 axis IMU. Yes you read that right, I added a MPU6050 on the back of the atomfly base, using same I2C pins (25 and 21).
Then I read both of the external and internal IMUs and compared them. The intial reading shows the external IMU is actually picking up more noise (when motors running)! So it seems the internal IMU will be more useful.
My github: https://github.com/kaisarh/atomfly
Anybody wants to share any progress/update?
I am waiting for a 100uF capacitor to be delivered. It is difficult to get parts easily in this COVID19 situation. Although I have a 22uF capacitor but I do not know if it would be helpful in preventing voltage drop. My progress is blocking for now.
@roboticbits Do you calibrate the IMU?
@yokonav I have tried calibration but didn't use in the last tests. In terms of reducing noise, it didn't make a big difference in my tests. Also, the yaw calculation/readings didn't quite work yet, needs fixing.
ajb2k3 last edited by
Are you use any movement filters?
I am having trouble trying to work out how to take 10 readings from the IMU and work out an average value to pass to the next block of code In UIFlow
Sorry I didn't use UIFlow for this. If you want to try Arduino (C++), the file and line below shows how to average IMU data:
#if 0 //<< change this to 1 to enable averaging
const int ACC_AVG = 5; //<< change this to number reads to average
Also, UIFlow would be slower.
TitiMoby last edited by
I made some progress on the control side.
I have a testing android app that communicate with the atom fly through Bluetooth.
It's basic and only to test, now I need some true PID on the motors before writing a fly control app
All code is available as usual : https://gitlab.com/TitiMoby/atomflychallenge