Controller Setup


This wiki is outdated, use

Controller connection


First connect phase wires and halls as shown on schematic.
Connect also battery supply and throttle, brake is optional.
At first power up controller will start automatically.
For navigation use middle buttons, to enter or edit parameter - right button, exit or undo change - left button.
After you finish setup do not forget to Save settings! Otherwise old settings will be loaded at next startup.

New documentation site:


Fast setup for throttle, brake and motor.
Select required controller from device-list and go to directory Auto-setup.
If you have connected throttle and analogue brake, you can run Full setup and follow instructions shown on screen. The corresponding lines will indicate when it is necessary to press the throttle or brake.
ATTENTION! When setting up halls, motor rotates in both directions, be careful with the pedals on the bike.
If you have only throttle, you need to turn on every parameter manually step-by-step: Throttle, Motor, Angle correction. When you enable, after apply, hint will be displayed.
Before auto-setup it is recommended to specify correct pole pair number in motor parameters!
If motor heavy and auto-setup does not happen, you can increase Setup current, for example twice.
If motor spins in wrong direction you can change any two phases or in Motor setup change Spin direction.
Motor will spin 5 times, one at motor detection and 4 times at angle correction.

Updates and settings

Import config. - loads configuration from file NCconf.cfg/NCconf2.cfg/NCconf3.cfg… up to 9 different configurations can be saved.
Export config. - saves current controller configuration to file NCconf.cfg/NCconf2.cfg/NCconf3.cfg… up to 9 different configurations can be saved.
Reboot - reboots controller. If controller settings wasn't saved, it will load last saved configuration.
Reset Wh usage - resets consumed Watt-hours in controller.
Reset stats - resets trip distance.
Load defaults - loads default settings but doesn't save them, if you restart controller without save it will load last saved configuration.
Erase data storage - sometimes needed after update, in case when controller doesn't saves new configuration.
Update firmware - starts firmware update (firmware).

Control modes

In section Controller - Control modes you can save three modes of motor operation and select these with 3-position switch or with display buttons.
If you don't have switch, mode 1 used by default. If your switch connected to display, you need to setup Display buttons.

At line # Selected mode: you can see currently active mode.

  • N - neutral
  • S1 - speed 1
  • S2 - speed 2
  • S3 - speed 3
  • RV - reverse

Modes setup

To configure 2nd mode:

  • Phase 2 - maximum phase current.
  • Battery 2 - maximum battery current.
  • Speed 2 - maximum speed.

Battery n parameter have a boost mode, which allows you to briefly exceed the battery current settings specified in the Battery setup.
Boost is activated when the battery current exceeds the setting in the Battery setup.
Boost is activated for 5 seconds, followed by a minute cooling.
The next boost can be used when the active value of the battery current drops to the average value specified in the battery current settings.

Parameter Speed n determines the speed % depending on the reference speed setting (check speed setup).
When speed set over 100% it activates field weakening mode, that lets you to increase motor speed more than supply voltage (but not more than 95V of hardware limit), check Field weakening setup.

In general, it is recommended to setup the value of the phase current in 1.5-2 times higher than the battery current.
The rest of the presets are configured in the same way.

Electric brake setup

Braking phase - specify phase current for braking.
You can also activate Active braking in menu Control to make motor stop at 0 speed.
If you are using switch brake, lower brake current change speed makes it more smooth.

Braking phase at speed control

Lets you to decrease speed when you release a throttle.
Works only with direct drive motors, without clutch.
Braking ph. at speed = setup phase current of braking when you need to limit speed.
Also to use this mode, should be selected:

  • Control - Throttle mode = Speed or Speed+torque
  • Control - Speed lim. at 0% throttle = (optional) enable if you need braking with completely released throttle.

Reverse setup

It is activated by a separate button, in the settings you must specify Speed reverse and Phase reverse.

Field weakening setup

The function is similar to the 120% mode of Infineon controller.


  • For one of modes specify Speed more than 100%, for example Speed 3 = 120%
  • Field weakening - specify weakening current, you can start with 30A

