That's what I was thinking. I balanced my prop about a year ago with a borrowed DynaVibe classic. That didn't appear to be anything more than an accelerometer, optical sensor, display, and a microcontroller. One could probably be built for about what it cost to ship the balancer to the next person in line. While I'm at it, make it battery powered with a Bluetooth LE connection to a phone app. Then I could bolt it onto the engine and get vibration analysis for various configurations in flight as well.I don't see why it should be hard to cobble something together with an esp and some solid state accelerometers. I'm sure Claude can code it up for you.
I am thinking there is a bunch of engineering principles and math necessary to convert accelerometer data into ips values and balance locations. Guessing they output something more basice. Then there are the sw tools that tell you where to put or remove weight. Struggling to see how this simple.
It’s simple if you don’t understand anything about how it works…
Thanks for the link. This is one of the few examples I've been able to find. With 89 pages there's a lot to go through, but hopefully it'll contain some good information.This might help- lot going on there!
Dynamic Propeller Balancer Build - RC Groups
Discussion Dynamic Propeller Balancer Build Multirotor Drone Talkwww.rcgroups.com
If you balance the exact same engine/prop combination on the same airframe at the same speed every time, maybe you can get it in 2 runs.A prop seldom takes me more than two runs to get vibrations down to less than .05 .ips
If you balance the exact same engine/prop combination on the same airframe at the same speed every time, maybe you can get it in 2 runs.
I've balanced hundreds of props and it's quite rare I can get it done in just 2 runs, just too many variables.
Looks like somebody has been talking to my friend Claude.Here ya go...
Do you think that the MicrovibII is better than the dynavibe gx3?My MicroVib II reads IPS to 3 places, .001.
The sensor alone costs more than a complete DVib kit.
Microvibe is probably the state of the art and if I was doing MD500’s every day I’d have one.My MicroVib II reads IPS to 3 places, .001.
The sensor alone costs more than a complete DVib kit.
Someone is enjoying their new found freedom from retirement!I've got a basic UI up on an esp32S3 supermini webserver. I'll order some parts and play around. Cheap fun.
Lycosaurus - I'll be asking for help!
![]()
![]()
![]()
we are in the middle of a blizzard here - gotta stop to go snow blow us and the neighbors now........Someone is enjoying their new found freedom from retirement!![]()
Pretty much concur with all of that, just wanted to get a handle on overall design. dual core is key for sureLooks like somebody has been talking to my friend Claude.
I think this is actually a remarkably good start. There are a few differences I had in mind.
- Processor - I'm starting with an RP2350 on a pico 2 w board. I considered an ESP32 and think it would be a good choice here. Ultimately, it really came down to me wanting to try out an RP2350. I just finished up a project with an ESP32 where I think the PIO of the RP2350 would have been very useful. I didn't want to go that route since I hadn't used one before. But for this project, an RP2350 with it's dual 150 MHz cores and DSP/floating point instructions sounds like a great fit.
- Accelerometer - As with your document, I plan on starting with an ADXL345. I do question if the precision and noise floor will be sufficient. I think the ADXL355 would be a better choice. But they are more expensive and I already have a few ADXL345s on hand. This should be an easy substitute later if I need to upgrade. (By my calculations, to read 0.05 IPS at 2200 RPM, the accelerometer will need to measure 0.03 g. Such a small signal will be difficult to read among all the other vibrations.)
- Optical Sensor - I don't think the TCRT5000 would be a good choice here. The datasheet mentions a 'DISTANCE RANGE FOR RELATIVE Iout > 20%' of only 0.2 to 15 mm. I'm pretty sure we'll want more range than that. I'm also looking at sensors with modulation filters for additional ambient light rejection.
- Display - I think I'm going to skip the display on the unit. Instead I'll go with a BLE connection and an app. Also will add an SD card for data logging.
- RTC - I plan on adding a real time clock just to be able to time stamp all logged data. This should make it easier to sync with my G3X log files for further analysis.
This is amazing. Exactly the sort of thing I was hoping (but not expecting) to find. For some reason github won't let me open any of your files. But I'll get that figured out, and am very interested to look at what you've done.Glad to see that other people are also interested in a DIY Propeller Balancer. I built two hardware versions based on ADXL335 vibration sensor and an Arduino based signal processing, including its built-in ADC.
Vcheck_V0 is an Arduino Uno based device with crude point to point wiring. No pcb other than a perf-board. Vibration sensor is built upon the ADXL335 demo board, using a 3AA flashlight housing (slight modification and some epoxy).
Vcheck_V1 my productized and test-platform using an Arduino Nano, having two sensor inputs (I had plans for testing helicopters) encased in a professional sturdy housing with AA or 9V battery(-ies) that seems to be quite similar to one of the commercial analyzers. I also designed a PCB for the vibration sensor that gives access to 3 axes, temperature sensor (I was looking at possible a semi-permanent installation), and current drive buffering to drive the signals via a cable to the signal processing/display unit. Most of the features embedded in this design are not needed to perform basic vibration balancing functions.
Both the V0 and V1 versions run on any DC voltage from 3V to 16V.
The software performs quite well and makes use of Discrete Frequency Transform (a subset of FFT) and seems to be quite effective. The puny ADC of the Arduino is tapped to its max performance by sampling the next vibration level only when the previous data has been sampled and stored in the appropriate data bin (e.g. 120 bins of 3 degrees of propeller rotation... which can be changed by the user). No super high speed ADC needed.
As a system I have tested about 6 aircraft and brought the vibration levels from .4 ips to about .05 to .07 ips.
For my optical sensor I'm currently using an IR LED and receiver that I already had. So far it's been working on my test setup. (Cutoff wheel with a piece of reflective tape mounted in a cordless drill.) But that only goes up to around 1300 RPM. Based off your warning I'll do some additional testing. Think I'll start with adding some additional strips of tape to simulate a higher RPM. Might also try to characterize the response of the IR receiver by quickly pulsing the LED while monitoring the input and output on the oscilloscope. Figure out the minimum pulse width needed to trigger and if there's any significant turn on/off delays.You cannot use just any optical sensor and claim success. I have tried a couple of low cost ones and they failed miserably at around 1600 rpm. I used a Banner Mini-Beam SM312LVMHS optical retroflective sensor which works great (stable, accurate, fast response time) and has no issue working in sunlight, unlike some infrared sensors I tested. Downside...$$$. It is about $200. I have sampled another brand of retroflective sensor for testing and it looks very promising, and cheap too... $20. More to come.
Same here. In the spirit of experimental aviation, I'm doing this solely for my own education and recreation. If others are interested, I'll gladly share my results.I have no ambition to sell anything... just doing this for fun. You are welcome to use the information to build or design at your own risk and discretion. I claim no ownership.
Thanks for the post. It's great to see that others have done this successfully. I tried looking at your posts over at homebuiltairplanes. Unfortunately, I can only view the first three posts in a thread. Every post after that is obscured and not viewable.I did it with an Arduino Nano, then 2590Mega. Tried a lot of things including spectrum analysis -- FFT (DFT) with phase and amplitude. Takes a LOT of samples averaged to get rid of noise. Another thing is that to get down to 0.07 ips you need a sensitive accelerometer (or a lot of samples).
Started with the ADXL335. Then tried ADXL313.
https://homebuiltairplanes.com/threads/down-home-vibrometer.34747/ (posts #33, #39, #50, #58)
![]()
Prop balancing
Having done 4 runs at 1,825 prop RPM, one with no weights, one with 11 grams at arbitrary 0-point, one at +113 deg and one at -113 deg, spreadsheet tells me to add 9 grams at 151 deg. The 11 gram test weight was added at the rim of the 13" spinner. But I need to add the actual weight on the...homebuiltairplanes.com
![]()
Prop balancing - combining two weights
So I did new balancing runs with existing balance weight in place and now want to combine the two weights into one. What is the formula for that? Existing weight: 12 g @ 148 deg @ 5.9" radius. (10.5 g @ 148 @ 6.75" radius) New weight: 20 g @70 deg @ 6.75" radius. What is the combined weight...homebuiltairplanes.com
Ended up mounting photo sensor and accelerometer permanently with data logging Arduino box in cockpit. Painted half of spinner back plate black, the other shiny alum.
Also tried the spreadsheet method (four runs, measuring max amplitude each time: 1) unbalanced, 2) add known weight at 0 degrees, 3) move the weight to 120 degrees, 4) move the weight to -120 degrees. Enter amplitudes in spreadsheet to get suggested weight. It's been a few years.) I'll be happy to dig up the details if you're interested.

