FT VersaCopter - Naze32 Setup (w/ OneShot)

SwissFreek

Junior Member
In this video, Josh mentions that the Emax ESCs from Power Pack E can be flashed to have the latest BLHeli firmware. Could anyone give me a heads up how to do that? Is it a BLHeli or SimonK bootloader? Can I use RapidFlash or do I have to use BLHeliSuite? Does anyone know which hex file I need to use or where to get it?
 

Craftydan

Hostage Taker of Quads
Staff member
Moderator
Mentor
Rapidflash and SimonK are a No-Go.

The EMax BLHeli 30A ESCs are SILabs based, so they're BLHeli ONLY.

BLHeliSuite is a pretty good toolset, and does a bit of hand-holding through assembling the hardware(if you don't have the adapter), so being forced to use it isn't all that bad.
 

SwissFreek

Junior Member
Yeah, I spent some time trying to get BLHeli Suite to cooperate last night. And I did find which file to use once I realized they were SiLabs and not ATMEL ESCs. But for the life of me I could not get the 12A ESCs from Power Pack E to connect to the software. I plugged them in and powered them up as directed but got nothing but errors. I read somewhere that those ESCs (at least the older ones, mine are from July) don't have a boot loader on them at all? Could that be my issue?
 

Usafa93

Member
Anyone have the PID settings for a 3-cell setup using the NAZE32 and power pack from FT? Admittedly, I don't know a lot about PID settings. Looking to get a close approximation until I learn to tune it myself. Thanks!
 

thouser

Junior Member
3-cell Powerpack E Versacopter PID settings?

Anyone? I am very interested in this as well. I have a 3-cell setup, not 4.


Anyone have the PID settings for a 3-cell setup using the NAZE32 and power pack from FT? Admittedly, I don't know a lot about PID settings. Looking to get a close approximation until I learn to tune it myself. Thanks!
 

jhitesma

Some guy in the desert
Mentor
Yeah, I spent some time trying to get BLHeli Suite to cooperate last night. And I did find which file to use once I realized they were SiLabs and not ATMEL ESCs. But for the life of me I could not get the 12A ESCs from Power Pack E to connect to the software. I plugged them in and powered them up as directed but got nothing but errors. I read somewhere that those ESCs (at least the older ones, mine are from July) don't have a boot loader on them at all? Could that be my issue?

Just seeing this so sorry for the late reply. But you're correct the emax ESC's do not have the Blheli bootloader installed. In fact the version of blheli installed on them is quite different from the "official" blheli as emax heavily modifies it. They also have a resistor and capacitor signal line that prevent re-flashing and programming through the servo wires (even with the bootloader) unless you remove them details about that are in the blehli docs in the "BLHeli supported SiLabs ESCs.pdf" file.

On the upside it's more accurate than their "simon series" ESC's which are also running their modified version of blheli (and like the blheli series can only run blheli since they're also silabs based - but the blheli series have faster fets and can do damped light better.) And emax does publish their modified version of the blheli source on github so they're at least following the rules about using open source code.

It's just a bummer that it muddies the market by calling them "blheli" when they modify in ways that aren't compatible with "real" blheli.

You can however reflash them with real blheli - you'll need a silabs toolstick or an arduino to do it and will have to remove the heat shrink and use the programming pads. Then if you remove the resistor/cap on the servo wire you can reflash and program them through the servo wire in the future - but "Removing the cap will increase the noise sensitivity of the input, and may affect running performance" See the document I reference above (it's included with blheli suite) for a photo showing the components you'd have to remove.)

Alternatively you could add a programming pigtail. Nice thing about the silabs based ESC's is that there's only 3 wires per ESC to program them "the hard way" and 2 of those wires are shared across all the ESC's. So on a quad you can wire the ESC's to a 6 pin header and program all 4 at once with the suite. But it's still not quite as nice as being able to reprogram/flash through the servo wire (especially with some versions of CF now supporting flashing through the CF interface.)
 

MototechRyan

Wannabe Jedi
How are people fitting there naze 32 boards in.

I dont want to go too far off track from the original post. So im gonna make a new post in the electic multirotors section later tonight with the mods i made to my Versacopter to mount my naze32. Will edit in a link in this post after ;)

http://forum.flitetest.com/showthread.php?22598-Versacopter-MototechRyan-s-mods-in-progress

Im running a rev 6 acro naze32 and not having luck with oneshot either. After reading jhitesma's post above, i believe i received the older blhelis with the power E pack. I'll skip the saga ive had with my rev 6 naze32 trying to calibrate the escs(see my post in the electric multirotors section if interested)...but i ticked the checkbox to enable oneshot in baseflight and didnt really notice any difference. Then after looking at another sellers site at the Luminier oneshot esc's, i read you should also tick the enable fast pwm box for those esc's. So i did and now my emax esc's make a new short set of beeps on power up and wont respond to any inputs. Tx or baseflight inputs do nothing. So I've given up on enabling oneshot on these esc's and plan to buy some Lumenier esc's in the future.