Field weakening is turned on when the maximum speed is reached, the controller adds the weakening current, limited to the specified phase current and the weakening current. If the phase current = 70A, the weakening current is 30A, than it means that in the settings of the phase current there should be at least 100A. If the phase current increases to 80A, then only 20A will remain for weakening, since 80A + 20A = 100A.
Also, controller will limit the rotational speed of the motor so that its effective EMF does not exceed the maximum supply voltage of the controller (not the battery). If the motor started to twitch on the free wheel, then it is necessary to reduce the weakening current.

Current change speed

Three parameters that determine the rate of current change (smoothness). The higher the value, the faster the current will increase in the motor.
For conventional brake levers, it is useful to reduce the parameter - braking for smoother activation of regenerative braking.
If the response to the throttle seems too slow, you need to increase the parameter - acceleration.
The - shutdown parameter determines how quickly the current drops after throttle and brakes are released.

Advanced control modes

Controller - Advanced modes
In this menu you can activate advanced control modes with parameter Enable adv. modes.
Neutral by default - activates neutral mode at controller startup till one of speed modes is activated. Recommended to use with speed buttons (not switch). Doesn't work with 3 position switch setup (S1of3 and S3of3 port setup). In neutral mode throttle and PAS disabled, only brake works.

Every speed mode (S1, S2, S3) have it's own menu with these parameters:

  • Throttle mode - check setup throttle mode
  • Acceleration lim. and Deceleration lim. - (ERPM/s) allows you to limit speed of acceleration/deceleration, useful on slippery surface. To setup value go to menu Status flags, there is two parameters that saves maximum real acceleration and deceleration, Reset status flags and make a ride to check current values of acceleration. You can use these values as reference and decrease if you need to limit change speed.
  • Reverse - activates reverse mode.
  • Cruise - enables signal of cruise activation, useful with combination of cruise mode Allow throttle hold to enable cruise by throttle only on certain modes.
  • Disable motor - completely disables motor control.
  • Disable throttle - disables throttle control.
  • Disable PAS - disable Pedal Assist.
  • Active braking - allow brake to use battery for stopping.
  • Speed lim. at 0% throttle - allow to limit speed when throttle completely released.


Controller - Control
In this section you can setup control sources for motor, like: throttle, Torque and PAS sensors, cruise control and etc…

Control source

You can connect controls to controller or display. Or even both, in the same time, this is necessary in the case of configurations Torque / PAS sensor + throttle.

  • Auto - all sources will control the controller. Built-in and external, connected via CAN bus (eg display).
  • Embedd - only what is connected directly to the controller.
  • Remote - only control via CAN bus.
  • Disabled - disables any control of the controller.

Throttle control mode setup

There are 3 possible Throttle modes:

  • Speed - as in Infineon controllers and non-programmable low-cost controllers, characterized by using the maximum current to reach a given speed
  • Torque - throttle controls phase current
  • Speed+torque - combined mode, as Kelly

In the case of Speed+torque, pressing throttle to 50%, when achieved 50% speed, the current consumption will be reduced to hold speed.
The acceleration current will also be proportionally lower.

Throttle and brake voltage range setup

Currently, voltage settings for all throttles and brakes are common.
# Throttle - shows the voltage of throttle connected to the controller.
Throttle min, Throttle max - range of the throttle. When exceeding max. value by 5% - protection against a broken throttle will be activated.

# Brake - shows the voltage of brake connected to the controller.
Brake min, Brake max - range of analogue brake.
Invert brake - inverts the voltage value from the built-in brake. It can be useful to turn it on when a brake handle with reverse voltage is connected to the display, but you want to use Auto control source.
The digital brake handle (i.e. button) can be connected to the display, check Display buttons setup.
Active braking - allow brake to use battery for stopping.
Brake at overheat - allow full torque braking when motor overheated.

Cruise control setup

There are several cruise modes, determined by the parameter Cruise.

  • Button - at button press. The response time of the button is determined by the parameter Cruise EN time.
  • Switch - when the switch is turned on, time is not used.
  • Throttle ​​hold - when you hold throttle a certain time in one position. The response time is determined by the parameter Cruise EN time. Accuracy is set by parameter Cruise by throttle. Accuracy is necessary because when driving, throttle moves a little because of shaking. The default is 2%.
  • Allow Throttle ​​hold - similar to the previous one, with the difference that in order to activate cruise, you also need to turn on cruise switch.

