Micro Motor Community

NotFastEnuf E011 / Bwhoop Silverware Fork


So a guy on facebook said that compiling on linux with openocd does this.
Just putting this here in case someone else faces the same problems

Chaotix Xitoahc: Ah, openocd doesn’t compile entirely correctly with some filter settings, we don’t recommend it for the NFE branch just now due to various unexpected behaviours one of which is max throttle on arm.


Yup, that’ll be me!


Right guys, @JBFPV was kind enough to help me to clear up the limitations of the cheap PPM based multi-protocol TX, the conclusion is that the iRange IRX4 is ideal choice for Qx7 Users who want the Silverware experience.
That being said, I honestly thought it shouldn’t be an issue to fly Silverware with the stock controller as it is in the code, so with alot of trial and error I was successful after adding this line to the protocol selection code in Keil/config.h -


This also worked with the PPM Multi-protocol Tx too, as long as you setup your Channel 5-10 Inputs + Mixer switches in combination with [ #define USE_DEVO ]

I have also found out how RAPID cold temperatures (around 12°C ) discharge Lipo batteries
even after fully charging. A 5 minute walk to the park resulted in 5 dead batteries on arrival :grimacing:

Cheers :+1:


Thanks again man!


Keep the lipos warm, I usually pack a hot water bottle with my lipos when I go flying in winter.
For 1s lipos keeping them in your pocket near your body should be fine or at least better than cold lipos :smiley:


The issue with a gcc compile is the kalman filter on gyro. It is a little jewel of c++ code in an otherwise C code base. If gcc is all you’ve got … 3 things you can do:

  1. Get rid of strong filtering. Go back to alienwhoop zero filtering. Copy the 1st order adjustable gyro filter line from custom filtering. Then go down towards the bottom of config where the zero filtering is #ifdef and comment out the kalman gyro and replace it with the standard adjustable gyro filter using the same cut frequency.


  1. Use the custom filtering set and go down to where the zero filtering is #ifdef and copy everything but the kalman gyro and move it up into custom filtering. Then set the 1st order adjustable gyro to the same cut the kalman was set to.


  1. Let me or someone else compile a hex for u

Essentially you need to run the all but the kalman gyro filter from the zero filtering set for a whoop - most importantly the motor filters included in the zero filtering as they are switchable on stick gestures and very well matched to a 6 or 7mm whoop build. As for your flyaway condition - Kalman vs 1st order adjustable should be about the same but 1st order adjustable should let you gcc compile. The second issue you have not gotten to yet is gonna be props in/out. It’s gonna default to props out but can be changed and saved with stick gestures if you built props in.


Good work. Yeah I had removed that in a house cleaning - maybe I should put it back or add a note. Sorry. Also, ditch the toy_tx line and move over to use multi or use devo if you’re on a real controller now. Toy tx does some screwy stuff that you don’t want happening on a real radio.


Thank you for your detailed answer! @Chaotix already compiled a hex for me, I will give this one a try first. I will either compile in a windows vm or with the changes you mentioned.

I really don’t want to compile a build without kalman and only get 90% silverware magic :smiley:


Ive learnt alot with the struggle to help out and Thank you for allowing us to have the opportunity :+1:
I agree that it should be put back with a note as many newcomers will be tempted with this cheap module, with the only draw back being the slower PPM connection & the short range but at the very least it’ll deliver the silverware experience.

Screwy was the experience this morning… :sweat_smile: & I have now moved over to Multi and playing with channel mappings following the results of this thread - (binding-a-silverized-nfe-e011-to-a-qx7-using-an-irx4-solved)

Thanks again NFE


Hi all, first post :smiley:

I have been reading about this NFE silverware fork in the dark for a while now , and I am enjoying the e011/NFE fork so much! Racemode and PIDprofiles features are just awesome. Thanks a million to NFE and the community!

Since I am still a noob, I set in my QX7 a sort of S.O.S. mode in the momentary right shoulder switch that overrides racemode and acro to level mode, and used channel 5 in “angle_pid.c” to switch between “HIGH LEVELING STRENGTH” and “NotFastEnuf personal settings”, so I can make that SOS mode recover faster from the messy attitude I may have whenever I need help. And also so I can try the differences between those 2 angle settings while in flight.

I have used channel 5 because I do not use the arm feature (I set idle up manually in the QX7 and only for acro mode), and because I think no more than 10 channels can be set in rx_bayang_protocol_telemetry_autobind. Is that right? I cannot find where I misread up to 15 channels could be used in bayang protocol…

It works nicely for a faster level recovery and keeps the NFE settings for a nice anglemode flight, but I wonder: am I losing anything else than idle up on arming by not using the “ARMING” feature? like maybe increasing PIDs while throttle is at idle, a-la airmode in betaflight?

Thanks a ton!!!


Love to hear about some of the advanced stuff you’re coming up with. Sounds fun. The only thing you miss out on without arming feature are the built in safeties. Idle up feature is linked to smashing integral windup before takeoff and activating air mode after you have taken off so it’s not active on the ground. If you can live without the good “manners” pre- takeoff, then you’re fine there too. They both add a little to the overall experience that can’t be replicated in a transmitter. Bayang is 15 channels I think, but I can’t recall why we don’t have some of them. One thing you might try is to use the ch_aux1 stick gesture channel to switch one of your modes like horizon which will free up one more channel for arming. Just disable stick travel check mode first.


Silverxxx has implemented 12 channels into Bayang, just needs to be updated in the Bayang protocol @Notfastenuf

https://www.rcgroups.com/forums/showpost.php?p=38738137&postcount=1509 In the brushless too


Thank you both:
those 2 new channels “CH_EMG” and “CH_TO” are already defined in defines.h
// defines for bayang protocol radio
#define CH_ON (AUXNUMBER - 2)
#define CH_OFF (AUXNUMBER - 1)
#define CH_FLIP 0
#define CH_EXPERT 1
#define CH_HEADFREE 2
#define CH_RTH 3
#define CH_AUX1 4
#define CH_AUX2 5
#define CH_EMG 10
#define CH_TO 11

Can I use them without messing anything else then??


They aren’t in the protocol to use so a few lines of code need to be added


cool, been a while since I checked in on the main repo. thanks man

I’ll add those as soon as I can and bump sbus and dsmx up to 12 channels also.


I guess CH_TO and CH_EMG need to be included in the aux vector in “rx_template.c”, like for example CH_FLIP:

aux[CH_FLIP] = (rxdata[2] & 0x08) ? 1 : 0;

Well that goes a little bit beyond me by now… I’ll fiddle


Thats is awesome!! I keep my eyes open. Thanks again!!


Hi, i recently flashed this firmware in my e011c
( i dont recognize my drone anymore … :smiley: )
And since i lost the “fine-tuning” options how can i “balance” my whoop?
i think he as a bad motor and always tends to go to the right side.
(the motor doesnt work at very low throttle)

Thanks in advanced


place the whoop on a level surface and use the down- down- down gesture to calibrate the accelerometer to learn level. There are also fine tune adjustments you can make to the accelerometer trim in code if you can’t get it flat. But down 3 times should fix you up on the right stick.


Yup, my bad … i should have told you that i tried the 3 down several times
( unless my building is falling to the right )
Can you point me out to the code section ?
File / line


Are you in level or acro when it trails off? Very few people have ever needed this in level … but it’s in config.h

Obviously if it’s due to a bad motor … I’d fix it instead of trimming it :slight_smile: