Micro Motor Community

NotFastEnuf E011 / Bwhoop Silverware Fork


I’ve got the XN297L from here in the past. I measured the XN297L pin 8 to ground on 3 boards and got 67k to 70k, might be a useful figure for a health check.


Thanks man I’ll give that a go!

Also isn’t there an XN297L inside the toy transmitters as well? I could probably salvage one there.

@NotFastEnuf lol I like your way of thinking - not sure the wife does, but I might give it a shot :smiley:


@NotFastEnuf FYI, non-Beta filtering is broken in the latest commits. I added a pull request with a fix (just re-ordering some of the #defines).


Thanks. Defines.h is becoming like a closet right now and I’m just tossing stuff in left and tight to get it out of sight. Lol. I need to organize it when I’m done with my spring cleaning. Commit merged


Speaking of latest commits… I will try to summarize some changes quickly and give you guys some stuff to test.

I have added a scaling mixer that is very similar to the scaling logic used in betaflight. Along with this I have redone the logic for our minimum throttle setting when this mixer is enabled but only on a brushless quad. When forcing this mixer on for a brushed craft motor min will be disabled automatically to help prevent runaway idle throttle. In the past you may have heard me compare clipping vs scaling mixers as a source of the additional power we have in brushed silverware quadcopters. Well now we can test both and see if that theory is correct. The scaling mixer is expected to be extremely precise. However it is likely to be very sensitive to your tune and filtering with it’s power output to motors. If your pid gains are too high or filtering is too weak - your motor outputs will be bouncing all over the place, the scaling mixer will be working overtime to squish all the erratic commands to fit inside of a 0 to full throttle range, and power may suffer excessively. Alternatively it has been noted to start increasing it’s “airmode” type behavior excessively in outdoor conditions on my whoop cause of it’s desire to keep everything so perfectly balanced and because of a brushed motor’s slower response time to output commands and lack of low end torque.

I theorize that this more precise mixer will be great for brushless where motors have faster response times and more torque… But is probably not the best thing for brushed since it may easily cause reduced power on the top end and runaway airmode when throttle is chopped in turbulent air as a result of slower motor response times, tune, or filters. Honestly I have no idea. So let’s test it and see. To me it seemed power was fine and it just needs some limits set on it’s airmode effects. But my build is clean, and my motors and props are brand new. I’m eager to test this on a boss 7 where power loss might be more noticeable. I’m curious to see what conclusions you draw.

To try the new scaling mixer on a brushed quad … Download the latest code. Add the following define to your config.h file:
That’s it. No other changes needed. It will automatically disable all other mixer settings and engage the new scaling mixer.

You may also notice I’ve added a BRUSHLESS_CONVERSION define near the bottom of config.h Be warned … This is for those of you that have done hardware modifications (removing mosfets ect) to convert a brushed FC to brushless. It automatically enables DShot 600 and turns on the new scaling mixer and new min throttle logic. Don’t use this on a brushed quad.

Again:. I have only run a few packs through this and it’s by no means a daily driver yet … Just an opportunity to put our heads togetger, try something new, and hopefully learn something in the process.


Flashing !

#define Lets test this new mixer asap


I’m hoping to test out the changes this weekend on a few of my brushless. Still trying to get Deviation to build with the protocol changes and Voice alerts


Promising results so far on my troublesome Zer0 bl conversion.


I just put a dozen packs through it on a brushed Zero. My thoughts … Airmode type behavior is exaggerated outdoors on a brushed quad… Big time. So I coded a limit for that similar to how we approach brushed. That helped alot.

Power is down on a brushed quad. I didn’t notice at first but then I switched back to defaults and the difference was obvious. Again I could add limits to reducing the top side just like I played with on the low side … But then it’s basically just gonna become really similar to the existing defaults for brushed.

With limits in place … It starts to lose it’s precision in certain spin moves and actually gets worse than defaults for brushed

I’m gonna charge packs and try it out on a 4" brushless this evening. I still say this will never be a good brushed mixer approach … But I thing the faster response time and better lower end torque of brushless will work well. I guess what I’m most curious to see is if the exaggerated airmode behavior will persist into brushless or if it will not be an issue there.


Ok angle mode whoop racers…

The new NFE dynamic angle mode algorithm is in. Here are the basics:. There are two angle pid sets now. One that’s active for normal flying and another lower set that gets transitioned in as error in the system increases… Like stick bashing or during collisions. What this does is it helps to calm the pid response when you hit something or get overly active on the sticks. The biggest problem angle mode has always had when using high leveling strength is that it would go nuts if you hit something, or get stuck against walls, or other chaotic nonsense. Now we can run high leveling strength for responsive small corrections but have all the good behavior in crisis situations that low leveling strength had. This new algorithm also seems to amplify the smoothness of juicy mode vs super sharp responsiveness of full Bronx mode. Special thank you to @PJC for spending hours tweaking the defaults for values that most of you should appreciate. Special thank you to Ethan Bayer of Micro Motor Test Lab for initiating the conversation that resulted in the first revolutionary change to angle mode since the dawn of it’s creation!


If you haven’t tried it, you really should. :slight_smile: I love that it’s the same people pushing micro’s flying better in both Silverware and Betaflight…Ethan has suggested a lot of great things for Project Mockingbird, and Travis is great at taking my “how it feels” talks into code. Travis, you are amazing!

Here’s some flight footage with Betaflight rates, Bronx, and the new Angle math. Most people would think it’s crazy twitch on the sticks, but the awesome thing about NFE’s new code is that the more you push it faster, it actually gets more precise the harder you bash. In regular Silverware rates, bronx is less crazy and most people will adjust to it and be beating brushless Whoops all over the place.

Oh, and if you haven’t tried Bald Eagle Sauce 716 motors on Silverware, you really should.


Awesome flying - do you fly stock apidkp1/apidkp2 settings?
Also bf rates should only affect yaw right? Care to share your numbers? Any expo in there?


Hi guys, NFE,

Ive been testing a little bit the new NFE software, indoors only, on an E011C. At first I tried to check if the slight vibrations I got from stock filter with biblades would vanish with the kalman (default values), but didn’t. Then switched to eachine 4-bladed props.
For easier comparison I have slightly edited the code and set a switch in my transmitter to switch in-flight from stock filtering values to
based upon:

which I thought was the other end of the range.

TBH I notice little differences in handling between those 2 sets of values. Overall feels better than alienwhoop filtering but cant really explain why. Only thing I could report is that when I jam the throttle, attitude drifts off a little, ala missing betaflight antigravity. It does not happen with stock values for the former variables.

Is this beahviour expected at all? does it mean anything? reading up and down this thread I could not find any hints on this behaviour.
My goal is to find the best setting for those values for my whoop, and set the swith to compare from alienwhoop filtering to beta_filtering, so I can check the benefits side by side.
I also noticed that racemode was more precise with alienwhoop filtering when trying to get it into its own propwash by making sharp 180 turns. Now it goes off in the yaw axis and normally makes a complete 360 (and crashes). Maybe it has something to do with the fact that this new whoop is lo profile, so the camera is further from the center of mass of the craft and increases the moment of inertia in the yaw axis.

By the way, gotta love new dynamic PIDs for angle mode, that is really noticeable! Though I couldn’t really explain why either. Kudos!!


Hey NFE! I got my whoop going in plus configuration. Feels great.

But I’m here for a regular X quad now. I’ve done a few NFE whoop builds and love them. Finally decided to do a boss - 716 17500kv, 50mm props, 23g without battery. Started with the recommended defaults you have in there for 716 and 48mm. It oscillated like crazy. I’ve been playing with it using my (limited) knowledge of tuning on betaflight. Lowered pids, played with different filtering options. So far, heavy filtering and lowering the filter values has given me the best luck filter wise, but I’m pretty clueless on the filters. My P is down to like 6, and D down under 3 on the pid.c (still the same exponent values). I can hover around on angle without warbling and rocking now, but motors get super hot fast. What am I doing wrong? Or am I down the right path but gotta keep going?


@bazu the filtering you quoted from me is something I use on a super clean brushless build. The filtering you posted that you are testing is a good amount weaker than defaults. Whoops seem to have a noise peak that fluctuates between 150 and 200hz with throttle and another one higher up. I would think 140hz is cutting it pretty close and may not attenuate that noise down enough. IDK. If it’s working for you tho… Your report that something about it feels better is logical. The heavier you filter the gyro, the more out of phase it’s data (and our resulting P term response) becomes with the actual motion. Same with filtering on D except the phase delay now happens between the D term response and the P term… Making D behavior less effective bin doing it’s job. Welcome to the world of filter tuning. It’s tricky. Alienwhoop filtering differs in that it’s only one pass of filtering on the gyro but then the motors output is filtered. Just trading a filter in one spot for a filter in another. Scroll back to when I released dual pass gyro filtering as a way to possibly eliminate motor output filtering for my opinions on that. Your bobble on thrust (missing antigravity feeling) is a weak motor. NFE silverware defaults are tweaked to stop the mixer from pulling power to perfectly balance motors beyond a 10 percent spread. With 4 good motors, you will notice a significant power increase over betaflight style logic. When you start to get a dip… It’s a clear indication that your performance is suffering due to a weak motor. Put some new ones in. That will also help with yaw blowout. To prove this, and for the sake of learning and experimentation, you can add the following define to config.h. #define BRUSHLESS_MIX_SCALING This will turn on betaflight style logic forcing your stronger motors to slow down to match your weak one. Power will be down but the bobble will be gone. This is all a result of clipping vs scaling of PID outputs that exceed the on to off range of the motors. Searching this thread for clipping vs scaling mixer should turn up a lot of relavent information. To be clear I don’t recommend this mixer logic as a daily driver for brushed… I can link you to a brushless rcg thread where that is discussed extensively if you want to read more on that.

@Danballah welcome to the party man. Killer work on the plus configuration! I still need to try one some day. Maybe it changes the aerodynamics which cause props to stall behind ducts changes somewhat with this layout? As for your 720 build … Something sounds really strange about that. The typical brushed window for P gains is in the 17 to 27 range. I have not done many 720 builds but often found them following the tune of 8.5mm closer than 716. I can’t recall if I posted my latest 8.5 tune or not yet. But something sounds really off in your experience. You’ve already had to move things way too far. I have some of those motors… I’ll have to build one for comparison. What battery are you using?


@NotFastEnuf it is 716, not 720. Is the weight that bad? :joy: I’m betting my issues are with the filtering, because that’s something I’ve little experience with tuning. I was using a 550 gnb - mostly because I wanted something that would last a few flashes, and I wasn’t sure that my 260 whoop batteries could handle the extra current from 50mm props. The code I have is about two weeks old, and I started with the beta filtering. Turned on torque boost and a couple of other defines you recommended in pid.c at first. In my process I turned those all back off, and went to the very strong filtering trying to get rid of noise. Reading your response to bazu above - is going down in the hz on the filters the right path? Could that be my mistake?


My mistake. Recommended defaults should be bulletproof for 716. Adding a heavier battery only creates toleration of even higher pids. This is a tricky one. Download a clean project and select your target and radio type. Stick with beta filtering. Gyro passes both at 70hz. D term 2nd at 90 to 120hz. Torque boost at 1 and throttle compensation at 4. Reset the pids to

Try it again. If it’s still oscillating turn down yaw P first to 7. Silverware pids are all on a different scale than BF so it’s hard to know what any of them are doing … But my yaw is to the moon. That can cause an oscillation. Then maybe start dropping roll and pitch P and roll and pitch D. You shouldn’t have to go any lower than 17 on P. For every 3 points you drop P - drop D 1 point (that should be a good ratio).


Thanks man I’ll give it a shot tonight or this weekend, let you know how it goes n


Have flashed NFE on a few betafpv lite boards now, flying 7x16 motors. I have a betafpv 75 and just killed the F3 board. Have an extra lite board ready to go. wonder what i need to do for PIDS and such if this thing will fly with those 820 motors and 40mm props


Oh my man Pothman didnt know you was mmw member thats awesome ! Did you tested yet your 820 ? Which frame ?