Cruise level - selects what speed cruise will use:

  • Throttle - cruise speed depends on throttle position
  • Speed - cruise enables when Safe acceleration reached, after that uses current speed as reference.
  • Mixed - if controller cant use speed reference, uses throttle value.

Safe acceleration - limits acceleration speed where cruise can be enabled.

If the cruise button is connected to the screen, then you need to configure it in Display buttons.

What turns off cruise control:

  • Any brake press, analog or digital
  • Repeated throttle press
  • If a switch is used - when it's disabled.
  • Reverse enable

Setup 100% speed value

Speed mode lets you to choose how 100% speed works:

  • OFF - completely disables speed control PID
  • Middle U bat - average value from min/max battery voltage used as speed reference, depending on motor kV.
  • U supply - supply voltage used as speed reference, depending on motor kV.
  • Ref. speed - speed in kph, should be set with parameter Reference speed, speed value taken from motor speed or speed sensor connected to controller.
  • Ref. ERPM - speed in motor electric RPM, should be set with parameter Reference speed

Speed ref. filter - selects the filter mode.
For the throttle modes Speed and Speed+torque a speed reference filter is applied, for a smoother response to the throttle change.
The filter takes a difference between the previous speed request and the current one, multiplies the error to the power 1,2,3 (linear, quadratic, cubic respectively) and multiplies by the coefficient. The resulting value is used as the cutoff frequency of the low pass filter. The greater the change - the faster the response to it.
Filter factor - sets the filtration coefficient

  • Speed lim. at 0% throttle - allow to limit speed when throttle completely released. If disabled - speed control disables when throttle released.

PAS setup

PAS connected to controller port P1/P2. (one or two-wire)
PAS unlike Torque sensor controls the throttle by frequency and not the rotational force.

Section Controller - Control - Pedal Assist Sensor:
PAS = Disabled\PAS sensor\Torque sensor
PAS connection = 1-wire\2-wire (for encoder mode use 2-w)
Invert PAS - changes the right direction for a 2-wire connection
PAS poles - number of pulses per pedal revolution
PAS min freq. - the minimum pedal speed at which the motor will be activated
PAS max freq. - the maximum pedal speed at which the motor will be activated for 100%
# PAS freq. - shows PAS speed in real time
PAS timeout - the time after which the motor is turned off after stopping the rotation of the pedals
PAS filter - smooths control signal for smoother operation
PAS min out - minimum control level when PAS is running
PAS max out - maximum level of control. By analogy with the "pressed" throttle, PAS sends a signal within the specified limits.

Next settings related to the pressure sensor (Torque sensor)
Pressure scale - Nm/V. You can calibrate by placing a load on the pedal and calculate the torque on the shaft through the lever.
Zero pressure - zero pressure in volts
Torque averaging - period for which is torque value updated. Measured in half turns. If the torque sensor measures only one pedal, then the period must be a multiple of two.
# Torque - shows the current torque at the sensor
# Human watt - shows pedaling power, averaged.
Human watt min - minimal human power for motor activation.
Human watt max - maximum level for 100% activation.
Instant Torque - allows torque sensor activation without rotation.
The pressure sensor also includes frequency configuration and output level configuration as well as the usual PAS.

Motor setup

Motor t°-sensor

Section Controller - Motor setup - Motor t°-sensor
You can select a temperature range in which a smooth power limit will occur (parameter Delta °t) and specify °t max. It is recommended to install temperature sensor so close as possible on the stator windings, while not in contact with the stator iron. If you do not know what kind of sensor is in the motor, you can check all the options and choose the one that most closely to room temperature. Measured temperature is shown below. You can choose from sensors KTY81(82), KTY83, KTY84, NTC10K (B:3950),NTC10K (B:3380), PT1000. To turn off temperature control, select OFF


Section Controller - Motor setup - Clutch
Here you can set up a smooth motor start for soft engagement of the clutch or freewheel. Useful for gear motors or mid-drives.
Currently it works well only in the throttle mode Torque, since clutch there is always engaged. Another way is to setup acceleration limit on motor in advanced modes.

The parameter Mode determines the way of operation:

  • Accelerate - smoothly accelerates the motor until the load appears
  • Accelerate and hold - in addition to the previous one, it applies weak torque to the motor after the throttle is released, this mode allows you to switch speeds at mid-drive systems without using the pedals.

