PWM, OneShot125, OneShot42 and Multishot comparison

Two years ago it was simple: you wanted to connect ESC to Flight Controller or radio receiver, you were just doing it. There was only one (maybe 2) protocols that allowed to pass information to ESC. It was standard PWM protocol. And it was enough. No, with faster hardware, mini or even micro quads, this one protocol is not enough. So, we also have OneShot125, OneShot42, and Multishot. Should we care? A little.

  • Legacy ‘Analog’ PWM signal – this protocol is not used in multirotor world. It is supported only by extremely limited number of ESCs and radio receivers. 0% PWM duty cycle means ‘Stop’ and 100% PWM duty cycle means ‘Full power’. Modern UAV pilots/builders should not take about it at all. Interesting fact is that BLHeli supports it as PWM Input option that is disabled by default.
  • ‘Standard’ PWM signal – I’ve previously described this protocol here. To recall: protocol encodes requested output as a length of a pulse. Pulse length of 1ms means ‘Stop’ and pulse length of 2ms means ‘Full power’. Because of this, maximal theoretical update frequency is 500Hz (490Hz in practical applications). Signal delay in case of PWM protocol is 2ms. It means, that ESC can start to update output 2ms after flight controller started to send this information. All of that makes PWM rater slow, and using looptimes below 2000us (refresh rate 500Hz) makes no sense.
  • ‘OneShot125’ protocol – this protocol uses 8 times shorter pulses than standard PWM protocol: from 125us (stop) to 250us (full power). That means 2 things: it allows for 8 times faster PID control loop update rate (looptime 250us / 4kHz update rate). It also has 8 times shorter signal delay: only 250us instead of 2000us. Currently, OneShot125 is the minimum for mini quads. Even bigger machines will appreciate smaller delay. Supported by most flight controllers and ESC (SimonK, BLHeli, KISS, other). If both Flight Controller firmware and ESC supports OneShot125, it should be used.
  • OneShot42 is 3 times faster version of OneShot125. Max 12kHz update rate and 42us signal delay. It was developed by Flyduino as part of KISS FC and ESC ‘program’. Not widely supported yet.
  • Multishot – the fastest ESC protocol in this comparison, developed by RaceFlight, allows for 32kHz update rate. It is almost 10 times faster than OneShot125 (80 times faster than PWM). Requires both fast FC (preferably STM32F4) and fast ESC (Silabls F390 preferably). Not widely supported mainly because of limited number of ‘Multishot ready’ ESCs. And it has fancy startup melody too… man….

5 thoughts on “PWM, OneShot125, OneShot42 and Multishot comparison

  1. There should probably be a part2 – what is REAL difference, i.e. why should I care about those refresh rates and how they affect performance.

  2. sounds like one shot 125 will work for any average fpver to advanced and most average flyers wouldnt even notice the f4 chipped FC are basically the fastest a human eye can react anyway…F7 is the next chip in line and we wont even touch what that thing is capable of.. one shot capable esc usually are 125, 42 and mutishot enabled. so basally oneshot esc will be good to go for the next 5-7 yrs..till we are all robots with lighting fast reactions that makes any faster noticeable, or tune-able even for us, average joes..lololol.. dont forget to have fun too!

Leave a Reply

Your email address will not be published.