I'm developing the control software for my own ESC and recognized the need for a simulation model so that I can run my algorithm against it, so that I can see the effect of a variety of issues. Looking around the web, I saw that some simulators exist for BLDC's, but they use matlab (not free), or do a simulation with some start algorithms but do not easily allow these to be tweaked when running.
So I went out to build my own simulator in python, licensed under MIT, for which I'm looking for people who'd like to contribute to make it better:
It's not finished or validated, so use with care. Also, I'm by no means an electrical or BLDC engineer, so some of the parametrization or formulas may not be correct.
The idea is that anyone can simply pick up this BLDC motor simulator and easily plug in their controllers and see the responses or how well it tracks certain parameters. For that reason, there's a "controllers" folder where you can store different implementations of your controllers. At startup you select which controller to use against the motor. The wiki explains more of the details.