Start time - maximum time for soft start
Start current - is the phase current of the motor at which the load will be detected and the soft start is disabled. This value must be higher than the phase current for specified acceleration of the motor without load.
Detection time - the time during which the load must be present, after which the soft start will be switched off.
Acceleration - value in volts/seconds. The higher the value, the more you need to specify Start current, since the motor will consume more current during acceleration.
Hold 20-80% - two parameters regulating the phase current supplied to the motor in the mode Accelerate and hold. 20% - current at low speeds, 80% - current at about-maximum speed. It is possible to determine the approximate values ​​by the no-load current of the motor.
Hold enable time - after how much time after the throttle has been pressed, torque hold will become available.
Hold time - how long torque will be applied after releasing the throttle.

TIP: Optimal setup for MAC motor: Accelerate, 15А, 50V/s, 200ms.

Manual angle setup

In this section you can manually change hall sensor angle.
Offset for square - additional shift for square wave mode.
Offset total fwd - shift all halls by the specified value for the direct rotation of the motor.
Offset total bkwd - shift all halls by the specified value for the reverse rotation of the motor.
To shift all halls, press enter, enter the angle of shift, press enter again.
The value will reset and the angle of all halls will change to the specified value.
You can change the angle of the hall in the opposite direction, setting a negative value.
Reset angles - clears all hall angles.
Integration threshold - analogue of the halls angles for the sensorless control mode.

Hall table

Here hall index and angles are specified for forward and backward direction.

Motor parameters

Pole pair - used to calculate RPM and speed. For more accurate auto-detection of angles, you need to specify the correct value, you can see in motor information table.
Spin direction - you can change the direction of rotation by default. Or swap two phases.
Integration threshold - analogue of the halls angles for the sensorless control mode.
Control mode - currently the controller has the following motor control modes:

  • Square
  • Sensorless - motor control using BEMF integration, parameter Integration threshold is used. It is rather insensitive to tuning, but more accurate tuning may be required for high speed motors (such as RC). At the moment, the sensorless does not have a start-up algorithm, it works stably only at some speed. Hall setups starts with sensorless mode.
  • Combined - start on the halls, then switch to the sensorless, the threshold is determined by the parameter From hall to s-less (1 rad / ms = 9549 erpm)
  • FOC - field oriented control
  • Hz - 3Ф square with fixed frequency
  • Sine Hz - 3Ф sine with fixed frequency

Parameter Control mode loaded at start-up and can be saved.
Parameter Control mode now switches the control in real time, it is not saved.

Interpolate halls - smooth change of the hall angle based on speed. Used for FOC mode
Interpolation start - the motor is always started from a discrete angle, if digital halls are used. After the specified speed, the angle starts to change smoothly.
Boost square current, Boost current and Boost speed - in the sensorless or square mode, applies 100% PWM at the beginning of each windings switch. Starting from specified speed and minimum requested current.
Max motor U - limits voltage supplied to the motor. In most cases, this parameter is not needed.
kV - electric revolutions per volt


Section Controller - Battery, here you must specify the range of the supply voltage and current.
Full charge - delta voltage relative to the maximum, at which when the controller is turns on, will reset the watt-hour consumption
Supply min-max V - battery voltage range. Also used for Converter mode. For a lithium ion, it can be considered a minimum = 2.8V*S, a maximum of 4.2V*S. For LiFePO4 minimum 2.5V*S, maximum 3.6V*S.
Charge max - maximum battery charging current, during regeneration or in Converter mode.
Discharge max - maximum continuous discharge current of the battery, but in boost mode it can be more, check Throttle control mode setup.


Section Controller - Converter. Here you can configure charging mode from the power supply through the motor. Charging through the inductor is not currently supported.

Enable - turn on the converter mode and starts charging.
Auto-Enable - automatic start of charging when the charging PSU is connected to the controller
Detection threshold - minimum voltage on phases when charger mode activates, also disables motor control.
Battery max I - if no value is specified, then battery settings are used, maximum battery current.
Battery min I - minimum charge current when current decreased by voltage.
Undercharge - voltage relative to maximum battery voltage setup, lets you to decrease full charge voltage.
Current drop delta - decreases charging current down to Battery min I as the battery reaches maximum voltage on specified voltage range.
Supply max I. - maximum power supply current
Supply drop U - allowable voltage drop on wires or power supply
Max motor t° - limits motor temperature during charge.
Below # shows the real time values ​​of voltages and currents.

