I've just started a project "Sensorless BLDC Motor Controller: Modular System" on Kickstarter. It is open source hardware/firmware project. https://www.kickstarter.com/projects/946939931/sensorless-bldc-motor-controller-modular-system Event driven finite state machines (FSM) approach was used for this sensorless BLDC motor controller firmware. The programming language is C and there is no operating system. It was implemented by myself from scratch based on the well known motor control, other algorithms and the firmware is a totally open source product. What the implemented firmware can do? Uses a 31.25 kHz symmetric PWM scheme to better detect BEMF zero crossing 12-bit ADC configured as a window comparator makes more error prone zero crossing detection, especially on a start Initial Position Detection (IPD) algorithm was implemented based on Variable Inductance Sensing Method A rotor revolving direction can be changed any time on a fly, that can be used for "reverse braking" Safety stop when a motor stalled Motor speed control (start, stop, up, down, duty cycle %) and obtaining a real time telemetric data (speed, voltage current) using serial UART interface configured for 460800 bps Motor speed control using standard 1...2 ms PPM of remote control (RC) devices I hope it can help an engineering community. Thanks.