Proshot is a new ESC protocol that encodes DShot using PWM pulses. In theory there might be some benefits in using Proshot over DShot. However whether or not it makes a noticeable difference and overweight the downsides, that’s another question.
Benefits and Downsides
- Less CPU utilization because it sends only 4 pulses per signal rather than 16 pulses each signal
- Easier for microcontrollers to read without DMA, allows a wider range of MCU to work
- The wider pulses allows Proshot to use filtering capacitor on the signal line to reduce noise
- Allow higher update rate than DShot thanks to the shorter signal width, but the downside is you can’t go too fast without removing the filtering capacitor again
Possible downsides and questions with Proshot:
- As we mentioned, the PWM pulses in ProShot would be more prone to noise, not to mention the increased number of pulse states. But since filtering caps are possible and recommended maybe it would make that up
- However, Proshot might not be suitable for high speed. Because it’s prone to noise and yet we can’t use filtering capacitor at high update rate (which might mess up the signal, that’s why we have to not use caps for DShot)
- Anyway, is faster ESC protocol than DShot really going to bring noticeable improvement to the performance of a quadcopter? And by the way, there is still room to make DShot faster (faster than DShot1200) if we want to… (DShot3600 has been tested by Felix from Flyduino) So is Proshot necessary or just a waste of time?
How does Proshot work?
Proshot is a generalization of DShot ESC protocol which encodes the 16-bit DShot signal into 4 PWM pulses, each pulse contains 4 bits of data. Therefore the overall packet can be made shorter and allows it to be transmitted at a faster rate.
Some argued that because it’s using PWM pulses it’s not strictly speaking a digital signal, but an analogue signal that is encoding digital values.
The author replied saying that since the PWM signal has a finite number of states (16 states to be exact to represent a hexadecimal digit), it is technically a digital signal similar to DShot, which has 2 states in each pulse. And ESC calibration wouldn’t be required just like DShot.
At the moment, this is just an interesting concept for a new ESC protocol, whether this will be made available depends largely on BLHeli and KISS developers (the main ESC devs). But that’s what I like about this hobby, we have some very talented people that are always having new, innovative ideas and willing to share with the community.
Video by the author explaining the idea behind Proshot.
What’s your thought on this idea?
Update (Aug 2017) – ProShot1000 landed in Betaflight
ProShot1000 appeared in Betaflight Configurator BF3.2 RC3, as an option in ESC protocol drop down box. But as far as I know there is no ESC on the market that support ProShot1000 yet, so I guess we are not just waiting for someone to write the code for it.
The number 1000 indicates the speed of the protocol, which is faster than DShot600 but slower than DShot1200.