I/O port configuration

Controller have 8 digital inputs that can be configured for many functions. Also available 8 CAN ports, signal source for that can be display or other device.
In menu Port state you can check input activation when contact shorted to GND.
Speeds mode - selects speed S1/S2/S3 switch mode - with buttons or switches (button mode have latch logic while switch mode should always have input active).

Available port functions:

  • OFF - disable port
  • RV - reverse
  • CR - cruise
  • BK - brake button
  • DM - disable motor (disable throttle, brake and PAS)
  • DTH - disable throttle
  • DPAS - disable PAS
  • SWSNS - input for gearsensor to reduce motor torque (WIP).
  • N - forces neutral mode, resets speed mode counter if used. If neutral by default activated you need to change speed mode again to exit neutral.
  • nBK - inverted brake button input
  • S1 - speed 1
  • S2 - speed 2
  • S3 - speed 3
  • S1of3 - speed 1 for 3х position switch
  • S3of3 - speed 3 for 3х position switch
  • Scyc - cycle speed mode
  • S++ - increment speed
  • S— - decrement speed
  • SPSNS - input for external speed sensor
  • Spec. - special port function (like PWM or PAS)

Setup PWM output

To activate pwm output port P1 or P2 should be set to Spec. mode and PAS disabled.
P1/P2 ports work in open-collector mode, max 5V.
PWM freq - you can choose the frequency of additional PWM output on ports P1 / P2
PWM Pn - chooses mode of operation:

  • Stop-light - activated when the brake is pressed
  • Headlight - activated when the controller enabled
  • t° C motor - activated beyond the two deltas of the motor temperature, as the motor heats up will increase the PWM duty
  • t° C controller - activated from 40°С, maximum value at 80°С temperature of the controller

PWM Pn Min/Max - indicates the output range of the PWM (duty)

Extra parameters

Section Controller- Extra parameters.

Disable button and auto shutdown

Controller turns on when it is powers-up or the button contacts shorts.
There is a button in the display on the back, so an additional switch is usually not required.
In disabled mode, the controller consumes less than 100 μA, so if you reconnect the power without discharging capacitors, controller may not start again.

Disable button selects enable-disable mode:

  • None - controller turns on when it is powers-up or the button contacts shorts
  • Switch - controller turns on when EN shorted to GND, disables when contacts open
  • Button - controller turns on when enable pressed for 2 sec, repeat press to disable
  • CAN - controller turns on when it is powers-up or the button contacts shorts, disables only when other device on CAN bus will send request to disable. Used when there is a several controllers on a system, where one of them set to button or switch mode, and other in CAN mode.

Auto shutdown and Sleep time specify the time after which the controller will turn off if the motor does not spin.
Lock at turn-on - locks controller inputs when enabled untill you enter a password on display, if there is no display this will lead to constant lock.

Speed calculation

Speed calculation - this device will calculate the speed, useful for multi-motor configurations, you can turn off the speed calculation on some motors.
Circle length - circumference of the wheel.
Motor sprocket - setup gear ratio from motor shaft to wheel, also useful for gear motors.
Wheel sprocket - look above ^

If you have a hub-motor, then you need to setup motor pole-pair.
For gear motors or mid-drives, it is recommended to install an external speed sensor that is connected to the display.


Master-controller - for multi-motor configuration one controler can be used as control source, if throttle/brake/etc.. connected to this controller.
Device ID - device number on LEVCAN bus
Limit t° CPU - maximum CPU temperature, limits phase current.

PID regulators

If you do not know what it is and why, it is better not to change it.
Square - phase current regulator for square wave.
FOC - phase current regulator for FOC mode
DCv - voltage regulator on the dc bus
DCi - dc bus current regulator
Speed - speed regulator for throttle modes Speed and Speed+torque
PLL - speed regulator for motor angle interpolation

Additional Information

Section Controller - Debug information shows temperatures, RPM, voltages and currents, as well as regulator values.
Section Controller - Status flags displays errors that may occur during operation.
Section Controller - Device information can show you the version of the firmware and bootloader as well as the maximum parameters for this model of controller and it's lifetime statistics.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License