As my username would suggest, I've got a Rotax 912is. I believe this has a 2.43:1 gearbox ratio. As you mentioned, this ratio should make it easier to separate the engine from the prop vibrations. Eventually I plan to report both. Although the engine will have to be vibration magnitude only, as I won't have a reference for degrees of rotation.I should mention that I mounted the TCRT5000 optical sensor in a 1/2" CPVC pipe and it's about 1/8" from the spinner back plate. Very easy to ruin the signal with sunlight as you're climbing out.
I think model airplanes with props turning 5,000 to 15,000 RPM have it easier because signal level in creases with RPM, as mentioned.
Having a gearbox (as with Rotax) complicates matters. You have to separate engine vibration from prop vibration. If you're lucky the gearbox ration is a non-integer number making it easier to filter out (engine RPM not a harmonic of prop RPM).
The way I read the datasheet for the ADXL313 is that it has ranges of +/-0.5g, +/-1g, +/-2g, and +/-4g, and 13-bit resolution. Thus, on the +/-0.5g range, with 10-bit resolution, the resolution in g is 0.5g/512, or about 0.00098g. On the +/-1g range, sliding the 10-bit window on the 13-bit number one bit to the left, the resolution in g is 1g/512, or about 0.00195g. On the 4g range, the resolution is about 0.0078g. (10 bit unsigned resolution is 1 part in 1024; for signed data, it's -512 to +511, and we're dealing with +/-0.5, +/-1, etc.).At least the digital output ADXL313 has "fixed 1024 LSB/g sensitivity for any g range" or about 0.001G/LSB or 0.002 ips per LSB at 2,000 RPM. Please correct me if my math is wrong.
I'll gladly take any advice from someone who has tried to do this before. I've thought from the beginning, the difficult part will be extracting the vibration I'm interested in out from among the other noise and vibrations. Fortunately, since I'm doing this for my own education and entertainment, it is okay if I never get it to work. Either way I am learning a lot.Rereading posts I feel I should emphasize this: there is a huge difference between successfully doing it on a prop driven by an electrical motor (bench test and model airplane) and on a combustion engine on an airplane (even more so via a gearbox). Don't want to discourage you but just be aware it might not be as simple as it's been made out to be. But then again, it's all for fun, education and experimentation.
I didn't check your math here, but I agree the ADXL345 may be a marginal choice. My first choice was the ADXL355. I think it's a much better fit for this application. However, it's more expensive and I already had a few ADXL345 on hand. So I was going to start testing and perform code validation with those. If I need to upgrade later, it should be easy to change.The digital ADXL345 has been mentioned a few times but let me point out that it only has a resolution of 4 mGs per bit (LSB). At 2,000RPM that's only 0.07ips.
At least the digital output ADXL313 has "fixed 1024 LSB/g sensitivity for any g range" or about 0.001G/LSB or 0.002 ips per LSB at 2,000 RPM. Please correct me if my math is wrong. To get higher accuracy you'll need an accelerometer with analog output followed by op-amp to amplify the signal before it goes to the CPU 's A/D converter, but now you have a calibration issue: amplification factor correct at all relevant frequencies and noise?
I'm new to this, so my thoughts don't mean much. But, to me, it comes down to what you're referring to. If you're referring to a rotational vibration, then amount of rotation per unit of time makes sense. However, if you're measuring this rotational vibration along a given axis... then that would be measured in Hertz. (Although ultimately I have no preference and probably use the wrong terms at least half the time anyways.)Another question is regarding how to express frequency. Is it frequency in Hz (RPM/60), or is it in radians per second (multiply Hz by 2*pi)? I think it's in radians per unit time, i.e., angular frequency.
Funny you should mention this... The ADXL345 (and ADXL355) is a three axis accelerometer. Less than an hour before you made this comment, I made the decision to rotate the accelerometer 90 degrees and implemented the code changes to get accelerometer readings on both the X and Y. (On the ADXL345, the Z axis is noisier than X or Y. If I was using two axis simultaneously, I wanted their performance to match. By rotating 90 degrees the X axis is now vertical (up/down) and the Y axis is horizontal (left/right))Things could get really interesting if you could mount two accelerometers 90 degrees apart, and synchronize them in terms of their sampling time, and thus do quadrature (sine and cosine) sampling. You could measure both the magnitude and the phase of the vibration pretty quickly, once you stabilize the RPM.
Yep. It's in another class, in both price and performance.Didn't know about the ADXL355. $68 but impressive 1000x better resolution!
Most references I've seen refer to peak IPS. For example, here's an excerpt from "ACES SystemsGuide to Propeller Balancing".Still would like to know if Dynavibe shows peak, peak-peak, average or RMS ips.