Dont get me wrong, i really like the emax escs i purchased from Flitetest and plan to keep flying them in my Versacopter till i get some Lumeniers. Then use them in other smaller builds :)
 
Last edited:

jhitesma

Some guy in the desert
Mentor
Im running a rev 6 acro naze32 and not having luck with oneshot either. After reading jhitesma's post above, i believe i received the older blhelis with the power E pack. I'll skip the saga ive had with my rev 6 naze32 trying to calibrate the escs(see my post in the electric multirotors section if interested)...but i ticked the checkbox to enable oneshot in baseflight and didnt really notice any difference. Then after looking at another sellers site at the Luminier oneshot esc's, i read you should also tick the enable fast pwm box for those esc's. So i did and now my emax esc's make a new short set of beeps on power up and wont respond to any inputs. Tx or baseflight inputs do nothing. So I've given up on enabling oneshot on these esc's and plan to buy some Lumenier esc's in the future.

Just to clarify there are two types of emax ESC's. The older "SimonSeries" and the newer "Blheli Series" I believe FT has only sold the newer blheli series. Despite their names they both run blheli - but they both run a heavily modified version of blheli designed to work with emax's stick commands and programming card rather than blheli suite. (And a few other internal changes that the blheli developers find somewhat "odd".)

Both types can be reflashed with "real" blheli, but they will need to have the resistor/cap on the servo line removed to use the 1-wire interface methods. Alternatively since they're both silabs based ESC's they can be programmed through a programming harness soldered to their programming pads.


As for the issues you're experiencing. It's worth noting that TimeCop (the designer of the Naze32 and original author of BaseFlight) has made a number of comments poking fun at people who still consider calibrating ESC's to be necessary. With blheli and simonk the default settings should work without calibrating since they both default to 1000-2000 (or for "oneshot" 125-250) which is what pretty much all current FC firmware is setup to output. Of course emax doing their goofy stuff...who knows just what kind of defaults they ship with. But the point is with modern ESC firmware it's better to not deal with "stick programming" and instead to just setup the firmware to use 1000-2000 or 125-250 and configure your FC firmware to match. Sick programming makes sense when you're actually using a stick and dealing with one ESC.

The idea of "calibrating" ESC's individually by hooking them to a RX really is silly on a multirotor. The reason is a lot of people forget that the signal from the RX means squat to the ESC on a multi. It's the signal from the FC. And since that's setup in firmware it doesn't matter what the range is from your TX/RX the signal range is instead controlled by the min/max values programmed into the FC. So if you really MUST calibrate ESC's on a multi it really should be done through the FC and not by hooking ESC's up to your RX.

However - you raise another good point. And that's the confusion caused by the term "oneshot" which is really two separate things. It's important to remember that "oneshot" was originally developed as "oneshot125" which is a far more accurate name since "oneshot" and "125" are the two things that make up the difference between traditional ESC signals and "oneshot" signals. SimonK (and TimeCop once he finally accepted this into Baseflight) use the terms "SyncPWM" and "FastPWM" which are somewhat more descriptive.

The first part "SyncPWM" or "oneshot" is a change in the firmware of the flight controller and not an actual change in the ESC firmware. It syncs the PWM output to the main control loop of the FC rather than running it as it's own loop which can result in the two loops getting out of sync and introducing latency. (that's a really dumbed down description to save space/time - I've explained it in more detail in a few past posts that search should turn up.) Basically though SyncPWM/Oneshot means that your FC is updating the signal to the ESC as soon as it gets new data from the gyro instead of waiting on another loop to complete which can cause the gyro data to go stale.

The second part "FastPWM" or "125" is that instead of using a 1000-2000 microsecond (microsecond (one millionth of a second) is abbreviated as "us" online because the real abbreviation "μs" is kind of hard to type :D) range for the PWM signal to the ESC instead that is divided by 8 to get a 125-250 us range. This basically means you can send up to 8 updates in the time it used to take to send 1 update resulting in faster updates sent to the ESC.

Put the two together and you get "oneshot125" which allows syncing the ESC and the FC much tighter resulting in a measurable reduction in the time it takes for the multirotor to react to changes detected by the gyros giving high performance when properly tuned.

So when you enabled "oneshot" in baseflight the only change was to how the FC managed it's internal loops and decided when to send updates to the ESC. When you enabled "FastPWM" you actually enabled what most people think of as "oneshot" with 8 times faster PWM signals...and it seems your ESC's aren't happy about that.

Dont get me wrong, i really like the emax escs i purchased from Flitetest and plan to keep flying them in my Versacopter till i get some Lumeniers. Then use them in other smaller builds :)

For the price the emax ESC's are great and I'm really glad to see FT carry them. I just wish they would be a bit more honest with their naming as the "SimonSeries" don't run simonK and the "Blheli" series don't run what most people think of as blheli. Emax does seem to be trying to do the right thing(s) overall though and getting better with time.

Really without damped light oneshot (with or without FastPWM/125) doesn't make that big of a difference. I've measured the difference and damped light/regen/whatever simonk calls it makes a MUCH bigger difference by itself than oneshot does with or without damped light. Having full oneshot125 and regen does make for a very noticeable difference that can be measured.

