For some reason I have a passion for cheap speed controllers. In searching the web I noticed there are a bunch of affordable and pretty high quality brushless ESCs. I went scouring the web for firmware to convert the brushless ESCs to to a brushed, but came up empty handed. All brushless ESCs contain the necessary hardware to perform the task of being a brushed ESCs but finding firmware to convert the ESC for this purpose is super hard to come by.
My guess as to why this is, is that the leading firmware options for brushless ESCs are all written in assembly. This is done to maximize the performance of the very tiny micro controller that runs on the ESC. Unfortunately, assembly code is very low level and hard to modify. Seeing as the task of controlling a brushed motor is much simpler than controlling a brushless one, I felt there was room to write a branch of controller firmware that was entirely in C and could be easily modified.
Introducing MegaBrush, a simple C based firmware for SimonK and BLHeli ESCs that allows for high performance control of brushed motors. MegaBrush includes programmable RC Max and Min values as well as a reliable deadband at the center of the stick. MegaBrush also includes safety features such as failsafe power off and no-start out of deadband.
MegaBrush is very easy to install for ESCs running the SimonK or BLHeli bootloader. You can program the ESC using any popular ESC programming tool. In addition you can always easily flash back to SimonK or BLHeli at any time.
The primary ESC I developed this firmware for is the KingKong 12A Opto. This speed controller can be purchased from HobbyKing for about 5 dollars. This controller comes pre-loaded with the SimonK Bootloader and can be easily flashed using the the standard BLHeli flashing app.
I am working to add support for other ESCs as well as improve the overall featureset of MegaBrush.
You can download MegaBrush here: https://github.com/amcchord/MegaBrush