About the project

  1. about this documentation in HTML
  2. License

Development tools

  1. Linux
    1. Step-by-step tutorial development tools
      1. Tools to build the firmware
        1. stm8-binutils-gdb
      2. Tools to flash the firmware
        1. How to erase and unlock protected read memory
      3. Hardware tools to flash and debug the firmware
      4. (optional) Tools do flash and debug the firmware
      5. (optional) Tools to debug using serial port
      6. (optional) Tools to see diffs on the source code
  2. Windows
  3. C library
  4. Other tools
    1. Battery voltage boost step-up converter

Motor controllers

  1. BMSBattery S series
    1. BMSBattery S06S
      1. S06ST (torque sensor version)
      2. S06S-BL (Bluetooth version)
      3. PWM signals
        1. very low speed - 6 steps
        2. low speed up to max speed - sineware
      4. Phase B current signal
      5. Throttle
    2. BMSBattery S12S
      1. Programming header
      2. PWM signal at max speed - sineware
      3. Phase B and motor total current signals
    3. BMSBattery bottle battery controller
    4. LCD control panel
      1. LCD protocol
    5. Bluetooh
      1. DIY Bluetooth module
    6. How to open the controller and solder the programming header
    7. Hardware mods
  2. Other controllers
    1. BMSBattery S06P
      1. various info
        1. 01
        2. 02
    2. Kunteng 18 mosfets motor controller
    3. Lishui motor controllers
      1. LSW-675
        1. Datasheets
        2. PWM signals
    4. JinHui motor controllers
  3. GreenEBikeKit


  1. BMSBattery Q75
  2. BMSBattery Q85
  3. BMSBattery Q100
  4. BMSBattery Q100C

Torque sensors

  1. BMSBattery torque sensor

Datasheets and application notes

  1. STM8S105C6T6
    1. Interrupts

Motor control

  1. Torque speed
  2. Motor control scheme of S06S controller
  3. BLDC 6 steps
  4. PWM schemes
    1. So, Which PWM Technique is Best? (Part 1)
    2. So, Which PWM Technique is Best? (Part 2)
    3. So, Which PWM Technique is Best? (Part 3)
    4. So, Which PWM Technique is Best? (Part 4)
    5. So, Which PWM Technique is Best? (Part 5)
    6. So, Which PWM Technique is Best? (Part 6)
    7. So, Which PWM Technique is Best? (Part 7)
  5. PWM control and Dead Time Insertion
  6. Low inductance motors
  7. Throttle Control Modes
  8. Phase angle FOC
  9. PWM frequency VS motor eRPM
    1. Max motor speed using FOC
    2. Kelly controllers ultra high speed
  10. Sinusoidal Control of BLDCM with Hall Sensors Based
  11. Self-Learn Hall Sensor Calibration Mode
  12. STM8S105 Alternatives
  13. Regeneration
    1. Regen in SimonK firmware


  1. forum messages
    1. 2017.04.25 - Initial forum message
    2. 2017.05.08 - First flash and debug on a dev board
    3. 2017.05.18 - First code flashing and running
    4. 2017.05.20 - more new information
    5. 2017.08.23 - SxxP versus SxxS versus LSW-675
    6. 2017.09.01 - Trying to figure out an algorithm to automatically adjust ui8_position_correction_value
    7. 2017.09.02 - How to do FOC on the BMSBattery S06S/Kunteng STM8 motor controllers
    8. 2017.09.03 - more ideas about zero crossing for FOC
    9. 2017.09.05 - measuring IQ current and manually adjusting position_correction_value
    10. 2017.09.15 - our OpenSource firmware efficiency compared to Lishui 12 FET FOC
    11. 2017.09.19 - measuring motor current
    12. 2017.10.23 - FOC and no FOC comparison
  2. STM8S003 board
  3. 2017.12.01 - Regen ebrake like coast brakes


  1. 2017.05.22 - Hackaday Links: May 21, 2017

Smart BMS with bluetooth

various info

Re: Torque-Sensor Motor w/ Sine-Wave Controller Build
images/3-1.pngby adrian_sm » Sat Oct 05, 2013 8:01 pm
crossbreak wrote:yes they can. But they cannot switch back to sensorless if halls fail. X8M06 can do that.

Just tested a KV195, ~10µH inductance 80cc Rotomax BLDC on the S06P. Does only turn very slowly adn says Error06 after a few seconds. Tested it with a 6Fet X8M06 / KU65, turns till ~660Hz or 40.000 e-rpm but has start-up hassle. Still X8M06 are the best choice e-bike controllers for low inductance motors IMO, at least better than Infineon and the S-Series.

A KV100 motor with 200µH (15 turn N6364 motor) works fine on both S06P and KU65. Could not test the max e-rpm of the S06P. since I have no motor at hand that spins >40.000 e-rpm, except the Rotomax. But this is proof that it does at least 40.000. The S06P has smother start up, but says Error06 if there is only little resistance.

Just ran the S06P & KU65 on my dyno.
S06P had similar Error6 errors every so often with both SK36364-190kv & SK36364-168kv motors, both on the road and on the dyno.
Both controllers heat up a fair bit when they had to current limit.

Here are some images of the phase voltages under a light load, at full throttle, and partial throttle with the S06P.
images/3-2.png s06p - full throttle.bmp (146.3 KiB) Viewed 3759 times
images/3-3.png s06p_partial_throttle.bmp (146.3 KiB) Viewed 3759 times
images/3-4.png s06p_partial_throttle_close_up.bmp (146.3 KiB) Viewed 3759 times


The sine-wave controller is rated at 10-20 amps and is running in sensored mode. It is able to hold a steady speed as low as 3 rpm and smoothly ramps up to no-load speed. It is interesting that there is an audible change at around 130 rpm where it seems that the commutation shifts into a different mode.