I do wonder how useful horizontal acceleration will be. Most balancers I've looked at specifically measure acceleration vertically. I'm guessing this is because vibration from the horizontally moving cylinders would typically be indistinguishable from prop vibrations. However, since the Rotax has a gear reduction, the prop and engine don't rotate at the same frequency. So theoretically, after the accelerometer data is collected and converted to a frequency domain it should be possible to distinguish between the two. I want to collect some actual data and do some analysis on it. See if the results provide actually useful information from horizontal acceleration.Things could get really interesting if you could mount two accelerometers 90 degrees apart, and synchronize them in terms of their sampling time, and thus do quadrature (sine and cosine) sampling. You could measure both the magnitude and the phase of the vibration pretty quickly, once you stabilize the RPM.
As you probably know, with simultaneous measurements of acceleration in two orthogonal directions, you can do a complex (real and imaginary parts) FFT, not just a real (single-axis) FFT. From the complex numbers in each frequency bin of the FFT output you can derive magnitude ( sqrt(Re^2 + Im^2) ) and phase ( atan2(Im, Re) ) of the acceleration at that frequency.I do wonder how useful horizontal acceleration will be. Most balancers I've looked at specifically measure acceleration vertically. I'm guessing this is because vibration from the horizontally moving cylinders would typically be indistinguishable from prop vibrations. However, since the Rotax has a gear reduction, the prop and engine don't rotate at the same frequency. So theoretically, after the accelerometer data is collected and converted to a frequency domain it should be possible to distinguish between the two. I want to collect some actual data and do some analysis on it. See if the results provide actually useful information from horizontal acceleration.
Try a Hall effect sensor or inductive clamp to sense the current through the plug wire. Basically the same idea as the trigger for a timing light. The current will be fairly low, on the order of 100-200 milliamps peak, so the sensor must be more sensitive than the ones used on alternator B leads. The peak current happens for a very brief time as the spark gap ionizes, so the frequency response of the sensor must be high. And depending on what type of ignition system you have, the spark pulse may vary in phase with respect to TDC. Consequently (circling back to the thread topic), spark timing isn't very useful for triggering an accelerometer for prop balancing, unless you know and can compensate for the spark advance.I have a System32 ignition system so I am going to try to get a timing signal from that (it has multiple crank position signals). Has anyone considered putting a sensor on a sparkplug wire for a timing signal? It would sense the high voltage going through the wire without contact. That seems easier than an optical sensor, particularly for permanently mounted projects.
I've ran across one project where they are doing just that: https://github.com/peterashwoodsmith/vcheck.I have a System32 ignition system so I am going to try to get a timing signal from that (it has multiple crank position signals). Has anyone considered putting a sensor on a sparkplug wire for a timing signal? It would sense the high voltage going through the wire without contact. That seems easier than an optical sensor, particularly for permanently mounted projects.
the ACES balancer appears to have an older version of this STI accelerometer with the integrated cable https://www.stiweb.com/CMCP1100_Low_Cost_Industrial_Accelerometer_p/cmcp1100.htm . they measure down to single digit hundredth of an IPShere's an excerpt from "ACES SystemsGuide to Propeller Balancing".
He's using a spark sensor as a RPM trigger. However, I don't see where he's compensating for spark being every 720° in the code.I've ran across one project where they are doing just that: https://github.com/peterashwoodsmith/vcheck.
Here's a video of them doing some bench testing.I'm assuming for this to work they must have a system with a fixed spark advance.
As for me, I am using a Rotax with a 2.43:1 gearbox. So even if I were to get engine position information, that won't help with prop location.
Here's another video that mentions a couple of optical sensors in the video description.As for me, I am using a Rotax with a 2.43:1 gearbox. So even if I were to get engine position information, that won't help with prop location.
Looking at the datasheet for the QRD1114, its max sensitivity (max collector current) is with a distance between 20 and 30 mils. That's 0.025" or 0.6mm!Here's another video that mentions a couple of optical sensors in the video description.
Yeah, I noticed that too. Better alternatives ($$$) would be sensors like the Omron E3Z‑R61 / R62 or the Keyence PZ‑V/M Series. Or do like you did.Looking at the datasheet for the QRD1114, its max sensitivity (max collector current) is with a distance between 20 and 30 mils. That's 0.025" or 0.6mm!
Didn't find that spec for the ITR20001/T.
Just something to be aware of in addition to shielding from ambient light or heat sources.
That's probably why Dynavibe and others are using the more expensive laser position sensors.
As I mentioned, I have my photo LED/transistor in a 1/2 CPVC tube to shield from ambient light and very close (<1/8") from the spinner back plate which is 1/2 painted black to produce a square wave. (Actually added a piece of thin reflective tape just before the black to get an sharper start edge.)







I did not do an exhaustive search. There may be better options out there. I just started with the 345. When I began to question if it was going to be good enough, I searched for alternatives. Looked at a few options and found the 355. I didn't look much after that.So far I've been taking the advice from others on which accelerometer to use.
@rv12is, how did you arrive at the ADXL355?
Trying Analog Devices' selection table for Accelerometers it doesn't have a column for sensitivity nor resolution.
Did you read through all their datasheets? I'm lazy and if you've already done that and found the ADXL355 to be the highest resolution (20 bits), or most sensitive, I won't have to go through that exercise.
