Hi All,

I'm not sure if this is the forum to place this, but it just might be interesting to some of us..

A while ago I was waiting for having my car-tires balanced when I thought that must be possible with my motor-prop combination as well.
So what I did...
Got an old 9DOF razor board from Sparkfun, a motormount, a laserpointer, old transistor uses as light sensitive element, ESC and some programming skills and assembled this into a "Dynamic outrunner and propellor balancing Unit".
The razor board is equiped with an 8 MHz Atmega 328 chip that drives the ESC and reads the light sensitive transistor. Communication to a PC application is done by serial I/O
How it basically works:

- connect the razor serial port to your PC running the visual basic application.
- place the outrunner with propellor mounted on the stand. This stand is flexible mounted on the wooden base plate.
- mark one blade of the propeller with a marker. With each succesive balancing-run this marked blade should be on the same starting position.
- on the pc-application click the "RUN" button.
- now the motor runs from 1000 to 3000 RPM while the accelerometers on the razor board are constantly read. The measurements are sent to the PC-app.
- this pc-app shows the place where a counterweight should be put. It also kind of indicates the mass of it.

Done this several times to test the system and till now it works very well :-) I noticed that not only propellors need balancing, but also the outrunner itself. Could just be poor chinese quality as well :-(
All video's I shoot with my quad are without any halo-vibration-effect since and the quad is vibration free.

What else did I do:
- motors are mounted with shock absorbing supports.
- I removed the circlip from the outrunner-axle. This not only makes the balancing action very easy (just pull off the propellor unit) but also saves the bottom ball-bearing from excessive wear. I know some people may say
this is dangerous, but I never experienced a lost propellor. Every 50 flying hours I replace all bearings with quality european bearings.

motors: 4 X KDA 20-22L from Hobby King
Prop: APC SF 4,7 * 10
APM 1.4 Hotel & Oilpan with selfmade MS5611 baro-modification
ESC: Turnigy 25A basic 3.1 met simonk firmware, all calibrated manual
3DR radios 900 Mhz, HF decoupled by ferrite ring
sparkfun compass removed from frame by Starship Enterprise construction, shielded cable
Ublox LEA-6 GPS
RX/TX 40Mhz Robbe/Futaba F14 8 channel, ch5:6-way diy-mode-switch, ch6:potty, ch7 extra switch
No sonar
Lipo 4000 1p3s
2 X ubec DE-SW050 Fixed 5V switching regulator(http://www.dimensionengineering.com/products/de-sw050) both with 220uF, 10uF tantal and 100nF parallel. One system for apm + RX, the other for, leds, 3DR radio
4 Ledstrips, discrete driver 2n2222 (yes, leftovers from the stone age)
quad made of: carbon en forex (= foamed PCV). The carbon arms are two crossed rods of 1 meter each.
motors on flexi mounts
apm, dampening with 2 millimeter neoprene + aluminum.
Powerboard: diy 2 * Y, wires to motors not yet twisted, but no effect on compass
No bullet connectors to ESC and motors, all soldered
Camera Canon A3300 with CHDK hack for interval shots and RAW images, even movies are good (love it)
Camera gimball: some chinese carbon thing, works well. 2 X Hitec HS-322HD servo

Total weight: 1.8 Kg w/ camera & gimball, Flighttime 10 min, without camera 12 minutes.
Size M2M diagonal 75 cm

See attached files for pictures and pc app screen dump

Off course, I'll be happy to share code and more insight information if anyone is interested.

Views: 36493


Reply to This

Replies to This Discussion

Hi Peter, looks like no sensor data is produced. In the communication monitor window down right you can see XXX as last data sent by the pro mini, meaning 'end of all data'. The windows program doesn't test for no data (never happenden to me). I will add that later.

It might be that your RPM is too low. If one revelation produces more than 300 samples (1 each 300 uSec) than the revelation is ignored. Can you please try an end value of 42 and run again ?


The magic number is 49. It work perfect if the start-end value is 49 or above. Thx very mutch

Hi, any news on this project...
Do you have updated manual of how to setup-up the electronics ? 


Hi Frank,

As stated in your post, are you able to share the source code for this? Looks like a great project which I'm sure the kind people on the forums can contribute to.



I have a GY-521 and an Arduino Uno lying around. The GY-521 looks pretty much the same as the ADXL345. Do you think this will work too?


Sounds great! I kind of dropped that idea because I thought I would need to balance at flying RPM, rg. 10000, and I found no accelerometer that could make a sample within, say, 30 degrees = 0.5 ms. I might not have looked hard enough...



Probably better buying the DynexHobby Vortex unit. Its only $150 and samples at 44kHz with 16bit resolution. You can balance or perform spectral analysis from the same unit. Best part is that someone else has done the hard work for you :)

Hi Fanman,

Finally some time to respond to the questions..

@Fanman: Yes, you will find all sources/docs attached. I don't have enough time left to maintain the code myself, so please be my guest and modify whatever you like :-)

@Martin: the GY-521 which I understand is a MPU6050 looks a bit slow, it can sample only at 1khz for the accelerometer. The ADXL does it at 3.2 khz. Besides, the MPU6050 only has a I2C interface. For speed we need SPI and my program is made for that..

@Søren: that's right. There is no need to do it at that speed.

@Fanman: of course it's possible to use the Vortex solution as well. It can sample at top speed with high resolution, but unless one can place the reference-weight at exactly 0,120,240 degrees it's in my opinion a bit of overkill.

Actually, I implemented the 3-point measure method it uses also in my program. It shows the FFT analysis for al the 4 measurements you have to perform. I now use that to balance the motor first without prop. I then mount the prop and use my 'traditional' method. Because it shows the `distribution` of unbalance very clear in only 1 run, one can finish the balancing act quite quick. I learned that even brands like APC sometimes not only need a little correction in the direction of the blades but also perpendicular to that.

Regards, Frank


This is great stuff. I would need some help on the hardware setup of the motor mount and where to place the accelerometer on it or underneath, etc 

What parts do you use for building the motor mount (or stand)?

What are the parts list of hardware needed to build this myself using your program?



I would recommend changing a little the main article to mention that you are using a new board.... like one of the other members I bought the Razor which is apparently useless now...

Thanks for sharing though.

Actually... what is the list of things we need to buy, and how should we connect them? :)

Just these 2?


And which cables to connect everything up to the computer!? I don't want to make the same mistake with the Razor!


After asking Frank a few questions I took a shot at creating a wiring diagram in Fritzing.  I'm posting this mostly for comments.  I am a noob and have not tested this yet.  I created this hoping to get feedback before I start building one of these for myself.  As soon as my IR sensor arrives I plan to test this set up.


Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service