Even without oneshot/fastpwm/regen just plain vanilla blheli or simonk is a bigger improvement over a standard stock ESC than all three being enabled. So there's really no need for people to feel like they need to rush out and get new ESC's.

And reflashing the emax ESC's with "real" blehli isn't very hard. I have a set of the original simonseries on my nighthawk 250 - I've put off reflashing them because they don't have fast enough FET's to use regen and oneshot without regen just isn't worth the hassle of tearing that build apart to reflash. But I also have a new nighthawk 280 with the 4 blheli series ESC's built into the mainboard - and I'm really getting tempted to reflash them to get blheli 14 on them instead of emax's goofiness. I'm just scared since I've yet to find anyone else who's flashed them and if anything goes wrong I'm out a $60 FC/ESC combo board instead of just 1 ESC :D

I haven't flown the 250 in awhile though...maybe I should give in and tear it apart to write up an article showing how to use an arduino to reflash them since quite a few FT fans are probably going to be curious.....It's the same basic procedure as doing it to the newer blheli series ones that FT sells and those can do damped light (I even planned on using them on one of my builds until I was gifted some KISS ESC's)
 

MototechRyan

Wannabe Jedi
Thanks jhitesma. I really appreciate and learned alot from your post. Didnt know the simon series were the old ones and mine came labled as blheli so i got the newer ones. Sweet.

My esc's definitely needed to be calibrated. The motors would all start spinning at different throttle openings and at one point one would not stop spinning when the throttle was fully closed. After calibrating they all start spinning at the same throttle opening and my quad definitely responds better to throttle level changes in flight.
 
Last edited:

jhitesma

Some guy in the desert
Mentor
Thanks jhitesma. I really appreciate and learned alot from your post. Didnt know the simon series were the old ones and mine came labled as blheli so i got the newer ones. Sweet.

Yeah, I don't think FT ever sold the original "SimonSeries" versions.

My esc's definitely needed to be calibrated. The motors would all start spinning at different throttle openings and at one point one would not stop spinning when the throttle was fully closed. After calibrating they all start spinning at the same throttle opening and my quad definitely responds better to throttle level changes in flight.
[/quote]

Again..yeah...I'm really not sure why emax does a lot of what they do to their version of blehli as it's a definite step back in many ways. TimeCop was mostly talking about when using things like KISS or freshly flashed "real" blheli or simonk that there's generally no longer a need to calibrate ESC's. And that calibrating by connecting straight to a RX pretty much defeats a lot of the point of calibrating in the first place.

As for emax it seems like they want to have a traditional ESC that they're used to supporting in their usual ways...but they want to be able to call them simon or bl because that's what everyone wants. I suspect they're having a bit of a culture clash internally and I know from trying to talk to them about issues with the VTX on my nighthawk 280 that they have external language barrier issues.

But they do seem to want to be responsive to the community and are trying - releasing their code was a big plus and I suspect it ruffled some feathers internally. Their hardware really is impressive for the price IMHO and it's good to see them trying to do things the right way so I like to support them and enjoy seeing FT carry some of their components.
 

gantmeon

Junior Member
jhitesma;238196 The idea of "calibrating" ESC's individually by hooking them to a RX really is silly on a multirotor. The reason is a lot of people forget that the signal from the RX means squat to the ESC on a multi. It's the signal from the FC. And since that's setup in firmware it doesn't matter what the range is from your TX/RX the signal range is instead controlled by the min/max values programmed into the FC. So if you really MUST calibrate ESC's on a multi it really should be done through the FC and not by hooking ESC's up to your RX. However - you raise another good point. And that's the confusion caused by the term "oneshot" which is really two separate things. It's important to remember that "oneshot" was originally developed as "oneshot125" which is a far more accurate name since "oneshot" and "125" are the two things that make up the difference between traditional ESC signals and "oneshot" signals. SimonK (and TimeCop once he finally accepted this into Baseflight) use the terms "SyncPWM" and "FastPWM" which are somewhat more descriptive. The first part "SyncPWM" or "oneshot" is a change in the firmware of the flight controller and not an actual change in the ESC firmware. It syncs the PWM output to the main control loop of the FC rather than running it as it's own loop which can result in the two loops getting out of sync and introducing latency. (that's a really dumbed down description to save space/time - I've explained it in more detail in a few past posts that search should turn up.) Basically though SyncPWM/Oneshot means that your FC is updating the signal to the ESC as soon as it gets new data from the gyro instead of waiting on another loop to complete which can cause the gyro data to go stale. The second part "FastPWM" or "125" is that instead of using a 1000-2000 microsecond (microsecond (one millionth of a second) is abbreviated as "us" online because the real abbreviation "μs" is kind of hard to type :D) range for the PWM signal to the ESC instead that is divided by 8 to get a 125-250 us range. This basically means you can send up to 8 updates in the time it used to take to send 1 update resulting in faster updates sent to the ESC. [/QUOTE said:
You are right, i can't agree with you anymore www.coquegsm.com
 
Last edited: