VESC Tool Parameters
Most VESC Tool users are not exactly in love with hunting through the app for one setting. This page pulls the help text from VESC Tool and common packages into one searchable table, shows where each parameter lives in the menus, and makes filtered views easy to share.
Search for a parameter, choose the VESC Tool and package versions you are using, and jump straight to the setting you want to understand or tweak.
Enjoy,
Jeroen, SUPzero.ch
| Menu | Name | Min | Max | Default | Suffix | Description |
|---|---|---|---|---|---|---|
| App Cfg ▸ ADC ▸ General | Button Inputs app_adc_conf.buttons | Enable Cruise Control | A cruise control and a reverse button can be used with the ADC app. The reverse button is only used on the control modes that have button in their name, but cruise control can be used on all control modes when enabled. The buttons can be connected as follows: Comm TX: Cruise Control Comm RX: Reverse If the UART app is active the PPM-input is used for the button instead. That means you only have one button, which will be the reverse button for the button-modes (not cruise control available) or cruise control for non-button control modes. By default the button inputs have a pull-up resistor and are active low. Enable Cruise Control Enable cruise control button input. Invert CC Button Invert the polarity of the cruise control button. Invert Reverse Button Invert the polarity of the reverse button. | |||
| App Cfg ▸ ADC ▸ General | Control Type app_adc_conf.ctrl_type | Current No Reverse Brake ADC2 | Off The output is switched off regardless of the input. Current Current control. The output is off when the input is at minimum. Current Reverse Center Current control. The output is off when the input is centered. Input less than center brakes until the motor stops, at which point it it starts in the reverse direction. Current Reverse Button Current control with a button for reversing the throttle. The output is off when the input is at minimum. Current Reverse ADC2 Brake Button Current control with a button for reversing the throttle. The output is off when the input is at minimum. The second ADC channel acts as a brake. Current Reverse Button Brake Center Current control with a button for reversing throttle. The output is off when the input is centered. Input less than center brakes until the motor stops, but not further. Current No Reverse Brake Center Current control. The output is off when the input is centered. Input less than center brakes until the motor stops, but not further. Current No Reverse Brake Button Current control with a button for turning the throttle into a brake. The output is off when the input is at minimum. Current No Reverse Brake ADC2 Current control with one separate throttle connected to ADC2 for braking. Duty Cycle Duty cycle control. The output is off when the input is at minimum. Duty Cycle Reverse Center Current control. The output is off when the input is centered. Input less than center gives negative duty cycle. Duty Cycle Reverse Button Duty cycle control with a button on UART RX for inverting the throttle. The output is off when the input is at minimum. PID Speed PID speed control. The speed setpoint is mapped between 0 and the configured maximum motor speed limit. PID Speed Reverse Center PID speed control. The output is mapped between the minimum and maximum motor speed limits. Throttle center corresponds to 0 speed. PID Speed Reverse Button PID speed control with a button for reversing the throttle. The speed setpoint is mapped between 0 and the configured maximum motor speed limit, or between 0 and the minimum motor speed limit when the UART RX input is high. | |||
| App Cfg ▸ ADC ▸ Mapping | Input Deadband app_adc_conf.hyst | 0 | 1 | 0.05 | % | Deadband region for the input. |
| App Cfg ▸ ADC ▸ General ▸ Multiple VESCs over CAN-bus | Multiple VESCs Over CAN app_adc_conf.multi_esc | 1 | Listen for other VESCs on the CAN-bus and send the same control commands to them. Notice that the application only has to be set up on the master VESC. | |||
| App Cfg ▸ ADC ▸ General | Negative Ramping Time app_adc_conf.ramp_time_neg | 0 | 1000 | 0.1 | s | Negative ramping time constant. This filters the input with ramping. This constant represents the amount of secods it takes to ramp from full output (acceleration or braking) back to zero. |
| App Cfg ▸ ADC ▸ General | Positive Ramping Time app_adc_conf.ramp_time_pos | 0 | 1000 | 0.3 | s | Positive ramping time constant. This filters the input with ramping. This constant represents the amount of secods it takes to ramp from zero to full output. |
| App Cfg ▸ ADC ▸ General | Safe Start app_adc_conf.safe_start | Regular | Prevent motor from starting in some unsafe conditions. Modes: Disabled Motor can always start. Regular Only allow starting the motor when the input has beed zero for long enough after boot, after configuration updates and after faults. No Faults Same as regular, but the motor can start directly after fault codes are cleared. | |||
| App Cfg ▸ ADC ▸ General ▸ Multiple VESCs over CAN-bus | Traction Control app_adc_conf.tc | 0 | Enable traction control between multiple VESCs connected over CAN-bus. This is only is only used for current control modes. | |||
| App Cfg ▸ ADC ▸ General ▸ Multiple VESCs over CAN-bus | TC Max ERPM Difference app_adc_conf.tc_max_diff | 0 | 100000 | 3000 | The ERPM difference at which the fastest motor gets swtiched off completely. If the difference in ERPM is lower than that the current to faster motors is scaled down proportionally to the difference. | |
| App Cfg ▸ ADC ▸ Throttle Curve | Throttle Expo app_adc_conf.throttle_exp | -5 | 5 | -0.5 | Exponential gain for the throttle. Zero (0) Linear throttle Negative (<0) The throttle is softer close to 0 and increases exponentially towards full throttle. Positive (>0) The throttle reacts fast around 0 and decreases exponentially towards full throttle. Increasing the magnitude of this value will increase the exponential effect. The full throttle curve can be seen in the throttle curve plot. | |
| App Cfg ▸ ADC ▸ Throttle Curve | Throttle Expo Brake app_adc_conf.throttle_exp_brake | -5 | 5 | 0 | Exponential gain for the throttle. Zero (0) Linear throttle Negative (<0) The throttle is softer close to 0 and increases exponentially towards full throttle. Positive (>0) The throttle reacts fast around 0 and decreases exponentially towards full throttle. Increasing the magnitude of this value will increase the exponential effect. The full throttle curve can be seen in the throttle curve plot. | |
| App Cfg ▸ ADC ▸ Throttle Curve | Throttle Expo Mode app_adc_conf.throttle_exp_mode | Polynomial | The throttle curve mode. Exponential y = x^(1 + c) Natural y = (e^(cx) - 1) / (e^c - 1) Polynomial y = x / (1 + c(1 - x)) where y: output x: input c: curve The curve parameter, offsets and signs are mapped accordingly for each mode. | |||
| App Cfg ▸ ADC ▸ General | Update Rate app_adc_conf.update_rate_hz | 0 | 100000 | 500 | Hz | Rate at which the input is sampled. |
| App Cfg ▸ ADC ▸ General | Use Filter app_adc_conf.use_filter | 1 | Use a low-pass filter to reject noise. This will introduce a slight delay. | |||
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 2 | ADC2 End Voltage app_adc_conf.voltage2_end | 0 | 3.3 | 2 | V | Input voltage at the end of the throttle range for ADC2. Can be checked by enabling display and giving the maximum input. If Control Type is set to off while doing that the motor won't turn. |
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 2 | Invert ADC2 Voltage app_adc_conf.voltage2_inverted | 1 | Invert the voltage from ADC2. | |||
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 2 | ADC2 Start Voltage app_adc_conf.voltage2_start | 0 | 3.3 | 0 | V | Input voltage at the start of the throttle range for ADC2. Can be checked by enabling display and giving the minimum input. If Control Type is set to off while doing that the motor won't turn. |
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 1 | ADC1 Center Voltage app_adc_conf.voltage_center | 0 | 3.3 | 0.6 | V | Input voltage at the center of the throttle range for ADC1. Can be checked by enabling display and centering the input. If Control Type is set to off while doing that the motor won't turn. Notice that this parameter only is used for the contered control types. For the other types the voltage will always be mapped linearly between start and end. |
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 1 | ADC1 End Voltage app_adc_conf.voltage_end | 0 | 3.3 | 2.54 | V | Input voltage at the end of the throttle range for ADC1. Can be checked by enabling display and giving the maximum input. If Control Type is set to off while doing that the motor won't turn. |
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 1 | Invert ADC1 Voltage app_adc_conf.voltage_inverted | 0 | Invert the voltage from ADC1. | |||
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 1 | ADC1 Abs Max Voltage app_adc_conf.voltage_max | 0 | 3.6 | 3.6 | V | Maximum valid voltage on ADC1. If the voltage is above this value the motor will be stopped and if safe start is activated the throttle must be returned to 0 before the motor is allowed to run again. |
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 1 | ADC1 Abs Min Voltage app_adc_conf.voltage_min | 0 | 3.3 | 0 | V | Minimum valid voltage on ADC1. If the voltage is below this value the motor will be stopped and if safe start is activated the throttle must be returned to 0 before the motor is allowed to run again. |
| App Cfg ▸ ADC ▸ Mapping ▸ ADC 1 | ADC1 Start Voltage app_adc_conf.voltage_start | 0 | 3.3 | 0.6 | V | Input voltage at the start of the throttle range for ADC1. Can be checked by enabling display and giving the minimum input. If Control Type is set to off while doing that the motor won't turn. |
| App Cfg ▸ VESC Remote ▸ General ▸ Coasting Brake | Coasting Brake Level app_chuk_conf.coast_brake_level | 0 | 1 | 0 | Coasting brake level. Brake with this fraction of the braking current when the throttle is released. | |
| App Cfg ▸ VESC Remote ▸ General ▸ Coasting Brake | Coasting Brake Ramp Time app_chuk_conf.coast_brake_ramp_time | 0 | 100 | 1 | s | Time to ramp to maximum coasting brake when releasing the throttle. |
| App Cfg ▸ VESC Remote ▸ General | Control Type app_chuk_conf.ctrl_type | Current | Off The output is switched off regardless of the input. Current Current control. The output is off when the joystick is centered. Positive input gives acceleration and negative input braking. To go reverse the Z button can be used to toggle direction. Current No Reverse Current control. The output is off when the joystick is centered. Positive input gives acceleration and negative input braking. The reverse function of the Z button is disabled. Current Bidirectional Current control. The output is off when the joystick is centered. Positive input always gives forward current and negative current always gives reverse current. This means that when current is applied through 0 speed, the motor will accelerate in the other direction. | |||
| App Cfg ▸ VESC Remote ▸ General | Input Deadband app_chuk_conf.hyst | 0 | 1 | 0.15 | % | Deadband region for the input. |
| App Cfg ▸ VESC Remote ▸ General ▸ Multiple ESCs over CAN-bus | Multiple VESCs Over CAN app_chuk_conf.multi_esc | 1 | Listen for other VESCs on the CAN-bus and send the same control commands to them. Notice that the application only has to be set up on the master VESC. | |||
| App Cfg ▸ VESC Remote ▸ General | Negative Ramping Time app_chuk_conf.ramp_time_neg | 0 | 1000 | 0.2 | s | Negative ramping time constant. This filters the joystick input with ramping. This constant represents the amount of secods it takes to ramp from full output (acceleration or braking) back to zero. |
| App Cfg ▸ VESC Remote ▸ General | Positive Ramping Time app_chuk_conf.ramp_time_pos | 0 | 1000 | 0.4 | s | Positive ramping time constant. This filters the joystick input with ramping. This constant represents the amount of secods it takes to ramp from zero to full output. |
| App Cfg ▸ VESC Remote ▸ General ▸ Smart Reverse | Smart Reverse Max Duty Cycle app_chuk_conf.smart_rev_max_duty | 0 | 1 | 0.07 | Maximum duty cycle to use in smart reverse mode. | |
| App Cfg ▸ VESC Remote ▸ General ▸ Smart Reverse | Smart Reverse Ramp Time app_chuk_conf.smart_rev_ramp_time | 0 | 100 | 3 | s | Time to ramp to maximum duty cycle in smart reverse mode. |
| App Cfg ▸ VESC Remote ▸ General | ERPM Per Second Cruise Control app_chuk_conf.stick_erpm_per_s_in_cc | 0 | 1e+06 | 3000 | The amount of ERPM per second the setpoint changes when giving full joystick input with criuse control activated. | |
| App Cfg ▸ VESC Remote ▸ General ▸ Multiple ESCs over CAN-bus | Traction Control app_chuk_conf.tc | 0 | Enable traction control between multiple VESCs connected over CAN-bus. This is only is only used for current control modes. | |||
| App Cfg ▸ VESC Remote ▸ General ▸ Multiple ESCs over CAN-bus | TC Max ERPM Difference app_chuk_conf.tc_max_diff | 0 | 100000 | 3000 | The ERPM difference at which the fastest motor gets swtiched off completely. If the difference in ERPM is lower than that the current to faster motors is scaled down proportionally to the difference. | |
| App Cfg ▸ VESC Remote ▸ Throttle Curve | Throttle Expo app_chuk_conf.throttle_exp | -5 | 5 | 0 | Exponential gain for the throttle. Zero (0) Linear throttle Negative (<0) The throttle is softer close to 0 and increases exponentially towards full throttle. Positive (>0) The throttle reacts fast around 0 and decreases exponentially towards full throttle. Increasing the magnitude of this value will increase the exponential effect. The full throttle curve can be seen in the throttle curve plot. | |
| App Cfg ▸ VESC Remote ▸ Throttle Curve | Throttle Expo Brake app_chuk_conf.throttle_exp_brake | -5 | 5 | 0 | Exponential gain for the throttle. Zero (0) Linear throttle Negative (<0) The throttle is softer close to 0 and increases exponentially towards full throttle. Positive (>0) The throttle reacts fast around 0 and decreases exponentially towards full throttle. Increasing the magnitude of this value will increase the exponential effect. The full throttle curve can be seen in the throttle curve plot. | |
| App Cfg ▸ VESC Remote ▸ Throttle Curve | Throttle Expo Mode app_chuk_conf.throttle_exp_mode | Polynomial | The throttle curve mode. Exponential y = x^(1 + c) Natural y = (e^(cx) - 1) / (e^c - 1) Polynomial y = x / (1 + c(1 - x)) where y: output x: input c: curve The curve parameter, offsets and signs are mapped accordingly for each mode. | |||
| App Cfg ▸ VESC Remote ▸ General ▸ Smart Reverse | Use Smart Reverse app_chuk_conf.use_smart_rev | 1 | Use smart reverse function. If enabled, holding full brake will switch to duty cycle mode in the reverse direction when the speed is so low that not enough brake torque can be produced. This is useful when trying to stop downhill where you normally would roll forwards slowly even at full brake. Instead, the board will start to go reverse slowly in duty cycle mode if this mode is activated. | |||
| App Cfg ▸ NRF ▸ General ▸ Address | Address 0 app_nrf_conf.address__0 | 0 | 255 | 198 | Address byte 0. | |
| App Cfg ▸ NRF ▸ General ▸ Address | Address 1 app_nrf_conf.address__1 | 0 | 255 | 199 | Address byte 1. | |
| App Cfg ▸ NRF ▸ General ▸ Address | Address 2 app_nrf_conf.address__2 | 0 | 255 | 0 | Address byte 2. | |
| App Cfg ▸ NRF ▸ General ▸ Radio | Radio Channel app_nrf_conf.channel | 0 | 125 | 76 | Radio channel. | |
| App Cfg ▸ NRF ▸ General ▸ Integrity | CRC app_nrf_conf.crc_type | 1 Byte | CRC checksum type. | |||
| App Cfg ▸ NRF ▸ General ▸ Radio | TX Power app_nrf_conf.power | 0 dBm | Transmit power or power off setting. | |||
| App Cfg ▸ NRF ▸ General ▸ Integrity | Retries app_nrf_conf.retries | 0 | 15 | 3 | Maximum number of retries when no ack is received before giving up on the current packet. | |
| App Cfg ▸ NRF ▸ General ▸ Integrity | Retry Delay app_nrf_conf.retry_delay | 250 µS | Delay between retries when no ack is received. If the speed is lower than 2MBit, at least 500 µS should be used. | |||
| App Cfg ▸ NRF ▸ General ▸ Integrity | Send ACK app_nrf_conf.send_crc_ack | 1 | Send ACK when valid packets are received. | |||
| App Cfg ▸ NRF ▸ General ▸ Radio | Speed app_nrf_conf.speed | 1 MBit/s | The air bit rate. | |||
| App Cfg ▸ PAS ▸ General | Control Type app_pas_conf.ctrl_type | Cadence | Off The output is switched off regardless of the input. Cadence Cadence control. The output is proportional to the pedalling speed, off when there is no pedalling. Constant Torque Constant Torque control. Pedalling provides constant output, off when no pedalling. Suited for gearless setup. | |||
| App Cfg ▸ PAS ▸ General | PAS Max Current app_pas_conf.current_scaling | 0 | 1 | 0.08 | Maximum PAS output current will be limited to this percentage of the global output current. | |
| App Cfg ▸ PAS ▸ General | Invert Pedal Direction app_pas_conf.invert_pedal_direction | 0 | Inverts pedal direction | |||
| App Cfg ▸ PAS ▸ General | Sensor Magnets app_pas_conf.magnets | 6 | 128 | 24 | How many magnets the PAS sensor assembly has. 24 magnets would provide 24 pulses per pedal revolution. 12 and 24 magnet setups are typical. | |
| App Cfg ▸ PAS ▸ General | Pedal RPM End app_pas_conf.pedal_rpm_end | 1 | 300 | 120 | Pedal RPM at which the assist stops increasing. Above this pedal speed the assist output will stay at its maximum. | |
| App Cfg ▸ PAS ▸ General | Pedal RPM Start app_pas_conf.pedal_rpm_start | 1 | 200 | 10 | Pedal RPM at which the assist starts. Below this value the output current is zero. | |
| App Cfg ▸ PAS ▸ General | Negative Ramping Time app_pas_conf.ramp_time_neg | 0.2 | 5 | 0.2 | s | Negative ramping time constant. This filters the PAS input with ramping and represents the amount of secods it takes to ramp from full to zero output. |
| App Cfg ▸ PAS ▸ General | Positive Ramping Time app_pas_conf.ramp_time_pos | 0.2 | 5 | 0.3 | s | Positive ramping time constant. This filters the PAS input with ramping and represents the amount of secods it takes to ramp from zero to full output. |
| App Cfg ▸ PAS ▸ General | Sensor Type app_pas_conf.sensor_type | Q | Quadrature This interface provides 2 signals that can be decoded to know the pedalling direction (forward of backwards). | |||
| App Cfg ▸ PAS ▸ General | Update Rate app_pas_conf.update_rate_hz | 10 | 1000 | 500 | Hz | Frequency at which the PAS control loop is executed |
| App Cfg ▸ PAS ▸ General | Use Filter app_pas_conf.use_filter | 1 | Use a low pass filter in the PAS input signal | |||
| App Cfg ▸ PPM ▸ General | Control Type app_ppm_conf.ctrl_type | Off | Off The output is switched off regardless of the input. Current Current control. The output is off when the input is centered. Input less than center brakes until the motor stops, at which point it starts in the reverse direction. Current No Reverse Current control. The output is off when the input is at minimum. Current No Reverse With Brake Current control. The output is off when the input is centered. Input less than center brakes until the motor stops, but not further. Duty Cycle Current control. The output is off when the input is centered. Input less than center gives negative duty cycle. Duty Cycle No Reverse Duty cycle control. The output is off when the input is at minimum. PID Speed Control PID speed control. The output is off when the input is centered. Input less than center gives negative set speed. PID Speed Control No Reverse Duty cycle control. The output is off when the input is at minimum. Current Hyst Reverse With Brake Current Hyst Reverse With Brake. The output is off when the input is centered. Input less than center brakes until the motor stops, at which point it starts in the reverse direction, but if Max dir switch ERPM is enabled it will stop the reverse when it reaches the Max ERPM for direction switch. Current Smart Reverse Similar to the Current No Reverse With Brake mode, but holding full brake will switch to duty cycle mode in the reverse direction when the speed is so low that not enough brake torque can be produced. This is useful when trying to stop downhill where you normally would roll forwards slowly even at full brake. Instead, the board will start to go reverse slowly in duty cycle mode if this mode is activated. PID Position Control: 180° Maps servo input to (-180° <> +180°) rotation. Remote should center at “Pulselegth Center” value. Motor will rotate ±180° from the starting position. PID Position Control: 360°Maps servo input to (+0 <> +360°) rotation. Remote should center at “Pulselegth Start” value.Motor will rotate up to +360° from the starting position. It will only rotate in the "positive" direction from the starting position. PID Position Control notes:Servo like position control of motor. Works best with an encoder, but can work with HFI. Angle division: To get multiple turns of the motor for full stick movement, adjust: “Motor Settings” -> “PID Controllers” -> “Position Angle Division” to greater than 1. For setups with angle division > 1, you will need to “home” your motor manually to the right “zero” rotation before power on. To get less than 1 full turn, set “Position Angle Division” to less than 1. Starting position: To adjust the starting position of the motor, adjust: “Motor Settings” -> “PID Controllers” -> “Position PID Offset Angle”. This will change the zero angle AFTER the angle division has been applied. To change the angle by 90° with an angle division of 2, this should be 45°. Safe Start: Safe start still works with PID Position Control, with an additional safety step. To start the motor with Safe Start, you must: Set ppm to your “center” value: “Pulselegth Center” for 180 mode. “Pulselegth Start” for 360 mode. Note: disabling "Safe Start" will eliminate this step but not the second step. Bring your commanded angle close to the actual motor angle. This can be done by sweeping the stick the full range until the motor starts tracking. This is done to prevent a rapid movement at start to a far off commanded pid angle. | |||
| App Cfg ▸ PPM ▸ Mapping | Input Deadband app_ppm_conf.hyst | 0 | 1 | 0.15 | % | Deadband region for the input. |
| App Cfg ▸ PPM ▸ General | Max ERPM for direction switch app_ppm_conf.max_erpm_for_dir | 0 | 30000 | 4000 | The Max ERPM where the direction can be switched to reverse by braking 2 times. | |
| App Cfg ▸ PPM ▸ General | Median Filter app_ppm_conf.median_filter | 1 | Use a median filter on the decoded pulses. Will delay the signal slightly, but rejects outliers caused by noise. | |||
| App Cfg ▸ PPM ▸ General ▸ Multiple VESCs over CAN | Multiple VESCs Over CAN app_ppm_conf.multi_esc | 1 | Listen for other VESCs on the CAN-bus and send the same control commands to them. Notice that the application only has to be set up on the master VESC. | |||
| App Cfg ▸ PPM ▸ General | PID Max ERPM app_ppm_conf.pid_max_erpm | 0 | 1e+06 | 15000 | The ERPM setpoint corresponding to max input when using PID Speed Control. | |
| App Cfg ▸ PPM ▸ Mapping | Pulselength Center app_ppm_conf.pulse_center | 0 | 100 | 1.5 | ms | The PPM input in milliseconds at which the throttle is centered. Can be checked by enabling display and leaving the throttle centered. This setting has no effect in control modes where the output is not off when the stick is centered. |
| App Cfg ▸ PPM ▸ Mapping | Pulselength End app_ppm_conf.pulse_end | 0 | 100 | 2 | ms | The longest pulse length for the PPM input in milliseconds. Can be checked by enabling display and giving the maximum input. |
| App Cfg ▸ PPM ▸ Mapping | Pulselength Start app_ppm_conf.pulse_start | 0 | 100 | 1 | ms | The shortest pulse length for the PPM input in milliseconds. Can be checked by enabling display and giving the minimum input. |
| App Cfg ▸ PPM ▸ General | Negative Ramping Time app_ppm_conf.ramp_time_neg | 0 | 1000 | 0.2 | s | Negative ramping time constant. This filters the input with ramping. This constant represents the amount of secods it takes to ramp from full output (acceleration or braking) back to zero. |
| App Cfg ▸ PPM ▸ General | Positive Ramping Time app_ppm_conf.ramp_time_pos | 0 | 1000 | 0.4 | s | Positive ramping time constant. This filters the input with ramping. This constant represents the amount of secods it takes to ramp from zero to full output. |
| App Cfg ▸ PPM ▸ General | Safe Start app_ppm_conf.safe_start | Regular | Prevent motor from starting in some unsafe conditions. Modes: Disabled Motor can always start. Regular Only allow starting the motor when the input has beed zero for long enough after boot, after configuration updates and after faults. No Faults Same as regular, but the motor can start directly after fault codes are cleared. | |||
| App Cfg ▸ PPM ▸ General | Smart Reverse Max Duty Cycle app_ppm_conf.smart_rev_max_duty | 0 | 1 | 0.07 | Maximum duty cycle to use in smart reverse mode. | |
| App Cfg ▸ PPM ▸ General | Smart Reverse Ramp Time app_ppm_conf.smart_rev_ramp_time | 0 | 100 | 3 | s | Time to ramp to maximum duty cycle in smart reverse mode. |
| App Cfg ▸ PPM ▸ General ▸ Multiple VESCs over CAN | Traction Control app_ppm_conf.tc | 0 | Enable traction control between multiple VESCs connected over CAN-bus. This is only used for current control modes. | |||
| App Cfg ▸ PPM ▸ General ▸ Multiple VESCs over CAN | TC Max ERPM Difference app_ppm_conf.tc_max_diff | 0 | 100000 | 3000 | The ERPM difference at which the fastest motor gets swtiched off completely. If the difference in ERPM is lower than that the current to faster motors is scaled down proportionally to the difference. | |
| App Cfg ▸ PPM ▸ Throttle Curve | Throttle Expo app_ppm_conf.throttle_exp | -5 | 5 | 0 | Exponential gain for the throttle. Zero (0) Linear throttle Negative (<0) The throttle is softer close to 0 and increases exponentially towards full throttle. Positive (>0) The throttle reacts fast around 0 and decreases exponentially towards full throttle. Increasing the magnitude of this value will increase the exponential effect. The full throttle curve can be seen in the throttle curve plot. | |
| App Cfg ▸ PPM ▸ Throttle Curve | Throttle Expo Brake app_ppm_conf.throttle_exp_brake | -5 | 5 | 0 | Exponential gain for the throttle. Zero (0) Linear throttle Negative (<0) The throttle is softer close to 0 and increases exponentially towards full throttle. Positive (>0) The throttle reacts fast around 0 and decreases exponentially towards full throttle. Increasing the magnitude of this value will increase the exponential effect. The full throttle curve can be seen in the throttle curve plot. | |
| App Cfg ▸ PPM ▸ Throttle Curve | Throttle Expo Mode app_ppm_conf.throttle_exp_mode | Polynomial | The throttle curve mode. Exponential y = x^(1 + c) Natural y = (e^(cx) - 1) / (e^c - 1) Polynomial y = x / (1 + c(1 - x)) where y: output x: input c: curve The curve parameter, offsets and signs are mapped accordingly for each mode. | |||
| App Cfg ▸ General ▸ General | APP to Use app_to_use | UART | The APP to use. With multiple VESC connected over CAN only the master needs to have an app to use set up. Notice that using the NRF nunchuk needs the NRF app. | |||
| App Cfg ▸ UART ▸ General | Baudrate app_uart_baudrate | 0 | 20000000 | 115200 | bps | UART Baudrate. |
| Refloat Cfg ▸ General ▸ ATR ▸ Advanced | Amps to Acceleration Ratio atr_amps_accel_ratio | 5 | 30 | 9 | Determines how to effectively calculate Expected Acceleration from amps. Higher values mean weaker response (lower Expected Acceleration). *NOTE: NOT MEANT TO BE MESSED WITH! This value should be kept constant and not taken advantage of for tuning, as it is meant to be used to account for motor efficiency, not weight or other factors. Recommended Hypercore Motor Value: 9 Recommended Values: 8-18 | |
| Refloat Cfg ▸ General ▸ ATR ▸ Advanced | Amps to Deceleration Ratio atr_amps_decel_ratio | 4 | 30 | 8 | Determines how to effectively calculate Expected Deceleration (Braking) from amps. Higher values mean weaker response (lower Expected Deceleration). *NOTE: NOT MEANT TO BE MESSED WITH! This value should be kept constant and not taken advantage of for tuning, as it is meant to be used to account for motor efficiency, not weight or other factors. Recommended Hypercore Motor Value: 8 Recommended Values: 6-18 | |
| Refloat Cfg ▸ General ▸ ATR ▸ Nose Angling | Tiltback Angle Limit atr_angle_limit | 0 | 30 | 8 | ° | Maximum angle to which ATR is permitted to tilt. |
| Refloat Cfg ▸ General ▸ ATR ▸ Advanced | Current Filter atr_filter | 0 | 20 | 5 | Hz | Biquad Low-pass Filter on the current used for calculating ATR. Setting a lower value here helps smooth out spikes in the current, and prevents ATR from being twitchy. Setting a high value here improves responsiveness, but can lead to overreacting ATR during normal acceleration. |
| Refloat Cfg ▸ General ▸ ATR ▸ Nose Angling | Max Tiltback Release Speed atr_off_speed | 0 | 100 | 8 | °/s | Max Rate at which ATR will release from the desired angle back to 0. |
| Refloat Cfg ▸ General ▸ ATR ▸ Nose Angling | Max Tiltback Speed atr_on_speed | 0 | 100 | 10 | °/s | Max Rate at which ATR will tilt to the desired angle. |
| Refloat Cfg ▸ General ▸ ATR ▸ Nose Angling | Tiltback Response Boost atr_response_boost | 1 | 2 | 1.5 | x | React more quickly to ATR responses when at high speeds. When you're riding fast and ATR increases, then you also want it to respond faster. Boost is applied twice: at 2500 and 6000 ERPM. *Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles): 2500 ERPM ≈ 5.5 mph ≈ 9 km/h 6000 ERPM ≈ 13 mph ≈ 21 km/h |
| Refloat Cfg ▸ General ▸ ATR ▸ Adaptive Torque Response | Speed Boost atr_speed_boost | -1 | 1 | 0.3 | % | Defines how ATR response changes at higher speeds. Set to negative numbers to lower the response as speed increases. |
| Refloat Cfg ▸ General ▸ ATR ▸ Adaptive Torque Response | ATR Downhill Strength atr_strength_down | 0 | 3.5 | 0.5 | How much Nose Lowering should be applied based on ATR Response. Rather than judging based purely on current like Torque Tiltback does, ATR (Adaptive Torque Response) determines its behavior based on a calculation of Acceleration Difference (Expected Acceleration - Measured Acceleration). This can produce more consistent results for tilt response to uphills and downhills. It can also influence the overall ride feel, and can produce an appropriate stronger/weaker response for heavier/lighter riders, allowing riders of vastly different weights to effectively utilize the same PID tune and still experience similar behavior. Recommended Values: 1.0 - 2.5 (Extreme!) *Note: The values used for this parameter in previous firmware versions (5.3 ATR) are now scaled up 10x (i.e. a previous ATR Strength of 0.10, is now a strength of 1.0). | |
| Refloat Cfg ▸ General ▸ ATR ▸ Adaptive Torque Response | ATR Uphill Strength atr_strength_up | 0 | 3.5 | 1 | How much Nose Lift should be applied based on ATR Response.Rather than judging based purely on current like Torque Tiltback does, ATR (Adaptive Torque Response) determines its behavior based on a calculation of Acceleration Difference (Expected Acceleration - Measured Acceleration). This can produce more consistent results for tilt response to uphills and downhills. It can also influence the overall ride feel, and can produce an appropriate stronger/weaker response for heavier/lighter riders, allowing riders of vastly different weights to effectively utilize the same PID tune and still experience similar behavior. Recommended Values: 1.0 - 2.5 (Extreme!) *Note: The values used for this parameter in previous firmware versions (5.3 ATR) are now scaled up 10x (i.e. a previous ATR Strength of 0.10, is now a strength of 1.0). | |
| Refloat Cfg ▸ General ▸ ATR ▸ Adaptive Torque Response | Threshold Angle Down atr_threshold_down | 0 | 5 | 1.5 | ° | Threshold angle for braking/downhills below which no setpoint change is triggered. This means that if the computed ATR angle is below this threshold the setpoint will not be changed, producing a more predictable behavior in mellow terrain. Once the ATR target angle exceeds the threshold, setpoint changes will be produced. Example: If the threshold is 2 and the computed ATR angle is 3 then a 1 degree setpoint adjustment will be performed. |
| Refloat Cfg ▸ General ▸ ATR ▸ Adaptive Torque Response | Threshold Angle Up atr_threshold_up | 0 | 5 | 1.5 | ° | Threshold angle for acceleration/uphills below which no setpoint change is triggered. This means that if the computed ATR angle is below this threshold the setpoint will not be changed, producing a more predictable behavior in mellow terrain. Once the ATR target angle exceeds the threshold, setpoint changes will be produced. Example: If the threshold is 2 and the computed ATR angle is 3 then a 1 degree setpoint adjustment will be performed. |
| Refloat Cfg ▸ General ▸ ATR ▸ Nose Angling | Tiltback Transition Boost atr_transition_boost | 1 | 10 | 3 | x | Release faster during transitions. When ATR reverses (dip or peak), the slow release speed can cause a long delay for the nose/tail to get back to normal. This should help resolve this. |
| Refloat Cfg ▸ General ▸ BMS | BMS High Temp Threshold bms.bms_ht_threshold | 0 | 80 | 60 | °C | High temp threshold for the BMS temperature to trigger a safety alert. Set to 0 to disable this alert. Note: Requires VESC firmware version 6.06+ and a recent enough BMS firmware. |
| Refloat Cfg ▸ General ▸ BMS | Cell Balance Threshold bms.cell_balance_threshold | 0.01 | 1 | 0.2 | V | Cell balance threshold to trigger a warning beep while idle. |
| Refloat Cfg ▸ General ▸ BMS | Cell High Temp Threshold bms.cell_ht_threshold | 0 | 60 | 45 | °C | High temp threshold per cell to trigger a safety alert. Set to 0 to disable both High and Low Cell Temperature alert. |
| Refloat Cfg ▸ General ▸ BMS | Cell High Voltage Threshold bms.cell_hv_threshold | 2.5 | 4.5 | 4.3 | V | High voltage threshold per cell to trigger a safety alert. |
| Refloat Cfg ▸ General ▸ BMS | Cell Low Temp Threshold bms.cell_lt_threshold | -20 | 20 | 0 | °C | Low temp threshold per cell to trigger a safety alert. Note: It is very bad for battery cells to be charged at below 0 °C! It is possible to set this value to a negative number, but you should ensure no significant regeneration occurs at these temperatures, otherwise you will permanently damage your battery. |
| Refloat Cfg ▸ General ▸ BMS | Cell Low Voltage Threshold bms.cell_lv_threshold | 2.5 | 4.5 | 2.7 | V | Low voltage threshold per cell to trigger a safety alert. |
| Refloat Cfg ▸ General ▸ BMS | Enable BMS Integration bms.enabled | 0 | Enable BMS integration. If enabled, the board will alert via pushback and haptics if any of the configured thresholds are crossed. Note: Board restart required. After enabling and before restarting, the package will start checking for BMS values without establishing the communication and will warn about BMS Connection Error. After a restart, the warning should go away if BMS communication is established. This can be used to check the warning mechanism is in place and working. | |||
| Motor Cfg ▸ General ▸ BMS | Forward CAN to Local bms.fwd_can_mode | Disabled | Forward CAN-frames to local device as they are received. This is useful when many BMSes are connected on a CAN-bus to avoid polling the state from each one of them. This can cause a lot of data if there are many BMSes on the CAN-bus, so it is recommended to only do it over the USB-connection. Options: Disabled This function is disabled. USB Only Only forward frames to device connected over USB. Any Interface Forward frames to device connected using any interface. | |||
| Motor Cfg ▸ General ▸ BMS | BMS Limit Mode bms.limit_mode | VCell Max | Choose how to limit the motor current based on data from the BMS. Overtemp Decrease the input and regen current as the battery gets too hot. SOC Decrease the input current as the state of charge (SOC) gets too low. VCell Min Decrease the input current as the lowest cell voltage gets too low. VCell Max Decrease the input regen current as the highest cell voltage gets too high. | |||
| Motor Cfg ▸ General ▸ BMS | SOC Limit End bms.soc_limit_end | 0 | 1 | 0 | The battery state of charge (SOC) below which battery current is not allowed anymore. If there is more than one BMS on the CAN-bus, the one with the lowest value will be ued. | |
| Motor Cfg ▸ General ▸ BMS | SOC Limit Start bms.soc_limit_start | 0 | 1 | 0.05 | The battery state of charge (SOC) below which battery current starts to get reduced. If there is more than one BMS on the CAN-bus, the one with the lowest value will be ued. | |
| Motor Cfg ▸ General ▸ BMS | Temperature Limit End bms.t_limit_end | 0 | 99 | 65 | °C | The battery temperature above which battery current is not allowed and a fault is thrown. If there is more than one BMS on the CAN-bus, the one with the highest value will be ued. |
| Motor Cfg ▸ General ▸ BMS | Temperature Limit Start bms.t_limit_start | 0 | 99 | 45 | °C | The battery temperature above which battery current starts to get reduced. If there is more than one BMS on the CAN-bus, the one with the highest value will be used. |
| Motor Cfg ▸ General ▸ BMS | BMS Type bms.type | VESC BMS | Type of BMS. This determines how BMS-related messages on the CAN-bus are interpreted. Options are: None: No BMS is used. All messages on the CAN-bus are ignored by the BMS module. VESC BMS: The VESC BMS is used. | |||
| Motor Cfg ▸ General ▸ BMS | VCell Max Limit End bms.vmax_limit_end | 0 | 6 | 4.3 | V | The maximum cell voltage above which regen current is not allowed anymore. If there is more than one BMS on the CAN-bus, the one with the highest value will be ued. |
| Motor Cfg ▸ General ▸ BMS | VCell Max Limit Start bms.vmax_limit_start | 0 | 6 | 4.2 | V | The maximum cell voltage above which regen current starts to get reduced. If there is more than one BMS on the CAN-bus, the one with the highest value will be ued. |
| Motor Cfg ▸ General ▸ BMS | VCell Min Limit End bms.vmin_limit_end | 0 | 6 | 2.5 | V | The minimum cell voltage below which battery current is not allowed anymore. If there is more than one BMS on the CAN-bus, the one with the lowest value will be ued. |
| Motor Cfg ▸ General ▸ BMS | VCell Min Limit Start bms.vmin_limit_start | 0 | 6 | 2.9 | V | The minimum cell voltage below which battery current starts to get reduced. If there is more than one BMS on the CAN-bus, the one with the lowest value will be ued. |
| Refloat Cfg ▸ General ▸ Tune ▸ Booster (Acceleration) | Start Angle booster_angle | 0 | 15 | 8 | ° | NOTE: This feature is outdated and does not fully work as intended. If your tune doesn't already utilize Booster, we don't recommend adding it. Angle (+/-) from which onward booster current is applied when accelerating, in relation to the setpoint. *NOTE: Based on True Pitch (uses Mahony KP 0.2), rather than Pitch filtered by your set Mahony KP (likely heavily filtered and inaccurate). |
| Refloat Cfg ▸ General ▸ Tune ▸ Booster (Acceleration) | Current Boost booster_current | 0 | 100 | 0 | A | NOTE: This feature is outdated and does not fully work as intended. If your tune doesn't already utilize Booster, we don't recommend adding it. Extra current added to PID Loop, to be applied when accelerating when booster angle is reached (in relation to Setpoint). Can strengthen the board response at a desired specific angle when pushing the nose down. |
| Refloat Cfg ▸ General ▸ Tune ▸ Booster (Acceleration) | Ramp Up booster_ramp | 1 | 10 | 4 | ° | NOTE: This feature is outdated and does not fully work as intended. If your tune doesn't already utilize Booster, we don't recommend adding it. Degrees over which booster will ramp from 0A to the configured Current when accelerating, starting at Start Angle (i.e. Start Angle of 8° and Ramp Up of 4° means Booster will begin at 8° nose down and strengthen to max current as the board angle approaches 12° nose down from setpoint). *NOTE: Based on True Pitch |
| Refloat Cfg ▸ General ▸ Startup ▸ Holding | Brake Current brake_current | 0 | 100 | 6 | A | Brake current to be applied when board is not actively engaged (only applied when an outside force causes motor to move). |
| Refloat Cfg ▸ General ▸ ATR ▸ Brake Tiltback | Brake Tilt Lingering braketilt_lingering | 1 | 5 | 2 | How long it takes for Brake Tiltback to disappear; 1 is quick, 5 is real slow. Recommended Value: 2 | |
| Refloat Cfg ▸ General ▸ ATR ▸ Brake Tiltback | Brake Tilt Strength braketilt_strength | 0 | 20 | 0 | Produce a slight noselift on braking to make clearing big obstacles easier (an attempt to mimic Mission behavior). 0 disables Brake Tiltback, 20 is max intensity. Recommended Values: 7-10 | |
| Refloat Cfg ▸ General ▸ Tune ▸ Booster (Braking) | Start Angle brkbooster_angle | 0 | 15 | 8 | ° | NOTE: This feature is outdated and does not fully work as intended. If your tune doesn't already utilize Booster, we don't recommend adding it. Angle (+/-) from which onward booster regen current is applied when braking, in relation to the setpoint. *NOTE: Based on True Pitch |
| Refloat Cfg ▸ General ▸ Tune ▸ Booster (Braking) | Current Boost brkbooster_current | 0 | 100 | 0 | A | NOTE: This feature is outdated and does not fully work as intended. If your tune doesn't already utilize Booster, we don't recommend adding it. Extra current added to PID Loop, to be applied when braking when booster angle is reached (in relation to Setpoint). Can strengthen the braking intensity at a desired specific angle when raising the nose / lowering the tail. |
| Refloat Cfg ▸ General ▸ Tune ▸ Booster (Braking) | Ramp Up brkbooster_ramp | 1 | 10 | 4 | ° | NOTE: This feature is outdated and does not fully work as intended. If your tune doesn't already utilize Booster, we don't recommend adding it. Degrees over which brake-booster will ramp from 0A to the configured Regen Current, starting at Start Angle (i.e. Start Angle of 8° and Ramp Up of 4° means Brake Booster will begin at 8° nose up and strengthen to max current as the board angle approaches 12° nose up from setpoint). *NOTE: Based on True Pitch |
| App Cfg ▸ General ▸ General | CAN Baud Rate can_baud_rate | CAN_BAUD_500K | The baud rate of the CAN-Bus. Note that all devices on the bus must have the same baud rate. | |||
| App Cfg ▸ General ▸ General | CAN Mode can_mode | VESC | CAN-bus mode. VESC Default VESC CAN-bus. Required for CAN forwarding and configuring multiple VESCs using VESC Tool. UAVCAN Basic implementation of UAVCAN. Currently needs some work. Comm Brigde Bridge CAN-bus to commands. Useful for using the VESC and VESC Tool as a generic CAN interface and debugger. Unused CAN-frames are not processed at all and just ignored. Custom applications and scripts can still process CAN-frames. This is very similar to Comm Bridge, but the received frames are not forwarded using commands. UAVCAN and VESC Experimental mode where frames that aren't processed by UAVCAN are processed by the VESC decoder. This can give limited VESC Tool configuration support on UAVCAN networks. | |||
| App Cfg ▸ General ▸ General ▸ CAN Messages Rate 1 | Can Messages Rate 1 can_status_msgs_r1 | Status 1 | Select which CAN status messages are sent are status rate 1. The messages contain: Status 1: RPM Current Duty Cucle Status 2: Ah Used Ah Charged Status 3: Wh Used Wh Charged Status 4: Temp FET Temp Motor Current In PID-position Now Status 5: Voltage In Tachometer Status 6: ADC1 ADC2 ADC3 PPM | |||
| App Cfg ▸ General ▸ General ▸ CAN Messages Rate 2 | Can Messages Rate 2 can_status_msgs_r2 | Status 1 | Select which CAN status messages are sent are status rate 2. The messages contain: Status 1: RPM Current Duty Cucle Status 2: Ah Used Ah Charged Status 3: Wh Used Wh Charged Status 4: Temp FET Temp Motor Current In PID-position Now Status 5: Voltage In Tachometer Status 6: ADC1 ADC2 ADC3 PPM | |||
| App Cfg ▸ General ▸ General ▸ CAN Messages Rate 1 | Can Status Rate 1 can_status_rate_1 | 0 | 10000 | 50 | Hz | Rate 1 at which CAN status messages are sent on the CAN-bus. |
| App Cfg ▸ General ▸ General ▸ CAN Messages Rate 2 | Can Status Rate 2 can_status_rate_2 | 0 | 10000 | 5 | Hz | Rate 2 at which CAN status messages are sent on the CAN-bus. |
| Motor Cfg ▸ DC ▸ General | Current Controller Gain cc_gain | 0 | 5 | 0.0046 | Gain for the BLDC and DC current controller. Should be lower for low inductance motors. | |
| Motor Cfg ▸ General ▸ Advanced | Minimum Current cc_min_current | 0 | 500 | 0.05 | A | Minimum current used by the current controller. Commanded currents below this value will release the motor. |
| Motor Cfg ▸ DC ▸ General | Current Control Ramp Step Max cc_ramp_step_max | 0 | 1 | 0.04 | Maximum duty cycle ramp step in current control mode for DC and BLDC motors. | |
| Motor Cfg ▸ BLDC ▸ General | Startup boost cc_startup_boost_duty | 0 | 1 | 0.01 | Startup boost in current control. Essentially defines the lowest duty cycle to be used in current control mode, to give a bit more punch when starting. | |
| Motor Cfg ▸ BLDC ▸ General | Commutation Mode comm_mode | Integrate | Delay This is what most cheap hobby ESCs use, which is detecting a BEMF zero crossing and adding a delay Integrate The back-EMF is sampled continuously after a zero crossing and the area under it is integrated. This is more robust and works better at low speed. For this mode the BEMF coupling and integration limit has to be know. The detect function can be used to measure these parameters. | |||
| Refloat Cfg | none config_name | RefloatConfig | ||||
| App Cfg ▸ General ▸ General | VESC ID controller_id | 0 | 255 | 74 | VESC ID. Used to identify this VESC on the CAN-bus. | |
| Refloat Cfg ▸ General ▸ Specs ▸ Refloat Package Details | Disable Package disabled | 0 | For Initial Setup Only! Use this option when you need to run the motor wizard or you want to troubleshoot your motor and run terminal commands. Riding won't be possible with this set to true. | |||
| Refloat Cfg ▸ General ▸ Stop ▸ Switches | Enable Quickstop enable_quickstop | 1 | Enable disengaging the board immediately by braking hard and lifting the foot off the sensor as the board stops. Requires the board to be angled back more than 14° and the wheel coming to a complete stop. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Foot Sensors | ADC1 Switch Voltage fault_adc1 | 0 | 3.3 | 2 | V | Voltage below this value will trigger a fault for the corresponding sensor zone. To disable this switch, set this value to 0. Hint: If voltage with no input does not settle near 0, consider a pulldown resisitor! |
| Refloat Cfg ▸ General ▸ Specs ▸ Foot Sensors | ADC2 Switch Voltage fault_adc2 | 0 | 3.3 | 2 | V | Voltage below this value will trigger a fault for the corresponding sensor zone. To disable this switch, set this value to 0. Hint: If voltage with no input does not settle near 0, consider a pulldown resisitor! |
| Refloat Cfg ▸ General ▸ Stop ▸ Switches | ADC Half State Fault ERPM fault_adc_half_erpm | 0 | 100000 | 200 | ERPM | ERPM (absoulte value) below which a Half State on the ADC switches (sensor zones) will be considered a Fault. *Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Stop ▸ Features | Enable Darkride fault_darkride_enabled | 0 | Allows riding the board upside down without sensors. A primitive Reverse Stop (disengage when rolling backwards) is active when using Darkride to allow safe dismount and prevent ghosting. *DISCLAIMER: Requires correct speed calibration!! The board WILL ghost for sure if your normal speeds are negative!! | |||
| Refloat Cfg ▸ General ▸ Stop ▸ Angle Faults | Pitch Fault Delay fault_delay_pitch | 0 | 10000 | 250 | ms | Delay before cutoff, in milliseconds, once a Pitch Axis Fault is detected. |
| Refloat Cfg ▸ General ▸ Stop ▸ Angle Faults | Roll Fault Delay fault_delay_roll | 0 | 10000 | 250 | ms | Delay before cutoff, in milliseconds, once a Roll Axis Fault is detected. |
| Refloat Cfg ▸ General ▸ Stop ▸ Switches | Full Switch Fault Delay fault_delay_switch_full | 0 | 10000 | 250 | ms | Delay before cutoff, in milliseconds, once a Full Switch Fault is detected. |
| Refloat Cfg ▸ General ▸ Stop ▸ Switches | Half Switch Fault Delay fault_delay_switch_half | 0 | 10000 | 250 | ms | Delay before cutoff, in milliseconds, once a Half Switch Fault is detected. |
| Refloat Cfg ▸ General ▸ Stop ▸ Switches | Treat Both Sensors as One (Posi) fault_is_dual_switch | 0 | Treats both sensors as one single-zone sensor (a.k.a. Posi Sensor). Can help guarantee continued sensor engagement, especially at low speed, but disables the Half Switch Fault (Heel Lift dismount) and can present extra ghosting risk if a sensor is stuck. *Note: For Advanced Riders only! | |||
| Refloat Cfg ▸ General ▸ Stop ▸ Switches | Disable Moving Faults fault_moving_fault_disabled | 0 | Disables ADC Faults completely as long as ERPM is positive (moving forward) and above the Half State Fault ERPM x2, as well as the Roll angle being within 40° of level. Outside of the threshold, the board will not disengage on its own, but rather just default to allowing ADC Faults to disengage the board. *DISCLAIMER: Requires correct speed calibration and Tail Heavy Board!! The board WILL ghost for sure if your normal speeds read as negative or if your board is nose heavy!! | |||
| Refloat Cfg ▸ General ▸ Stop ▸ Angle Faults | Pitch Axis Fault Cutoff fault_pitch | 45 | 90 | 60 | ° | Pitch Angle at which a fault is triggered and the board is disengaged. Can help potentially cut-off a runaway board with a stuck sensor (a.k.a "Ghosting"). |
| Refloat Cfg ▸ General ▸ Stop ▸ Features | Enable Reverse Stop fault_reversestop_enabled | 0 | Allows stopping the onewheel gently by going backwards a bit. Will slowly tilt until it exceeds 15 degrees, and then turn off. It will also stop if going in reverse and staying above 5 degrees tilt for 1+ seconds, or above 10 degrees tilt for 0.5+ seconds. *Note: With Reverse Stop enabled, it's much harder if not impossible to balance standing still *DISCLAIMER: Requires correct speed calibration!! You WON'T be able to go forward if your normal speeds are negative!! | |||
| Refloat Cfg ▸ General ▸ Stop ▸ Angle Faults | Roll Axis Fault Cutoff fault_roll | 45 | 90 | 60 | ° | Roll Angle at which a fault is triggered and the board is disengaged. Can help potentially cut-off a runaway board with a stuck sensor (a.k.a "Ghosting"). |
| Motor Cfg ▸ FOC ▸ Advanced | Current Controller Decoupling foc_cc_decoupling | FOC_CC_DECOUPLING_DISABLED | FOC current controller decoupling using feed forward. This will make the current controller perform better during transient conditions; it may also introduce some noise. The available modes are: FOC_CC_DECOUPLING_DISABLED Decoupling is disabled FOC_CC_DECOUPLING_CROSS Cross decoupling between the D and Q axes is enabled. FOC_CC_DECOUPLING_BEMF Back EMF decoupling on the Q axis is enabled. This improves performance significantly if the motor speed changes rapidly, but makes the current controller depend on the speed tracker. FOC_CC_DECOUPLING_CROSS_BEMF Both options above are enabled. | |||
| Motor Cfg ▸ FOC ▸ Advanced | Control Sample Mode foc_control_sample_mode | V0 Only | V0 Only Sample and run the control loop in V0 only. V0 and V7 Sample currents and voltages in both V0 and V7 and run the full control loop at twice the rate. Can be useful for high speed motors at limited switching frequency, or in order to decrease the modulation noise. Notice that this option will require twice the amount of computational power for a given switching frequency. This mode is only valid for hardware with phase shunts, such as the VESC Six. For other shunt configurations it is ignored. V0 and V7 Interpolation Regular sampling and control in V0 and advance the voltage vector with interpolation in V7. This can help motors run better at high speeds. | |||
| Motor Cfg ▸ FOC ▸ Advanced | Current Filter Constant foc_current_filter_const | 0 | 1 | 0.1 | Constant for the filtered current in the FOC implementation. Will affect how fast the slow abs max current fault triggers. Range 0 to 1, where 0 is the slowest and 1 is no filtering. | |
| Motor Cfg ▸ FOC ▸ General | Current KI foc_current_ki | 0 | 100000 | 11.85 | Current controller integral gain. | |
| Motor Cfg ▸ FOC ▸ General | Current KP foc_current_kp | 0 | 100000 | 0.0123 | Current controller proportional gain. | |
| Motor Cfg ▸ FOC ▸ Advanced | Current Sample Mode foc_current_sample_mode | Longest Zero Time | Longest Zero Time Pick the two sensors that spend the longest time in the zero vectors and calculate the third current from them. This can help reduce noise and gives low side shunt hardware more time to rise before the sample is taken on high modulation. Note: When this mode is selected, All Sensors Combined will be used on low modulation up until a timer compare value of 900 counts, which corresponds to around 70% duty cycle on 30 kHz zero vector frequency. This is done because HFI works much better then and also because combining all sensors generally gives better samples when the avalible sampling time is longer. All Sensors Combined Use all three current readings and make a full Clarke transform. This helps reject common mode noise and also reduces current offsets on motors with low inductance with high current ripple. High Current Choose the lowest currents during sampling to derive the highest current. Since the motor currents are balanced and sum to 0, two of the phase currents can be used to derive the third one. Enabling this option will make the current measurement compare all motor currents and derive the highest one from the two lower currents. This way higher currents can be measured than the ADC gain allows by a factor of 2 / sqrt(3), or roughly 1.15. For example, for the VESC6 this increases the current measurement capability from 165A to roughly 190A. Note This parameter is only valid for hardware with three shunts, such as the VESC Six. For other shunt configurations it is ignored. | |||
| Motor Cfg ▸ FOC ▸ Advanced | Dead Time Compensation foc_dt_us | 0 | 1000 | 0.12 | µS | Compensation for dead time distortion. Makes some difference at low speed. |
| Motor Cfg ▸ FOC ▸ Advanced | Duty Downramp Ki foc_duty_dowmramp_ki | 0 | 1e+06 | 1000 | The integral gain for the duty downramp controller. This controller is used in duty cycle mode when the duty cycle is decreased. Since this is done by limiting the modulation, very large current spikes can be caused. By using a controller these current spikes can be limited. | |
| Motor Cfg ▸ FOC ▸ Advanced | Duty Downramp Kp foc_duty_dowmramp_kp | 0 | 1e+06 | 50 | The proportional gain for the duty downramp controller. This controller is used in duty cycle mode when the duty cycle is decreased. Since this is done by limiting the modulation, very large current spikes can be caused. By using a controller these current spikes can be limited. | |
| Motor Cfg ▸ FOC ▸ Encoder | Encoder Inverted foc_encoder_inverted | 0 | The encoder is inverted if it counts backwards while the motor is turning forwards. | |||
| Motor Cfg ▸ FOC ▸ Encoder | Encoder Offset foc_encoder_offset | 0 | 360 | 180 | Offset between the encoder zero and motor zero points. | |
| Motor Cfg ▸ FOC ▸ Encoder | Encoder Ratio foc_encoder_ratio | 0 | 10000 | 7 | Ratio between encoder and motor. E.g. a 14 pole motor with a directly attached encoder has ratio 7. | |
| Motor Cfg ▸ FOC ▸ Advanced | Zero Vector Frequency foc_f_zv | 0 | 150000 | 30000 | kHz | The frequency at which the output toggles between the zero vectors (V0 and V7) in the space vector modulation. The controllers and estimators run at half of this frequency. If the option Sample in V0 and V7 is active the controllers and estimators run at the full zero vector frequency, but this option is only available on hardware with phase shunts. NOTE There has been some confusion on what the zero vector frequency is referring to. It is the rate between the zero vectors V0 (when all low-side switches are on) and V7 (when all high-side switches are on). If you scope one of the phases you will see a signal at half the set frequency, which is what the timer runs at. That is because the motor phases will be shorted both when the signal is low and when it is high. This is one of the core concepts of space-vector modulation and how you can effectively double the switching frequency with the same amount of switching. There is also some frequency content at half of this frequency depending on the modulated vector, but it is mainly at the set switching frequency and this is also what matters when e.g. calculating ripple current due to motor inductance. Some links to discussions about this: https://vesc-project.com/node/3278 https://github.com/vedderb/bldc/pull/397 |
| Motor Cfg ▸ FOC ▸ Field Weakening | Backoff Gain foc_fw_backoff | 0 | 10 | 1 | When more field weakening than is possible to achieve is requested the current controller will place almost all voltage in vd. When that happens we can enter a runaway condition where the iq controller does not have enough headroom to overcome the D axis coupling. The backoff gain uses the iq error to reduce the field weakening setpoint when iq is greater than iq_target. | |
| Motor Cfg ▸ FOC ▸ Field Weakening | Field Weakening Current Max foc_fw_current_max | 0 | 5000 | 0 | A | Maximum field weakening (FW) current. |
| Motor Cfg ▸ FOC ▸ Field Weakening | Field Weakening Duty Start foc_fw_duty_start | 0 | 1 | 0.9 | % | Start field weakening at this fraction of maximum duty cycle. |
| Motor Cfg ▸ FOC ▸ Field Weakening | Q Axis Current Factor foc_fw_q_current_factor | 0 | 1 | 0.02 | % | Give the q axis current this much of the field weakening current as braking current (opposite to the current direction). This helps slow the motor down when commanding 0 current in case the position has an offset and the field weakening current contributes with torque. |
| Motor Cfg ▸ FOC ▸ Field Weakening | Field Weakening Ramp Time foc_fw_ramp_time | 0 | 30 | 0.2 | ms | Minimum time to ramp the field weakening current. Setting this to 0 will make the field weakening respond instantly (limited by the D axis current controller). |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Interpolation ERPM foc_hall_interp_erpm | 0 | 1e+06 | 500 | ERPM above which hall sensors are interpolated. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [0] foc_hall_table__0 | 0 | 255 | 255 | Hall sensor table entry for sensor output 0. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [1] foc_hall_table__1 | 0 | 255 | 255 | Hall sensor table entry for sensor output 1. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [2] foc_hall_table__2 | 0 | 255 | 255 | Hall sensor table entry for sensor output 2. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [3] foc_hall_table__3 | 0 | 255 | 255 | Hall sensor table entry for sensor output 3. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [4] foc_hall_table__4 | 0 | 255 | 255 | Hall sensor table entry for sensor output 4. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [5] foc_hall_table__5 | 0 | 255 | 255 | Hall sensor table entry for sensor output 5. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [6] foc_hall_table__6 | 0 | 255 | 255 | Hall sensor table entry for sensor output 6. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Table [7] foc_hall_table__7 | 0 | 255 | 255 | Hall sensor table entry for sensor output 7. | |
| Motor Cfg ▸ FOC ▸ HFI | HFI Ambiguity Resolve Current foc_hfi_amb_current | 0 | 2000 | 60 | A | D-axis current for HFI ambiguity resolution. Not used in the six vector mode. |
| Motor Cfg ▸ FOC ▸ HFI | HFI Ambiguity Resolve Mode foc_hfi_amb_mode | Six Vectors | When starting HFI it is possible to be off by 180 degrees with the tracking, which will make the motor run in the wrong direction. This ambiguity needs to be resolved and the following methods are available for doing that. Six Vectors This is the old method and works for most hobby outrunners. It is faster and less intrusive, but does not work on all motors. Id Single Pulse Inject current into the D-axis to cause saturation and measure how the inductance changes. That is done while tracking using coupled HFI and the result is used to determine if the tracking direction should be flipped. This method is more intrusive than six vectors, but works more reliably on motors with a large iron rotor and more saliency, such as the QS165. Id Double Pulse Same as Id Single Pulse, but injects both a positive and a negative pulse. It is a bit more intrusive and draws a bit more power, but does not require manyally setting a threshold. | |||
| Motor Cfg ▸ FOC ▸ HFI | HFI Ambiguity Resolve Threshold foc_hfi_amb_tres | 0 | 50 | 15 | % | HFI ambiguity resolution threshold in one-pulse mode. Should be set to half of what the inductance is expected to drop by for the ambiguity resolution current. |
| Motor Cfg ▸ FOC ▸ HFI | HFI Gain foc_hfi_gain | 0 | 99 | 0.3 | Correction gain for the silent HFI mode. Higher values are better at handling sudden changes in speed, but also make the position tracking noisier. | |
| Motor Cfg ▸ FOC ▸ HFI | HFI Current Hysteresis foc_hfi_hyst | 0 | 500 | 0 | A | Current hysteresis for the silent HFI mode. This sets above which current magnitude the injected voltage vector changes phase. Always setting the phase opposite of the set current is best for tracking, but every phase change causes a small click that can be heard. This hysteresis reduces how often the phase is changed around 0 current at the cost of some performance. |
| Motor Cfg ▸ FOC ▸ HFI | HFI Max Error foc_hfi_max_err | 0.001 | 6 | 0.15 | Maximum HFI angle error. Lower values help reject noise at high current, but do not keep up with too fast acceleration. | |
| Motor Cfg ▸ FOC ▸ HFI | HFI Observer Override Time foc_hfi_obs_ovr_sec | 0 | 5000 | 0.001 | ms | Override HFI position with observer position for this amount of time after dropping below the HFI ERPM threshold. This can prevent oscillating between the two at a transition. Setting this value too high can make HFI catch the motor 180 electrical degrees off, as the observer position might degrade too much. |
| Motor Cfg ▸ FOC ▸ HFI | HFI Reset ERPM foc_hfi_reset_erpm | 0 | 1e+06 | 500 | ERPM below which the ambiguity resolution is reset. This can usually be quite low as the observer will update the HFI state when the motor is undriven. When the motor is undriven the tracking works down to very low speeds. | |
| Motor Cfg ▸ FOC ▸ VSS | HFI Samples foc_hfi_samples | 16 | Number of HFI samples for each motor revolution. This can't be an arbitrary number as the size of Fourier transforms and sine tables depends on it. Fewer samples will give noisier measurements, but allows estimating the position at a higher rate. The noise can be reduced by increasing the HFI voltage. | |||
| Motor Cfg ▸ FOC ▸ VSS | HFI Start Samples foc_hfi_start_samples | 2 | 60000 | 5 | Number of HFI samples to resolve ambiguity at start. Every sample takes a bit more than 0.5 ms, and no throttle can be applied during this time. The default value is barely noticeable. | |
| Motor Cfg ▸ FOC ▸ HFI | HFI Max Voltage foc_hfi_voltage_max | 0 | 700 | 6 | V | HFI voltage during operation, at maximum current. Increasing the voltage at higher currents helps with tracking. A higher voltage makes HFI noisier and wastes more power, which is why this option allows increasing it at high motor currents when it is needed. The HFI voltage is mapped between voltage_run and voltage_max, relative to the motor current. |
| Motor Cfg ▸ FOC ▸ HFI | HFI Run Voltage foc_hfi_voltage_run | 0 | 700 | 4 | V | HFI voltage during operation, after ambiguity has been resolved. |
| Motor Cfg ▸ FOC ▸ VSS | HFI Start Voltage foc_hfi_voltage_start | 0 | 700 | 20 | V | HFI voltage at start to resolve ambiguity. This voltage has to cause a current that is high enough to see signs of saturation in the motor. |
| Motor Cfg ▸ FOC ▸ Advanced | Maximum VD Magnitude foc_mag_vd_max | 0.4 | 1 | 0.98 | FOC maximum D axis voltage magnitude. When saturating the voltage output of the current controller the D axis has priority. Setting this value to less than 1.0 leaves some voltage headroom for the Q axis controller under full modulation in situations where the D axis tries to use all available voltage. | |
| Motor Cfg ▸ FOC ▸ General | Motor Flux Linkage (λ) foc_motor_flux_linkage | 0 | 1000 | 0.004014 | mWb | The flux linkage of the motor (λ) [mWb] |
| Motor Cfg ▸ FOC ▸ General | Motor Inductance (L) foc_motor_l | 0 | 10 | 1.227e-05 | µH | The average of LD and LQ inductance. |
| Motor Cfg ▸ FOC ▸ General | Motor Inductance Difference (Lq - Ld) foc_motor_ld_lq_diff | -10 | 10 | 3.77e-06 | µH | The difference between Ld and Lq inductance. It represents the motor saliency. This can be measured using the measure_ind terminal command, but the regular detection interface does not print it yet. |
| Motor Cfg ▸ FOC ▸ General | Motor Resistance (R) foc_motor_r | 0 | 1000 | 0.0118 | mΩ | The motor winding resistance. Should be half of what is measured between two motor wires. |
| Motor Cfg ▸ FOC ▸ Advanced | MTPA Algorithm Mode foc_mtpa_mode | Disabled | This parameter will enable the Maximum Torque Per Amp (MTPA) algorithm that injects a negative d axis current to follow the optimum torque trajectory. This is specially valuable on Interior Permanent Magnet (IPM) motors because they have large saliency and can yield a substantial torque increase. The available modes are: Disabled This disables the MTPA algorithm. IQ Target The D-axis current is based on the set Q-axis current. This makes the target value less noisy, but relies on the current controller keeping keeping the Q-axis current close to the set value. This mode does not work well with duty cycle control. IQ Measured The D-axis current is based on the measured Q-axis current. The commanded D-axis current will be more affected by noise, but it does not rely on the Q-axis current controller to keep the current at the set value. Note: Only enable this feature if you know very well what you are doing. IPM motors are not popular and injecting negative id current can increase the motor speed. If id current suddenly collapses (under a fault condition for example) the DC Bus voltage can increase well beyond the powerstage rating causing a fire and maximum braking power at the motor shaft. | |||
| Motor Cfg ▸ FOC ▸ General | Observer Gain (x1M) foc_observer_gain | 0 | 2e+10 | 6.206e+07 | The observer gain. If the motor does not run smoothly with the calculated value, this value can be tweaked. Try with doubling or halving it in that case. | |
| Motor Cfg ▸ FOC ▸ Advanced | Observer Gain At Minimum Duty foc_observer_gain_slow | 0 | 1 | 0.05 | The observer gain scaled at minimum duty cycle. Decreasing this parameter will make observer gain lower at lower modulation, which can help tracking the motor. Setting this parameter to 1 will make the observer gain constant at all modulations. | |
| Motor Cfg ▸ FOC ▸ Advanced | Observer Offset foc_observer_offset | -5 | 5 | -1 | Observer offset in switching cycles. There is some delay between when the current ant voltage measurements are taken and when the output is applied. This will cause the observer phase to lag behind the motor phase at high speed when the zero vector frequency is low in comparison. This parameter adds an offset to the observer phase in multiples of the zero vector frequency to compensate for that delay. The default value should be good for most hardware, but if needed this value can be fine-tuned using and encoder and/or a power analyzer. Important Note Before changing this value, make sure that any phase delay is not caused by incorrect motor parameters or incorrect measurements. Only change this value if you have excluded other possible causes and you know what you are doing. | |
| Motor Cfg ▸ FOC ▸ Advanced | Observer Type foc_observer_type | FOC_OBSERVER_MXLEMMING_LAMBDA_COMP | Type of rotor position observer for field oriented control (FOC). The options are: FOC_OBSERVER_ORTEGA_ORIGINAL The observer described here: http://cas.ensmp.fr/~praly/Telechargement/Journaux/2010-IEEE_TPEL-Lee-Hong-Nam-Ortega-Praly-Astolfi.pdf FOC_OBSERVER_MXLEMMING Observer by David Molony, also known as mxlemming. This observer does not rely on the observer gain parameter, which is a significant advantage. FOC_OBSERVER_MXV Same as MXLEMMING, but truncates the flux linkage in two dimensions. FOC_OBSERVER_ORTEGA_LAMBDA_COMP FOC_OBSERVER_MXLEMMING_LAMBDA_COMP FOC_OBSERVER_MXV_LAMBDA_COMP Same as the others, but with flux linkage tracking. The flux linkage tracker uses the observer gain for both observers, but it is less critical to get it right here as the flux linkage is mostly DC (unless the current is high and the motor starts to saturate). FOC_OBSERVER_MXV_LAMBDA_COMP_LIN Uses linear lambda compensation instead of squares. | |||
| Motor Cfg ▸ FOC ▸ Offsets | Offset Calibration Mode foc_offsets_cal_mode | Write Enabled | Calibrate on Boot Calibrate offsets each boot. Makes the boot slower, but ensures that the offsets are correct. Note that calibration on boot will fail if there is a fault code active during boot that does not go away within a few seconds. Write Enabled Enable writing from VESC Tool. When disabled, the offsets will be ignored when writing the motor configuration. Auto Calibrate Automatically calibrate offsets while the motor is undriven. | |||
| Motor Cfg ▸ FOC ▸ Offsets ▸ Current | Current Offset 0 foc_offsets_current__0 | 0 | 8192 | 2047.39 | Current channel 0 offset in ADC counts. | |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Current | Current Offset 1 foc_offsets_current__1 | 0 | 8192 | 2048.29 | Current channel 1 offset in ADC counts. | |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Current | Current Offset 2 foc_offsets_current__2 | 0 | 8192 | 2048.89 | Current channel 2 offset in ADC counts. | |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Voltage | Voltage Offset 0 foc_offsets_voltage__0 | -2 | 2 | 0.0002 | V | Voltage channel 0 offset. This is at the ADC input, so it is not scaled with the voltage dividers. |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Voltage | Voltage Offset 1 foc_offsets_voltage__1 | -2 | 2 | 0.0006 | V | Voltage channel 1 offset. This is at the ADC input, so it is not scaled with the voltage dividers. |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Voltage | Voltage Offset 2 foc_offsets_voltage__2 | -2 | 2 | -0.0009 | V | Voltage channel 2 offset. This is at the ADC input, so it is not scaled with the voltage dividers. |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Voltage Undriven | Voltage Offset Undriven 0 foc_offsets_voltage_undriven__0 | -2 | 2 | 0.0005 | V | Voltage channel 0 offset when the motor is undriven. This is at the ADC input, so it is not scaled with the voltage dividers. |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Voltage Undriven | Voltage Offset Undriven 1 foc_offsets_voltage_undriven__1 | -2 | 2 | -0.0003 | V | Voltage channel 1 offset when the motor is undriven. This is at the ADC input, so it is not scaled with the voltage dividers. |
| Motor Cfg ▸ FOC ▸ Offsets ▸ Voltage Undriven | Voltage Offset Undriven 2 foc_offsets_voltage_undriven__2 | -2 | 2 | -0.0002 | V | Voltage channel 2 offset when the motor is undriven. This is at the ADC input, so it is not scaled with the voltage dividers. |
| Motor Cfg ▸ FOC ▸ VSS | Openloop ERPM foc_openloop_rpm | 0 | 1e+06 | 1500 | ERPM below which openloop commutation is used when running sensorless. Can be tweaked for the best startup depending on e.g. the load inertia. | |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop ERPM at Min Current foc_openloop_rpm_low | 0 | 1 | 0 | Rationale With low current, the observer has an easier time locking onto the motor, as the `resistance_error * current` has to be low compared to the back-emf for the observer to work. Functional description The openloop ERPM is scaled with the motor current setpoint. This is the fraction of Openloop ERPM at 0A (i.e. minimum current). | |
| Motor Cfg ▸ FOC ▸ Advanced | Overmodulation Factor foc_overmod_factor | 1 | 1.5 | 1 | FOC overmodulation factor. Allows slightly higher speed at the expense of output voltage distortion. A factor of 1.15 results in a modulated hexagon, similar to trapezoidal commutation. Generally it does not make sense to go higher than 1.15. | |
| Motor Cfg ▸ FOC ▸ Filters | Disable Phase Filter Fault Code foc_phase_filter_disable_fault | 1 | Disable the phase filter fault code. This can be useful if the phase filter fault seems to trigger for no reason on some difficult motors. | |||
| Motor Cfg ▸ FOC ▸ Filters | Enable Phase Filters foc_phase_filter_enable | 1 | This enables the use of phase voltage filters on hardware that supports it. Instead of calculating the phase voltage from the input voltage and modulation, it is measured directly by low-pass filtering the power stage output. The advantage of doing so is that it eliminates dead-time distortion, which helps track the motor at very low speeds. It should also be very useful on hardware with an IGBT output stage, as it compensated for the effect of IGBT voltage drop too. | |||
| Motor Cfg ▸ FOC ▸ Filters | Maximum ERPM for phase filters foc_phase_filter_max_erpm | 0 | 100000 | 4000 | ERPM | Use the filtered phase voltage up until this ERPM, then use the value derived from the input voltage and the modulation. The delay and attenuation from the phase filters increases with the motor speed, while the dead-time distortion becomes less significant. The delay and attenuation is partly compensated for, but at some point it is still better to derive the phase voltages from the input voltage and modulation. This parameter sets that point. |
| Motor Cfg ▸ FOC ▸ Advanced | Speed Tracker Ki foc_pll_ki | 0 | 1e+06 | 30000 | Speed tracker integral gain. The speed tracker estimates the motor speed by tracking the phase angle. | |
| Motor Cfg ▸ FOC ▸ Advanced | Speed Tracker Kp foc_pll_kp | 0 | 1e+06 | 2000 | Speed tracker proportional gain. The speed tracker estimates the motor speed by tracking the phase angle. | |
| Motor Cfg ▸ FOC ▸ Sensorless | Saturation Compensation Factor foc_sat_comp | 0 | 1 | 0 | Stator saturation compensation. When using high currents the stator of the motor can get saturated. This will change the motor parameters, making it difficult for the sensorless observer to track the rotor position. The effect is most noticeable when running the motor with high current at low speed - it will get stuck and then "cog" when open loop operation tries to restart the motor. If you observe this behavior you can try to increase this parameter. This parameter attempts to compensate for effects of stator saturation, making it possible to run motors sensorlessly even at high current and low speed. Reasonable values for this parameters are 15 % or less. If going higher than that gives good results something else is most likely wrong in your configuration. Consider the following: Motors that run at low speed and high torque tend to get saturated, such as e-bike direct drive hub motors. Coreless motors should in theory never get saturated. The effect of this parameter is proportional to the maximum motor current limit, meaning that this parameter has no effect at zero current and full effect at full current. If you change the maximum motor current limit you have to adapt this parameter accordingly. | |
| Motor Cfg ▸ FOC ▸ Sensorless | Saturation Compensation Mode foc_sat_comp_mode | Lambda | Stator Saturation Compensation Mode: Disabled No saturation compensation is done. Factor The Saturation Compensation Factor is used to determine how much to decrease the inductance and flux linkage based on the current. Lambda The decrease in flux linkage is used to make a proportional decrease in inductance. This requires that one of the observers with Lambda Compensation is used. Lambda and Factor First the lambda compensation and then the factor is used. Also requires that one of the observers with Lambda Compensation is used. | |||
| Motor Cfg ▸ FOC ▸ General | Sensor Mode foc_sensor_mode | Sensorless | Sensor mode for the motor. Sensorless Don't use any position sensor on the motor and only rely on the observer and starting algorithm. Works well for most applications (not position control), but the start can be a bit delayed. Encoder Use an encoder on the motor shaft. Works well for position control applications such as CNC mills. Hall Sensors Use hall sensors with 60 or 120 degree spacing in the motor. Gives starts without any delay at all, but does not work that well for most position control applications. HFI High Frequency Injection. Track the position down to 0 speed by injecting voltage pulses and analyzing the response of the motor. Works on most motors that have enough difference in D-axis and Q-axis inductance. VSS Vedder Sensorless Start. Use HFI just after starting the motor to resolve the initial position and set the observer state to that position. This can help the observer track the motor correctly from 0 speed. As this also is based on saturation it can help start some motors with low saliency. 45 Deg V0V7 HFI (Silent) A different approach to HFI that is completely silent if the zero vector frequency is high enough (maximum around 32 kHz). It is also more stable under high load when configured properly. This implementation relies on a good inductance measurement (in addition to some difference in Lq and Ld), so if it does not work well you can try adjusting the inductance 1-5 % up and down. Note that phase shunts are required to make this mode silent, otherwise the sampling has to be done at half the frequency in V0 only. 45 Deg V0 HFI Same as above, but will only sample in V0. Coupled V0V7 HFI (Silent) Inject a voltage in the D axis and measure the response in the Q axis. It is much less sensitive to getting the average inductance correct as the coupling between the axes shows up without an offset in the response. It does not work as well as the 45 degree HFI under high load though. Credit: Elwin and David (mxlemming) on the VESC Discord channel. Coupled V0 HFI Same as above, but will only sample in V0. AB Encoder (No Index Pulse) Encoder without index pulse. Use sensorless FOC from the start. Update the encoder offset when FOC enter the sensorless ERPM - after that it will behave as if the index pulse is found. See https://github.com/vedderb/bldc/pull/894 NOTE: HFI and VSS only work when the FOC switching frequency is at or below 30 KHz. NOTE2: Some of the HFI-methods will get a division by 0 if Ld - Lq is set to 0, which can make the CPU reboot. | |||
| Motor Cfg ▸ FOC ▸ Advanced | Short Low-Side FETs on Zero Duty foc_short_ls_on_zero_duty | 0 | Short low-side FETs on 0 duty cycle. This will give a bit more braking torque when the motor is standing still and braking is requested. It also uses less power to drive the FETs. The downsides are that the low-side FETs will take all load by themselves and that the transition to and from full brake will be a bit more rough. | |||
| Motor Cfg ▸ FOC ▸ Encoder | Sensorless ERPM foc_sl_erpm | 0 | 1e+06 | 3500 | ERPM above which sensorless commutation is used in sensored modes. | |
| Motor Cfg ▸ FOC ▸ HFI | Sensorless ERPM HFI foc_sl_erpm_hfi | 0 | 1e+06 | 3000 | ERPM below which HFI is used. | |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Sensored ERPM Start foc_sl_erpm_start | 0 | 1e+06 | 2500 | ERPM below which only sensored commutation is used. Above this ERPM the observer will start to have impact on the position. | |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop Current Boost foc_sl_openloop_boost_q | 0 | 300 | 0 | A | Rationale Current boost can help the motor get over its initial cogging torque more easily, but it also potentially makes the start more jittery. Functional description Current boost in the Q-axis during the open loop procedure. For instance, if the commanded value is 1A and the boost is 10A, then it will run at `1A + 10A` for `Openloop lock time + Openloop ramp time + Openloop time` seconds. Then it will continue at 1A in closed-loop. |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop Hysteresis foc_sl_openloop_hyst | 0 | 100 | 0.1 | S | Go to openloop mode if the ERPM has been below the openloop RPM for this amount of time. |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop Current Max foc_sl_openloop_max_q | -1 | 300 | -1 | A | Limit the current during the openloop sequence to this value. Setting the boost current higher than this value means that the openloop current is a constant value (this one). A negative value means that this limit is disabled. |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop Time foc_sl_openloop_time | 0 | 100 | 0.05 | S | Stay in openloop for this amount of time after finishing the ramp. |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop Lock Time foc_sl_openloop_time_lock | 0 | 100 | 0 | S | Lock motor for this amount of time in the beginning of the open loop sequence. |
| Motor Cfg ▸ FOC ▸ Sensorless | Openloop Ramp Time foc_sl_openloop_time_ramp | 0 | 100 | 0.1 | S | Ramp up the openloop speed in the openloop sequence for this amount of time. |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Speed Tracker Position Source foc_speed_soure | Corrected Position | Position source for the speed trackers. Corrected Position Use the derived motor control position from sensors, HFI and observer. Observer Use the observer position. This is usually less noisy than hall sensors or hfi, but it can drift slowly at 0 speed. | |||
| Motor Cfg ▸ FOC ▸ Sensorless | Start Current Decrease foc_start_curr_dec | 0 | 1 | 1 | Decrease the current limit to this percentage at start. This helps starting the motor as the observer can track it easier when the current is low. This setting will not give the full starting torque, but for some applications, such as propellers and pumps, that does not matter. | |
| Motor Cfg ▸ FOC ▸ Sensorless | Start Current Decrease ERPM foc_start_curr_dec_rpm | 0 | 1e+06 | 2500 | Above this ERPM the full current is available. | |
| Motor Cfg ▸ FOC ▸ Sensorless | Temp Comp foc_temp_comp | 0 | Use temperature compensation for the motor resistance used by the observer. Should help at low speed when the motor temperature is far away from the temperature at which the resistance was measured. | |||
| Motor Cfg ▸ FOC ▸ Sensorless | Temp Comp Base Temp foc_temp_comp_base_temp | -120 | 120 | 25 | °C | Motor temperature at which the motor resistance was measured. |
| Motor Cfg ▸ BLDC ▸ Sensors | Sensorless ERPM Hybrid hall_sl_erpm | 0 | 1e+06 | 2000 | ERPM above which sensorless commutation is used in hybrid mode. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [0] hall_table__0 | -1 | 6 | -1 | Hall sensor table entry for sensor output 0. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [1] hall_table__1 | -1 | 6 | 1 | Hall sensor table entry for sensor output 1. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [2] hall_table__2 | -1 | 6 | 3 | Hall sensor table entry for sensor output 2. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [3] hall_table__3 | -1 | 6 | 2 | Hall sensor table entry for sensor output 3. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [4] hall_table__4 | -1 | 6 | 5 | Hall sensor table entry for sensor output 4. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [5] hall_table__5 | -1 | 6 | 6 | Hall sensor table entry for sensor output 5. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [6] hall_table__6 | -1 | 6 | 4 | Hall sensor table entry for sensor output 6. | |
| Motor Cfg ▸ BLDC ▸ Sensors | Hall Table [7] hall_table__7 | -1 | 6 | -1 | Hall sensor table entry for sensor output 7. | |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ General | Current Threshold haptic.current_threshold | 0 | 1 | 0 | % | A current threshold for solid tone haptic feedback as a percentage of the configured maximums for motor and battery currents. Whenever one of the currents (battery or motor) crosses this percentage threshold, solid tone haptic feedback will be triggered. Set to 0% to disable. |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ Audible Feedback (firmware 6.05+) | Warning Audible Frequency haptic.duty.frequency | 300 | 1000 | 495 | Hz | Audible frequency of the Speed and Duty Cycle Alert haptic feedback. Also used for Current Limit haptic feedback, if enabled. (generated by foc_play_tone of the 6.05 firmware) |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ Audible Feedback (firmware 6.05+) | Warning Audible Strength haptic.duty.strength | 0 | 12 | 3 | V | Maximum strength of the audible Speed and Duty Cycle haptic feedback, in Volts. Also used for Current Limit haptic feedback, if enabled. Actual strength is determined by strength scaling, which depends on speed. This value is the maximum strength, which will be reached at your configured Maximum Strength Speed. Set to 0.0 to disable the audible frequency for haptic alerts. |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ General | Duty Cycle Solid Offset haptic.duty_solid_offset | 0 | 1 | 0.05 | % | Duty Cycle offset to trigger solid tone haptic feedback, in precentage points. Example: If your Duty Cycle Threshold is 80% and your Duty Cycle Solid Offset is 5%, haptic feedback will turn to solid tone after you cross 85% Duty Cycle. Set to 0% to only have solid tone Duty Cycle haptic feedback. Set to 100% to disable. |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ Audible Feedback (firmware 6.05+) | Error Audible Frequency haptic.error.frequency | 300 | 1000 | 550 | Hz | Audible frequency of the Error haptic feedback. (generated by foc_play_tone of the 6.05 firmware) |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ Audible Feedback (firmware 6.05+) | Error Audible Strength haptic.error.strength | 0 | 12 | 3 | V | Maximum strength of the audible Error haptic feedback, in Volts. Actual strength is determined by strength scaling, which depends on speed. This value is the maximum strength, which will be reached at your configured Maximum Strength Speed. Set to 0.0 to disable the audible frequency for haptic alerts. |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ General | Maximum Strength Speed haptic.max_strength_speed | 10 | 100 | 30 | km/h | The speed at which the strengths of all the feedback types will reach their configured maximums. Beyond this value, the haptic feedback strength will remain the same. |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ General | Minimum Strength haptic.min_strength | 0 | 1 | 0.2 | % | Minimum strength of the feedback at zero speed, as a precentage of the strength configured for the given feedback type. |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ General | Strength Curvature haptic.strength_curvature | 0 | 1 | 0.6 | The curvature of the strength / speed curve, i.e. how fast it grows as speed increases. Set to 0 to make the curve straight (linear). The higher the number, the mellower the speed increase at low speeds and steeper at high speeds. When set to 1, the strength will grow the slowest at zero speed and the fastest at your configured Maximum Speed Strength (the shape will be quadratic). | |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ Vibration Feedback | Vibrate Frequency haptic.vibrate.frequency | 10 | 200 | 70 | Hz | Vibrating frequency of both Warning and Error haptic feedback. Note: When changing this option, the actual frequency will be changing in larger discrete steps, as the configured frequency is being rounded down to the nearest division of control loop frequency / 2. (generated by modulating a square wave on requested current, not using foc_play_tone from 6.05) |
| Refloat Cfg ▸ General ▸ Haptic Feedback ▸ Vibration Feedback | Vibrate Strength haptic.vibrate.strength | 0 | 25 | 0 | A | Maximum strength of the vibrating haptic feedback, in Amps. Actual strength is determined by strength scaling, which depends on speed. This value is the maximum strength, which will be reached at your configured Maximum Strength Speed. Set to 0.0 to disable the vibrating frequency for haptic alerts. |
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Front LED Color Order hardware.leds.front.color_order | GRB | Front LED color order: GRB: WS2811, WS2812b, SK2812 GRBW: SK6812 RGB: WS2815 WRGB: WS2814 Some strips have different color order. If your strip is not on the list, test which value works for you. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Front LED Strip Length hardware.leds.front.count | 0 | 30 | 20 | Number of LEDs in your front LED strip. Board restart required for changes to take effect. | |
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Front LED Strip Order hardware.leds.front.order | 2nd | Order of the front LED strip in the chain. Set to "Not Present" if you don't have a front LED strip. Board restart required for changes to take effect. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Reverse Front LED Direction hardware.leds.front.reverse | 0 | Reverse the direction of the front LED strip. Board restart required for changes to take effect. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | LED Mode hardware.leds.mode | Off | LED control mode: Off: Disable LED controls Internal: LEDs driven by the Refloat package External: External LED control modules, such as the Floatwheel LCM Internal and External: Both of the above (e.g. connect status bar directly to VESC and front/rear lights to VESC Express) External (LCM) External Modules have their own simple LED configuration, which uses three brightness levels: Brightness Brightness (Idle) Status Brightness For configuring these from Refloat, the following Refloat options will be used for the above LCM parameters respectively (for status, the one used depends on the Headlights On switch): Headlights Brightness Front Brightness Status Brightness (Headlights Off) Status Brightness (Headlights On) You can use the LEDs On switch to turn LCM lights on and off. You can toggle the Headlights On switch to have Headlights Brightness be used when engaged. When it's off, Front Brightness will be used regardless of whether the board is engaged or idle. Also, the corresponding Status Brightness will be used. The rest of the options is ignored for the External LED type. Board restart required for changes to take effect. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | LED Pin hardware.leds.pin | Dedicated LED pin | The pin to which the LEDs are connected on the VESC. PPM/Servo pin: Little FOCer v3.x, Tronic 250R, Ubox V2 75V/100V (pin B6) Dedicated LED pin: Little FOCer v4.x, Thor 300/301/400 (pin B7) JetFleet F6 v1 AUX pin (pin C9) Board restart required for changes to take effect. Note: For the PPM/Servo pin to work, you need to remove a capacitor from the VESC. For Little FOCer / Tronic it's the C3 capacitor. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | LED Pin Configuration hardware.leds.pin_config | Pullup to 5V | The configuration of the LED pin: Pullup to 5V: Most controllers with a dedicated LED pin (Little FOCer v4, all Thors), custom solutions on the PPM/Servo pin with an external 1kOhm pullup resistor to 5V No Pullup: JetFleet F6 v2, custom solutions with no external pullup Board restart required for changes to take effect. Note: The No Pullup option may work for the Pullup to 5V controllers, but the signal will be limited to 3.3V. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Rear LED Color Order hardware.leds.rear.color_order | GRB | Rear LED color order: GRB: WS2811, WS2812b, SK2812 GRBW: SK6812 RGB: WS2815 WRGB: WS2814 Some strips have different color order. If your strip is not on the list, test which value works for you. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Rear LED Strip Length hardware.leds.rear.count | 0 | 30 | 20 | Number of LEDs in your rear LED strip. Board restart required for changes to take effect. | |
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Rear LED Strip Order hardware.leds.rear.order | 3rd | Order of the rear LED strip in the chain. Set to "Not Present" if you don't have a rear LED strip. Board restart required for changes to take effect. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Reverse Rear LED Direction hardware.leds.rear.reverse | 0 | Reverse the direction of the rear LED strip. Board restart required for changes to take effect. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Status LED Color Order hardware.leds.status.color_order | GRB | Status bar LED color order: GRB: WS2811, WS2812b, SK2812 GRBW: SK6812 RGB: WS2815 WRGB: WS2814 Some strips have different color order. If your strip is not on the list, test which value works for you. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Status LED Strip Length hardware.leds.status.count | 0 | 30 | 10 | Number of LEDs in your status bar strip. Board restart required for changes to take effect. | |
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Status LED Strip Order hardware.leds.status.order | 1st | Order of the status bar strip in the chain. Set to "Not Present" if you don't have a status bar. Board restart required for changes to take effect. | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Leds (changes require reboot) | Reverse Status LED Direction hardware.leds.status.reverse | 0 | Reverse the direction of the status bar LED strip. Board restart required for changes to take effect. | |||
| Refloat Cfg | Refloat Cfg hw_name | This is the VESC Logging and Communication Module. | ||||
| App Cfg ▸ IMU ▸ General ▸ AHRS | Accelerometer Confidence Decay imu_conf.accel_confidence_decay | 0 | 999 | 1 | This factor sets how fast the accelerometer confidence will be decreased if the acceleration vector differs from 1.0. | |
| App Cfg ▸ IMU ▸ General | Accel lowpass filter X imu_conf.accel_lowpass_filter_x | 0 | 1000 | 0 | Hz | Accelerometer lowpass filter Biquad lowpass filter applied to X axis. This is run on the ESC and will be applied regardless of IMU model. Setting the filter to 0Hz will disable it. |
| App Cfg ▸ IMU ▸ General | Accel lowpass filter Y imu_conf.accel_lowpass_filter_y | 0 | 1000 | 0 | Hz | Accelerometer lowpass filter Biquad lowpass filter applied to Y axis. This is run on the ESC and will be applied regardless of IMU model. Setting the filter to 0Hz will disable it. |
| App Cfg ▸ IMU ▸ General | Accel lowpass filter Z imu_conf.accel_lowpass_filter_z | 0 | 1000 | 0 | Hz | Accelerometer lowpass filter Biquad lowpass filter applied to Z axis. This is run on the ESC and will be applied regardless of IMU model. Setting the filter to 0Hz will disable it. |
| App Cfg ▸ IMU ▸ General ▸ Offsets | Accel Offset X imu_conf.accel_offsets__0 | -16 | 16 | 0 | G | Accelerometer offset X. |
| App Cfg ▸ IMU ▸ General ▸ Offsets | Accel Offset Y imu_conf.accel_offsets__1 | -16 | 16 | 0 | G | Accelerometer offset Y. |
| App Cfg ▸ IMU ▸ General ▸ Offsets | Accel Offset Z imu_conf.accel_offsets__2 | -16 | 16 | 0 | G | Accelerometer offset Z. |
| App Cfg ▸ IMU ▸ General | Accel/Gyro Filter imu_conf.filter | IMU_FILTER_LOW | Set the onboard accel/gyro filters. | |||
| App Cfg ▸ IMU ▸ General | Gyro lowpass filter imu_conf.gyro_lowpass_filter | 0 | 1000 | 0 | Hz | Gyrosocpe lowpass filter Biquad lowpass filter applied to all 3 axes of the gyroscope. This is run on the ESC and will be applied regardless of IMU model. Setting the filter to 0Hz will disable it. |
| App Cfg ▸ IMU ▸ General ▸ Offsets | Gyro Offset X imu_conf.gyro_offsets__0 | -1000 | 1000 | 0 | °/s | Gyro offset (drift) X. |
| App Cfg ▸ IMU ▸ General ▸ Offsets | Gyro Offset Y imu_conf.gyro_offsets__1 | -1000 | 1000 | 0 | °/s | Gyro offset (drift) Y. |
| App Cfg ▸ IMU ▸ General ▸ Offsets | Gyro Offset Z imu_conf.gyro_offsets__2 | -1000 | 1000 | 0 | °/s | Gyro offset (drift) Z. |
| App Cfg ▸ IMU ▸ General ▸ AHRS | Madgwick Beta imu_conf.madgwick_beta | 0 | 999 | 0.1 | Beta for Madgwick filter. Decides how much the accelerometer is used for attitude estimation. Increasing this value helps against gyro offsets, but makes the output noisier. | |
| App Cfg ▸ IMU ▸ General ▸ AHRS | Mahony KI imu_conf.mahony_ki | 0 | 999 | 0 | KI for Mahony filter. Integrates gyro offsets over time. | |
| App Cfg ▸ IMU ▸ General ▸ AHRS | Mahony KP imu_conf.mahony_kp | 0 | 999 | 0.3 | KP for Mahony filter. Decides how much the accelerometer is used for attitude estimation. Increasing this value helps against gyro offsets, but makes the output noisier. | |
| App Cfg ▸ IMU ▸ General ▸ AHRS | IMU AHRS Mode imu_conf.mode | AHRS_MODE_MADGWICK | Use the Madgwick or Mahony AHRS filter. | |||
| App Cfg ▸ IMU ▸ General ▸ Rotation | Imu Rotation Pitch imu_conf.rot_pitch | -360 | 360 | 0 | ° | Pitch rotation of IMU. Can be adjusted if the IMU is not aligned with the vehicle. |
| App Cfg ▸ IMU ▸ General ▸ Rotation | Imu Rotation Roll imu_conf.rot_roll | -360 | 360 | 0 | ° | Roll rotation of IMU. Can be adjusted if the IMU is not aligned with the vehicle. |
| App Cfg ▸ IMU ▸ General ▸ Rotation | Imu Rotation Yaw imu_conf.rot_yaw | -360 | 360 | 0 | ° | Yaw rotation of IMU. Can be adjusted if the IMU is not aligned with the vehicle. |
| App Cfg ▸ IMU ▸ General | Sample Rate imu_conf.sample_rate_hz | 1 | 10000 | 200 | Hz | IMU sample rate. Higher sample rates use more CPU cycles, but perform better. |
| App Cfg ▸ IMU ▸ General | IMU Type imu_conf.type | IMU_TYPE_INTERNAL | IMU type. The internal IMU is only available if the hardware supports it. External IMUs can be connected to the SDA and SCL pins. If using an external IMU, make sure that no app that uses the same pins is selected. | |||
| App Cfg ▸ IMU ▸ General | Use magnetometer imu_conf.use_magnetometer | 1 | Use magnetometer. | |||
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Tiltback | Tiltback Angle Limit inputtilt_angle_limit | 0 | 90 | 10 | ° | Maximum angle to which Remote Tiltback will tilt. Determines the scaling of throttle-to-angle (i.e. Max Angle of 10° + 50% Throttle = 5° Tilt Angle). Note: Pitch Axis Faults and Quickstop will be disabled when Remote Tilt Setpoint is beyond 30°, making it safe to use for Vert. WARNING: Tilting the setpoint beyond the point of nose/tail dragging will cause the board to accelerate on its own (tail dragging forward). Additionally, a high maximum tilt angle can result in unintended nose/tail diving at speed when not used carefully. BE CAUTIOUS when using maximum angles beyond 20°! |
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Tiltback | Input Deadband inputtilt_deadband | 0 | 0.5 | 0.1 | % | Deadband region for the center of the input throttle. Can assist with remotes that do not fully return to center. For example, a Deadband of 10% will only begin adjusting setpoint once the throttle reaches a value of +/- 10%. From there, it will scale as if 10% throttle was the center point (0%). |
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Tiltback | Invert Throttle inputtilt_invert_throttle | 1 | False: Throttle Forward = Nose Lift Throttle Backward = Nose Lower True (Default): Throttle Forward = Nose Lower Throttle Backward = Nose Lift | |||
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Tiltback | Remote Type inputtilt_remote_type | None | Select how the remote's reciever communicates with VESC (PPM or UART). Note: Remote Tiltback requires an input device (such as a UART/PPM Eskate remote)! If not applicable, the type should remain as "None." Note: For PPM, make sure to keep the Beeper DISABLED (under "Specs" tab) for proper functionality. A reboot may be required following the switch. | |||
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Tiltback | Tiltback Speed inputtilt_speed | 0 | 150 | 25 | °/s | Rate at which Remote Tiltback will tilt to the desired angle. |
| Refloat Cfg ▸ General ▸ Specs ▸ Miscellaneous | Enable Beeper on Servo/PPM is_beeper_enabled | 0 | Enable/disable beeper. Beeper is controlled by Servo/PPM. Active beeper required, 3pin version recommended. | |||
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Beep on Duty Pushback is_dutybeep_enabled | 0 | Beep during duty cycle pushback. Warning: beeper may not be easily audible at high speeds! | |||
| Refloat Cfg ▸ General ▸ Specs ▸ Foot Sensors | Beep on Sensor Fault is_footbeep_enabled | 1 | Beep when both sensors turn off above 2000erpm (beeps for as long as the sensor remains off) | |||
| Refloat Cfg ▸ General ▸ Tune ▸ PID | Angle I ki | 0 | 0.5 | 0.005 | Angle I (Integral) value As time passes with the board angle away from setpoint (considered "error"), Angle I will strengthen the board response based on cumulative error over time. Can be a subtle effect, and has most noticeable effect at the start of uphills/downhills, as well as tricks involving motor freespin. This is a more nuanced parameter, and it's not recommended to tweak it too much if you're not sure what you're doing. Most riders should be fine with the default value of 0.005. Recommended Values: 0.005 - 0.08 (Caution with higher values!!) | |
| Refloat Cfg ▸ General ▸ Tune ▸ PID | I Term Limit ki_limit | 0 | 500 | 30 | A | I Term Limiter (Limit Integral Amps) Limits the amount of current the I component of PID is allowed to accumulate over time. This limits the max response in scenarios with extreme error, such as inclines/declines, as well as freespin tricks, curb nudges, etc. that may overshoot on the landing otherwise. Recommended Value: 20A - 30A *Note: 0 = Disabled (Not Recommended) *Note: Was under the parameter "Deadzone" in previous firmware versions. The values used for that parameter before are now scaled up 10x (i.e. a previous "Deadzone" value of 3, is now an I Term Limit of 30A). |
| App Cfg ▸ General ▸ General | Kill Switch Mode kill_sw_mode | Disabled | Kill switch input. When this input is active the motor is disabled and optionally braking if timeout_brake_current is greater than 0. The kill switch overrides all other inputs and can be used as an emergency stop. The following modes can be used: Disabled No kill switch is used. PPM Low The kill switch is active when the PPM input goes low. PPM High The kill switch is active when the PPM input goes high. ADC2 Low The kill switch is active when the ADC2 input goes low. ADC2 High The kill switch is active when the ADC2 input goes high. | |||
| Refloat Cfg ▸ General ▸ Tune ▸ PID | Angle P kp | 0 | 40 | 20 | Angle P (Proportional) Determines how strong the board responds to a difference in Board Angle vs. Setpoint Angle (i.e. nose below setpoint will accelerate, nose above setpoint will brake). Recommended Values: 10 - 35 (Take caution closer to 35!) *Note: Angle P and Rate P work together to shape a large part of the ride feel. If trying to soften the effects of both and you would like to maintain the ride feel, these values should be adjusted together by the same proportion (i.e. If reducing Angle P by half, such as from 20 -> 10, Rate P should be reduced by half as well, such as from 0.6 -> 0.3). | |
| Refloat Cfg ▸ General ▸ Tune ▸ PID | Rate P kp2 | 0 | 3 | 0.6 | Rate P (Proportional) value Determines how strong the board responds to the nose's angular velocity, regardless of setpoint (i.e. pushing nose down will accelerate, pulling nose up will brake). Essentially, stronger Rate P makes the board more resistant to quick changes in nose angle.Most noticeable in quick/aggressive manuevers, as well as scenarios where Angle P is not effective. For example, coming from hard braking (nose high above setpoint), Rate P will allow the board to begin to accelerate the moment you start pushing the nose down, before the nose is even below setpoint. For our use case, while Rate P is a Proportional value, we utilize it practically as the D (Derivative) component for our PID loop, working as a damper for the Angle P component. Recommended Values: 0.6 - 1.0 (Above 1.0 is possible, but you may experience negative side effects such as vibrations, especially in low speed turns. Increment 0.1 at a time.) *Note: Angle P and Rate P work together to shape a large part of the ride feel. If trying to soften the effects of both and you would like to maintain the ride feel, these values should be adjusted together by the same proportion (i.e. If reducing Angle P by half, such as from 20 -> 10, Rate P should be reduced by half as well, such as from 0.8 -> 0.4). | |
| Refloat Cfg ▸ General ▸ Tune ▸ Brake Scaling | Rate P (Braking) kp2_brake | 0 | 3 | 1 | x | Scales your Rate P value for braking. For example, if: Rate P = 0.6, Rate P (Braking) = 0.5x, then your brakes will use a Rate P of 0.3, half the strength of your acceleration Rate P. |
| Refloat Cfg ▸ General ▸ Tune ▸ Brake Scaling | Angle P (Braking) kp_brake | 0.2 | 3 | 1 | x | Scales your Angle P value for braking. For example, if: Angle P = 20, Angle P (Braking) = 0.5x, then your brakes will use an Angle P of 10, half the strength of your acceleration Angle P. |
| Motor Cfg ▸ General ▸ Current ▸ Motor | Absolute Maximum Current l_abs_current_max | 0 | 5000 | 150 | A | The current magnitude above which all output will be switched off and a fault code thrown. Usually the current control loops take care of limiting the current, but in some conditions short current spikes can appear very quickly. The system can handle them quite well in most cased, so this value can be set relatively high compared to the other current values to avoid cutouts. |
| Motor Cfg ▸ General ▸ Advanced | Additional Faults l_additional_faults | Encoder Slip | Encoder Slip Check for mechanical slip by comparing the FOC observer phase against the physical encoder phase. If enabled, a fault will be triggered if the phase gap exceeds 15 degrees for more than 500ms while spinning. This check will only be performed while the ERPM is higher than the Openloop ERPM setting. Overspeed Triggers a fault code if the ERPM exceeds the Max ERPM limit. Underspeed Triggers a fault code if the reverse ERPM exceeds the Max ERPM Reverse limit. Absolute Overspeed Triggers a fault code if absolute ERPM exceeds the highest of the Max ERPM and Max ERPM reverse limits. | |||
| Motor Cfg ▸ General ▸ Voltage | Battery Voltage Cutoff End l_battery_cut_end | 0 | 1100 | 8 | V | The input voltage below which current draw is not allowed anymore. There is still full braking current available as braking only charges the battery. |
| Motor Cfg ▸ General ▸ Voltage | Battery Voltage Cutoff Start l_battery_cut_start | 0 | 1100 | 10 | V | The input voltage where current starts to get reduced. There is still full braking current available as braking only charges the battery. |
| Motor Cfg ▸ General ▸ Voltage | Battery Voltage Regen Cutoff End l_battery_regen_cut_end | 0 | 1100 | 1100 | V | The input voltage above which regen braking current is not allowed anymore. When regenerative braking is used, the controller can dump a large amount of energy into the battery, charging it at higher currents than the actual battery charger. This setting can be used to avoid overcharging the battery in long downhills or hard regen braking. Note that beyond this value, regen braking will be completely disabled. |
| Motor Cfg ▸ General ▸ Voltage | Battery Voltage Regen Cutoff Start l_battery_regen_cut_start | 0 | 1100 | 1000 | V | The input voltage where regen braking current starts to get reduced. When regenerative braking is used, the controller can dump a large amount of energy into the battery, charging it at higher currents than the actual battery charger. This setting can be used to avoid overcharging the battery in long downhills or hard regen braking. Note that beyond this value, regen braking will start to become weaker. |
| Motor Cfg ▸ General ▸ Current ▸ Motor | Motor Current Max l_current_max | 0 | 5000 | 60 | A | Maximum motor current. |
| Motor Cfg ▸ General ▸ Current ▸ Motor | Max Current Scale l_current_max_scale | 0 | 1 | 1 | Maximum current scale. This value is multiplied with the maximum current. It is a convenient method to scale the current limits without forgetting the actual maximum value. | |
| Motor Cfg ▸ General ▸ Current ▸ Motor | Motor Current Max Brake l_current_min | -5000 | 0 | -60 | A | Maximum (braking) motor current. The is the maximum current that will be fed back to the VESC and when braking, thus negative. The energy from the braking current will be fed back to the battery. |
| Motor Cfg ▸ General ▸ Current ▸ Motor | Min Current Scale l_current_min_scale | 0 | 1 | 1 | Minimum current scale. This value is multiplied with the minimum current. It is a convenient method to scale the current limits without forgetting the actual maximum value. | |
| Motor Cfg ▸ General ▸ Advanced | Duty Cycle Current Limit Start l_duty_start | 0 | 1 | 1 | Start to reduce the current at this duty cycle. Lowering this number will make the motor limit the torque softly when reaching max speed, however, it will also decrease the top speed a bit. | |
| Motor Cfg ▸ General ▸ RPM | ERPM Limit Start l_erpm_start | 0 | 1 | 0.8 | Start to reduce the current at this fraction of the ERPM limit. Lowering this number will make the ERPM limit softer. | |
| Motor Cfg ▸ General ▸ Current ▸ Battery | Input Current Map Filter l_in_current_map_filter | 0 | 1 | 0.005 | Input current filter for the mapped Q axis current limit. Range 0.0 to 1.0 where 1.0 is no filtering and the closer to 0.0 the more filtering there is. Filtering the input current before the mapped limit can affect oscillations caused by the limit. | |
| Motor Cfg ▸ General ▸ Current ▸ Battery | Input Current Limit Map Start l_in_current_map_start | 0 | 1 | 1 | Start limiting the Q axis current when the input current reaches this fraction of the maximum input current. The default value of 100% disables this function. This is useful for limiting the input current when using field weakening and MTPA. Setting this value too low will limit the current more than needed and setting it too high can lead to oscillation close to the maximum current. A value of 80-90% is a good starting point. | |
| Motor Cfg ▸ General ▸ Current ▸ Battery | Battery Current Max l_in_current_max | 0 | 5000 | 99 | A | The maximum current that can be drawn from the battery. The battery current is always lower than or equal to the motor current. |
| Motor Cfg ▸ General ▸ Current ▸ Battery | Battery Current Max Regen l_in_current_min | -5000 | 0 | -60 | A | The maximum regenerative current that can be fed to the battery (thus negative). The battery current is always lower than or equal to the motor current. |
| Motor Cfg ▸ General ▸ Advanced | Maximum Duty Cycle l_max_duty | 0 | 1 | 0.95 | % | Maximum allowed duty cycle. |
| Motor Cfg ▸ General ▸ RPM | Max ERPM l_max_erpm | 0 | 1e+06 | 100000 | The maximum electrical RPM. | |
| Motor Cfg ▸ BLDC ▸ Advanced | Max ERPM Full Brake l_max_erpm_fbrake | 0 | 1e+06 | 300 | The maximum ERPM at which a full brake is allowed (BLDC Only). | |
| Motor Cfg | Max ERPM Full Brake Current Control l_max_erpm_fbrake_cc | 0 | 1e+06 | 1500 | The ERPM below which a direction change is allowed in current control (BLDC Only). | |
| Motor Cfg ▸ General ▸ Advanced | Maximum Input Voltage l_max_vin | 0 | 1100 | 57 | V | The input voltage above which a fault code is thrown. |
| Motor Cfg ▸ General ▸ Advanced | Minimum Duty Cycle l_min_duty | 0 | 1 | 0.005 | % | Minimum allowed duty cycle. |
| Motor Cfg ▸ General ▸ RPM | Max ERPM Reverse l_min_erpm | -1e+06 | 0 | -100000 | The maximum reverse electrical RPM. | |
| Motor Cfg ▸ General ▸ Advanced | Minimum Input Voltage l_min_vin | 0 | 1100 | 8 | V | The input voltage below which a fault code is thrown. |
| Motor Cfg ▸ General ▸ Current ▸ Motor | Slow ABS Current Limit l_slow_abs_current | 0 | Use the filtered current for the ABS max fault code. Will not trigger as easily on very short spikes. | |||
| Motor Cfg ▸ General ▸ Temperature ▸ General | Acceleration Temperature Decrease l_temp_accel_dec | 0 | 1 | 0.15 | % | Decrease the motor and MOSFET temperature limits by this amount during acceleration. This is useful to still have braking torque left when the components get warm. A decrease of 0 % means that the acceleration temperature limits are the same as the braking temperature limits, and a decrease of 100 % meanse that the acceleration temperature limits are at 25 °C. |
| Motor Cfg ▸ General ▸ Temperature ▸ MOSFET | MOSFET Temp Cutoff End l_temp_fet_end | 0 | 190 | 100 | °C | The MOSFET temperature above which motor current is not allowed and a fault is thrown. |
| Motor Cfg ▸ General ▸ Temperature ▸ MOSFET | MOSFET Temp Cutoff Start l_temp_fet_start | 0 | 190 | 85 | °C | The MOSFET temperature at which motor current starts to get reduced. |
| Motor Cfg ▸ General ▸ Temperature ▸ Motor | Motor Temp Cutoff End l_temp_motor_end | 0 | 190 | 100 | °C | The motor temperature above which motor current is not allowed and a fault is thrown. |
| Motor Cfg ▸ General ▸ Temperature ▸ Motor | Motor Temp Cutoff Start l_temp_motor_start | 0 | 190 | 85 | °C | The motor temperature at which motor current starts to get reduced. |
| Motor Cfg ▸ General ▸ Wattage | Maximum Wattage l_watt_max | 0 | 2e+06 | 1.5e+06 | W | Maximum allowed wattage output. If your region has laws that only allow a limited wattage, this parameter can be useful. However, keep in mind that limiting the wattage does not make much sense in practice since torque, heat losses, mechanical wear and component load are all current dependent. Notice that setting this parameter to a very high value essentially disables it, which is why the default value is high. The other limits will still apply. |
| Motor Cfg ▸ General ▸ Wattage | Maximum Braking Wattage l_watt_min | -2e+06 | 0 | -1.5e+06 | W | Maximum allowed braking wattage (thus negative). There usually aren't any laws limiting how much braking is allowed, and limiting the wattage does not make much sense in general, so this parameter is present mostly for the sake of completeness. There might be some applications where limiting the braking wattage is useful though. Notice that setting this parameter to a very high value essentially disables it, which is why the default value is high. The other limits will still apply. |
| Refloat Cfg ▸ General ▸ LEDs ▸ General | Direction Transition leds.direction_transition | Fade | Transition used when you change ride direction to switch from headlights to taillights on the front and back LED strips. Not used if you have headlights off. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Front | Front Brightness leds.front.brightness | 0 | 1 | 0.5 | % | Front LED strip brightness when headlights are off. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Front | Front Primary Color leds.front.color1 | Red | Front primary color. Note: There are three whites due to the extra white channel on RGBW LEDs: White (full) is full brightness on all four channels, the brightest it can be. It also consumes the most power. On RGB LEDs, this is the same as White (rgb). White (rgb) is the white of the three RGB channels. White (single) only works on RGBW and is the single white channel. It's black on RGB-only LEDs. Less bright than White (full), but consumes significantly less power. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Front | Front Secondary Color leds.front.color2 | Black | Front secondary color (used for most of the animated modes). | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Front | Front Mode leds.front.mode | Knight Rider | Front LED strip mode (effect) when headlights are off. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Front | Front Speed leds.front.speed | 0 | 15 | 1 | Front animation speed. | |
| Refloat Cfg ▸ General ▸ LEDs ▸ Headlights | Headlights Brightness leds.headlights.brightness | 0 | 1 | 0.5 | % | Forward-facing strip (switches according to ride direction) brightness when headlights are on. Note: Default is conservatively set to 50%. Set to 100% to get the maximum headlights brightness. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Headlights | Headlights Primary Color leds.headlights.color1 | White (full) | Headlights primary color. Note: There are three whites due to the extra white channel on RGBW LEDs: White (full) is full brightness on all four channels, the brightest it can be. It also consumes the most power. On RGB LEDs, this is the same as White (rgb). White (rgb) is the white of the three RGB channels. White (single) only works on RGBW and is the single white channel. It's black on RGB-only LEDs. Less bright than White (full), but consumes significantly less power. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Headlights | Headlights Secondary Color leds.headlights.color2 | Black | Headlights secondary color (used for most of the animated modes). | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Headlights | Headlights Mode leds.headlights.mode | Solid | Forward-facing strip (switches according to ride direction) mode (effect) when headlights are on. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Headlights | Headlights Speed leds.headlights.speed | 0 | 15 | 1 | Headlights animation speed. | |
| Refloat Cfg ▸ General ▸ LEDs ▸ General | Headlights On leds.headlights_on | 1 | Turns headlights and tail lights on or off. Headlights and taillights activate when you engage the board (using the Headlights Transition). They switch according to the direction you ride. Primary use of headlights is the white and red light for riding at night, but the settings are the exact same for Headlights, Taillights, Front and Rear. Use headlights to get whatever cool effect you want that'll switch to nose/tail according to the direction you ride. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ General | Headlights Transition leds.headlights_transition | Fade | Transition to and from headlights and taillights. Occurs when you engage the board if you have the headlights on. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ General | Lights Off When Lifted leds.lights_off_when_lifted | 1 | When enabled, turns off front and rear leds when you lift the board nose up (pitch angle > 60°). So that the LEDs don't blast into your eyes when you carry it. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ General | LEDs On leds.on | 1 | Turns LEDs on or off completely. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Rear | Rear Brightness leds.rear.brightness | 0 | 1 | 0.5 | % | Rear LED strip brightness when headlights are off. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Rear | Rear Primary Color leds.rear.color1 | Azure | Rear primary color. Note: There are three whites due to the extra white channel on RGBW LEDs: White (full) is full brightness on all four channels, the brightest it can be. It also consumes the most power. On RGB LEDs, this is the same as White (rgb). White (rgb) is the white of the three RGB channels. White (single) only works on RGBW and is the single white channel. It's black on RGB-only LEDs. Less bright than White (full), but consumes significantly less power. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Rear | Rear Secondary Color leds.rear.color2 | Black | Rear secondary color (used for most of the animated modes). | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Rear | Rear Mode leds.rear.mode | Pulse | Rear LED strip mode (effect) when headlights are off. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Rear | Rear Speed leds.rear.speed | 0 | 15 | 1 | Rear animation speed. | |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status | Status Brightness (Headlights Off) leds.status.brightness_headlights_off | 0 | 1 | 0.5 | % | Status brightness when headlights are off, intended to be daylight-level brightness. Set high so that you can see the status in direct sunlight. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status | Status Brightness (Headlights On) leds.status.brightness_headlights_on | 0 | 1 | 0.2 | % | Status brightness when headlights are on, intended to be night-time brightness. Set low so that the status bar doesn't glare into your eyes when it's dark. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status | Status Idle Timeout leds.status.idle_timeout | 0 | 300 | 0 | s | Amount of seconds after which the status bar hoes into Idle. In Idle the status bar shows an animation which can be configured just like the Front / Rear animations. Set to 0 to disable Idle. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status | Motor Utilization Threshold leds.status.motor_utilization_threshold | 0.15 | 1 | 0.6 | % | Threshold above which motor utilization is shown on the status bar (instead of the battery). Motor utilization is the maximum of duty cycle, motor current saturation, and battery current saturation. Note there is a 10% hysteresis, meaning if motor utilization shows at 60%, it will keep showing until it drops below 50% (to avoid constant blinking). The colors are as follows:Duty cycle: amber Motor current: pink Battery current: teal Note: Since duty above 95% is not achievable and you're unlikely to ever benefit from values above 90% being shown on your status bar, duty level of 90% is scaled to 100% on the status bar to make full use of its real estate. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status | Red Color Bar Percentage leds.status.red_bar_percentage | 0 | 0.5 | 0.2 | % | Percentage threshold at which the low end of the battery bar and the high end of the duty bar will be colored red. Mainly intended for fine-tuning the amount of red LEDs on status bars with different LED counts. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status | Show Sensor Indicators While Running leds.status.show_sensors_while_running | 1 | When on, the blue footpad sensor indicators will show while running, if at least one of the sensors is deactivated. When off, no footpad sensor indicators will be shown. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Status Idle | Status Idle Brightness leds.status_idle.brightness | 0 | 1 | 0.3 | % | Status brightness when in Idle. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Status Idle | Status Idle Primary Color leds.status_idle.color1 | Red | Status Idle primary color. Note: There are three whites due to the extra white channel on RGBW LEDs: White (full) is full brightness on all four channels, the brightest it can be. It also consumes the most power. On RGB LEDs, this is the same as White (rgb). White (rgb) is the white of the three RGB channels. White (single) only works on RGBW and is the single white channel. It's black on RGB-only LEDs. Less bright than White (full), but consumes significantly less power. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Status Idle | Status Idle Secondary Color leds.status_idle.color2 | Black | Status Idle secondary color. Note: There are three whites due to the extra white channel on RGBW LEDs: White (full) is full brightness on all four channels, the brightest it can be. It also consumes the most power. On RGB LEDs, this is the same as White (rgb). White (rgb) is the white of the three RGB channels. White (single) only works on RGBW and is the single white channel. It's black on RGB-only LEDs. Less bright than White (full), but consumes significantly less power. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Status Idle | Status Idle Mode leds.status_idle.mode | Knight Rider | Status Idle mode (effect). Set Status Idle Timeout to a non-zero value to enable the Status Idle mode. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Status Idle | Status Idle Speed leds.status_idle.speed | 0 | 15 | 1 | Status Idle animation speed. | |
| Refloat Cfg ▸ General ▸ LEDs ▸ General | Status On Front When Lifted leds.status_on_front_when_lifted | 1 | Show the status bar on the front LED strip when you lift the board nose up (pitch angle > 60°). If you have Lights Off When Lifted on at the same time, will go dark after 3 seconds. You can make it show again by pressing the footpad sensor. Uses the status bar brightness settings. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Taillights | Taillights Brightness leds.taillights.brightness | 0 | 1 | 0.5 | % | Backwards-facing strip (switches according to ride direction) brightness when headlights are on. Note: On very low brightness levels the LEDs will lose color precision and eventually turn off completely. This is a limitation of the LED strips and can't be alleviated. |
| Refloat Cfg ▸ General ▸ LEDs ▸ Taillights | Taillights Primary Color leds.taillights.color1 | Red | Taillights primary color. Note: There are three whites due to the extra white channel on RGBW LEDs: White (full) is full brightness on all four channels, the brightest it can be. It also consumes the most power. On RGB LEDs, this is the same as White (rgb). White (rgb) is the white of the three RGB channels. White (single) only works on RGBW and is the single white channel. It's black on RGB-only LEDs. Less bright than White (full), but consumes significantly less power. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Taillights | Taillights Secondary Color leds.taillights.color2 | Black | Taillights secondary color (used for most of the animated modes). | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Taillights | Taillights Mode leds.taillights.mode | Solid | Backwards-facing strip (switches according to ride direction) mode (effect) when headlights are on. | |||
| Refloat Cfg ▸ General ▸ LEDs ▸ Taillights | Taillights Speed leds.taillights.speed | 0 | 15 | 1 | Taillights animation speed. | |
| Motor Cfg ▸ General ▸ Voltage | Battery Filter Constant m_batt_filter_const | 0 | 99 | 45 | Battery Level Filtering. The higher this number is the more the battery level is filtered. Too little filtering will make the battery level affected by the power draw and too much filtering will prevent the battery level to keep up with changes. | |
| Motor Cfg ▸ BLDC ▸ Advanced | Maximum Switching Frequency m_bldc_f_sw_max | 3000 | 40000 | 35000 | kHz | The maximum switching frequency in BLDC mode. |
| Motor Cfg ▸ BLDC ▸ Advanced | Minimum Switching Frequency m_bldc_f_sw_min | 3000 | 40000 | 3000 | kHz | The minimum switching frequency in BLDC mode. |
| Motor Cfg ▸ DC ▸ General | Current Backoff Gain m_current_backoff_gain | 0 | 50 | 0.5 | Gain for the BLDC and DC current backoff. Used to limit the current in duty cycle mode. | |
| Motor Cfg ▸ DC ▸ General | Switching Frequency m_dc_f_sw | 3000 | 25000 | 25000 | kHz | The switching frequency in DC mode. |
| Motor Cfg ▸ General ▸ Current ▸ DRV8301 | DRV8301 OC Adjustment m_drv8301_oc_adj | 0 | 31 | 19 | The threshold for the over current protection feature of the DRV8301. Lower values correspond to lower currents. See the datasheet for more information about this setting. Notice This setting only has impact on hardware with the DRV8301 | |
| Motor Cfg ▸ General ▸ Current ▸ DRV8301 | DRV8301 OC Mode m_drv8301_oc_mode | Current Limit | The mode for the over current protection feature of the DRV8301. The over current protection in the DRV8301 works by measuring the voltage drop across the MOSFETs and shuts them off of it exceeds a configurable limit. Notice This setting only has impact on hardware with the DRV8301 | |||
| Motor Cfg ▸ DC ▸ General | Duty Ramp Step Max m_duty_ramp_step | 0 | 1 | 0.02 | Maximum duty cycle ramp step for DC and BLDC motors. | |
| Motor Cfg ▸ General ▸ Sensors ▸ Sin/Cos Encoder | Cosine Amplitude m_encoder_cos_amp | 0.01 | 2 | 1 | V | Amplitude of the cosine-input in volts. |
| Motor Cfg ▸ General ▸ Sensors ▸ Sin/Cos Encoder | Cosine Offset m_encoder_cos_offset | 0 | 3.3 | 1.65 | V | Cosine offset in volts. |
| Motor Cfg ▸ General ▸ Sensors ▸ ABI Encoder | Encoder counts m_encoder_counts | 0 | 30000000 | 8192 | ABI Encoder Number of counts for the A-B-Index encoder. This usually is the encoder resolution times 4, since every edge in the quadrature signal is counted. This setting only matters when using an ABI encoder. | |
| Motor Cfg ▸ General ▸ Sensors ▸ Sin/Cos Encoder | Sine Amplitude m_encoder_sin_amp | 0.01 | 2 | 1 | V | Amplitude of the sine-input in volts. |
| Motor Cfg ▸ General ▸ Sensors ▸ Sin/Cos Encoder | Sine Offset m_encoder_sin_offset | 0 | 3.3 | 1.65 | V | Sine offset in volts. |
| Motor Cfg ▸ General ▸ Sensors ▸ Sin/Cos Encoder | Sin/Cos Filter Constant m_encoder_sincos_filter_constant | 0 | 1 | 0.5 | Sin/Cos Encoder low pass filter constant. Will affect the ratio between lag and noise on the encoder position feedback. Range 0 to 1, where 0 has the lowest noise and most phase lag, and 1 has no lag and unfiltered noise. | |
| Motor Cfg ▸ General ▸ Sensors ▸ Sin/Cos Encoder | Sin/Cos Phase Correction m_encoder_sincos_phase_correction | -45 | 45 | 0 | ° | Sin/Cos Phase error compensation in deg. Some sin/cos encoders do not output perfect 90° phase between sin and cos signals. This parameter allows for compensating a phase error between sin and cos signals. |
| Motor Cfg ▸ General ▸ Advanced | Fault Stop Time m_fault_stop_time_ms | -1 | 30000000 | 500 | ms | Amount of time to leave the motor disabled after a fault code. |
| Motor Cfg ▸ FOC ▸ Hall Sensors | Hall Sensor Extra Samples m_hall_extra_samples | 0 | 99 | 3 | Read the hall sensor port this many extra samples and use a median filter. Increasing this number will reduce noise on the hall sensor readings, but makes the motor control interrupt take longer and thus limits the maximum switching frequency. | |
| Motor Cfg ▸ General ▸ General | Invert Motor Direction m_invert_direction | 0 | Invert the motor direction. This option can be used to make the motor turn in the opposite direction. All state and control commands in mc_interface will respect this setting, so it should work as well as swithcing two motor cables for all applications. | |||
| Motor Cfg ▸ General ▸ Temperature ▸ Motor Temperature Sensor Type | Motor Temperature Sensor Type m_motor_temp_sens_type | NTC 10K at 25°C | Motor temperature sensor type. Most small hobby motors have a 10K NTC thermistor, whereas some larger motors have 1K PTC thermistors (such as the KTY84). | |||
| Motor Cfg ▸ General ▸ Temperature ▸ Motor Temperature Sensor Type | Beta Value for Motor Thermistor m_ntc_motor_beta | 100 | 100000 | 3380 | K | Beta Value for Motor Thermistor. |
| Motor Cfg ▸ General ▸ Temperature ▸ Motor Temperature Sensor Type | Custom NTC/PTC Resistance m_ntcx_ptcx_res | 100 | 200000 | 10000 | kΩ | Resistance of custom NTC/PTC resistor. |
| Motor Cfg ▸ General ▸ Temperature ▸ Motor Temperature Sensor Type | Custom NTC/PTC Base Temperature m_ntcx_ptcx_temp_base | -274 | 500 | 25 | °C | Base temperature of custom NTC/PTC resistor. |
| Motor Cfg ▸ General ▸ Advanced | Auxiliary Output Mode m_out_aux_mode | Off | Auxiliary output mode. Can be used to e.g. activate a relay after a certain delay for bus capacitor precharging. | |||
| Motor Cfg ▸ General ▸ Temperature ▸ Motor Temperature Sensor Type | Coefficient for PTC Motor Thermistor m_ptc_motor_coeff | 0.05 | 100 | 0.61 | %/K | Coefficient for PTC Motor Thermistor. Unit: %/K |
| Motor Cfg ▸ General ▸ Sensors | Sensor Port Mode m_sensor_port_mode | Hall Sensors | Mode for the sensor port. Can be changed for compatibility with different rotor position sensors. Notice that this setting does not have any impact when running sensorless. The modes are: Hall Sensors The motor has hall sensors built in which give a position resolution of 120 degrees. ABI Encoder A rotary encoder with A-B-Index output. Notice that this encoder does not help until the index pulse is found, so when running FOC open loop mode will be used for up to one mechanical revolution to find the index position when trying to run a motor for the first time after a power cycle. Notice that you also have to set the number of encoder counts in order to use this type of encoder. This usually is the number of pulses per revolution times 4, since every edge of both pulse trains is counted. AS5047 Encoder An AS5047 magnetic encoder connected over SPI. This one provides absolute positions from start, but tends to have a bit of nonlinearity. AS5X47U Encoder An AS5147U or AS5247U magnetic encoder connected over SPI. It is similar to the AS5047 but with additional safety features making it capable of automotive safety levels. It must be connected to SPI in the COMM port. To use this encoder, you have to make sure that no app uses UART, I2C, ADC2, or ADC3. SIN/COS Encoder A Sin/Cos encoder is a position feedback device similar to a quadrature encoder, except instead of outputting digital pulses, it outputs analog voltages with sinusoidal shapes offset by 90°. Provides absolute positions from the start, but its sensitive to EMI and requires special filtering, transient protections and shielded wiring. TS5700N8501 Encoder This encoder uses RS485, so it has to be connected to the COMM port. A RS485-transceiver such as the ADM485 is required, where RX and TX are used as the data lines. ADC1 is used to trigger between RX and TX, which is needed as the communication is half duplex. To use this encoder, you have to make sure that no app uses UART or ADC1. TS5700N8501 Encoder Multiturn Same as above, but uses the multiturn function. The angle is divided by 10000, thus can be used for up to 10000 revolutions. The position PID parameters need to be increased by a factor of around 10000 for this to work similarly to the single turn mode. Note that this is not a good implementation and needs improvement in the future. 180 degrees PID setpoint corresponds to multiturn position 0. MT6816 Encoder A magnetic encoder using a high speed SPI communication. Provides absolute position from start. It has to be connected to a hardware-based SPI peripheral. BISSC Encoder This encoder uses RS422, so it has to be connected to the COMM port for high speed communication. A RS422-transceiver such as the MAX490 is required, where CLK and MISO are used as clock and data input lines. To use this encoder, you have to make sure that no app uses UART or ADC1. The ABI resolution field is used to set the BISSC encoder accuracy: 2^(BissC Resolution) TLE5102 Encoder A magnetic encoder using the bidirectional SSC protocol. Provides absolute position from start and error protected communication. Currently both “SSC SW” and “SSC HW” use software bitbanging. “SSC SW” uses the hall connector pins which must not have filters. “SSC HW” uses the 7-8 pin adc/uart connector. Recommend 5v sensor power. Wires must be shielded and/or run together or you will get communication errors.“SSC SW” Connections: H1 = SCK, H2 = DATA , H3 = CS “SSC HW” Connections: ADC1 = SCK, TX = DATA , NSS = CS Custom Encoder This means that a native library is loaded that handles reading of the encoder and provides the decoded angle. LispBM can also be used to implement a custom encoder. PWM Use the PPM/PWM input for the encoder. Make sure that the PPM-app is disabled. PWM + ABI Use the PPM/PWM input until the ABI index-pulse is found, then switch to ABI mode. Make sure that the PPM-app is disabled. MA782 MPS MA782 encoder. Require HW SPI. AMT22 (SW SPI) AMT22 encoder connected over software SPI on the hall sensor port. SCK connects to HALL1, MISO to HALL2 and CS to HALL3. Note that MOSI on the encoder must be connected to GND. | |||
| Refloat Cfg ▸ General ▸ Tune ▸ Balance (Mahony) Filter | Pitch KP mahony_kp | 0.2 | 3 | 2 | KP for the pitch axis of the Mahony IMU Filter Defines the amount of accelerometer correction applied to the pitch axis (forward-backward tilt) of the Mahony filter. In practice, increasing this value will loosen up the board, specifically in the center of the board and in how quickly it rebounds to level. If you want a snappier board, drop this down a bit. If you want things a bit looser, with increased board angle control, bump it up a notch or two. Technically, this value affects how the board behaves when experiencing acceleration. With a higher value, harder acceleration will make the nose softer, and harder deceleration/braking will make the tail softer. This parameter is amongst those that have the most impact on the feel of the ride and how the board behaves in undulated terrain. Recommended Values: 1.5 - 2.5 (Caution with higher or lower values!) | |
| Refloat Cfg ▸ General ▸ Tune ▸ Balance (Mahony) Filter | Roll KP mahony_kp_roll | 0 | 3 | 1.4 | KP for the roll axis of the Mahony IMU Filter Defines the amount of accelerometer correction applied to the roll axis (board sideways rotation) of the Mahony filter. High Pitch KP makes the board response mellow and makes the tilt "linger" longer. This is not desireable for the roll axis, because as the board rotates in yaw during a turn, roll becomes pitch. If you roll a board to the side when making a turn, the angle will propagate into your pitch and the nose will be dipping when turning. This effect is presumably more pronounced with roundier tires. Setting the Roll KP lower than Pitch KP will make the nose hold up better in turns and make the board stiffer in general, and especially in tight carves. However, unequal axes KPs skew the Mahony's mathematical model and setting Roll KP too low brings unwanted side-effects, like the board being twitchy and the nose lifting too much during sudden rotations. Recommended Values: 0.8 - 1.8 | |
| Refloat Cfg ▸ Internal ▸ Meta | Config is Default meta.is_default | 1 | An internal flag indicating the config has default values, meaning it has been reset. Used for the auto-backup feature. | |||
| Motor Cfg ▸ Additional Info ▸ General | Motor Brand motor_brand | The motor brand, e.g. Turnigy. | ||||
| Motor Cfg | Motor Description motor_description | A motor description can be edited here. | This is an editor where a description can be stored for your motor configuration. Images can also be inserted. Notice that this information is not written to the VESC, so it has to be stored in an XML file. | |||
| Motor Cfg ▸ Additional Info ▸ General | Motor Model motor_model | The motor model, e.g. 6374 168KV. | ||||
| Motor Cfg ▸ Additional Info ▸ Quality | Bearing Quality motor_quality_bearings | -5 | 5 | 0 | Motor bearing quality. 0 is neutral/unknown, negative is bad and positive is good. | |
| Motor Cfg ▸ Additional Info ▸ Quality | Construction Quality motor_quality_construction | -5 | 5 | 0 | Motor construction quality. 0 is neutral/unknown, negative is bad and positive is good. | |
| Motor Cfg | Quality Description motor_quality_description | Some comments about the motor quality. Images can be added as well. | A text summary of the motor quality. | |||
| Motor Cfg ▸ Additional Info ▸ Quality | Magnet Quality motor_quality_magnets | -5 | 5 | 0 | Motor magnet quality. 0 is neutral/unknown, negative is bad and positive is good. | |
| Motor Cfg ▸ Additional Info ▸ General | Position Sensor motor_sensor_type | No sensor | Does this motor come with some kind of position sensor? | |||
| Motor Cfg ▸ General ▸ General | Motor Type motor_type | FOC | BLDC Trapezoidal commutation mode for PMSM motors. DC DC motor. A DC motor is connected to phase 1 and phase 3. FOC Field Oriented Control (FOC) for PMSM (or BLDC) motors. The motor is commutated with sine waves instead of a trapezoidal waveform as is the case for BLDC commutation. FOC runs the motors more quietly (especially at low speed and high load), is slightly more efficient and provides automatic optimal timing. GPD General Purpose Drive between phase 1 and 3. Should be used with a custom application on the VESC, or on the computer with the VESC Tool backend providing samples. | |||
| Motor Cfg ▸ Additional Info ▸ General | Motor Weight motor_weight | 0 | 500000 | 0 | g | The weight of the motor in grams. |
| App Cfg | none new_parameter | TODO | ||||
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Nose Angling | Nose Angling Speed noseangling_speed | 0 | 100 | 5 | °/s | Maximum Rate at which nose will tilt to the desired angle during Constant and/or Variable Tiltback. |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position Angle Division p_pid_ang_div | 0 | 100000 | 1 | Angle division for the position controller. Can be used to map one control rotation to several motor rotations. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Gain Decrease Angle p_pid_gain_dec_angle | 0 | 3000 | 0 | ° | Decrease position PID-gains when the errors is below this angle in electrical degrees. Helps at low speed when using low resolution encoders, such as hall sensors. A value of around 300 seems to work ok with hall sensors. |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position PID Kd p_pid_kd | 0 | 10000 | 0 | Derivative gain for the position controller. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position PID Kd Filter p_pid_kd_filter | 0 | 1 | 0.2 | Filter on derivative term for position controller. The range is 0 to 1, where 0 is the maximum amount of filtering (infinite) and 1 is no filtering. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position PID Kd Process p_pid_kd_proc | 0 | 10000 | 0.00035 | Derivative gain for the position controller. This derivative term is applied on the process variable (position_now) only and not on the error term (position_set - position_now). This way oscillations can be dampened without amplifying control signal input. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position PID Ki p_pid_ki | 0 | 10000 | 0 | Integral gain for the position controller. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position PID Kp p_pid_kp | 0 | 10000 | 0.025 | Proportional gain for the position controller. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Position Controller | Position PID Offset Angle p_pid_offset | -360 | 360 | 0 | ° | Angle offset for the position controller. |
| App Cfg ▸ General ▸ General | Pairing Done pairing_done | 0 | Pairing done flag. If this flag is set, a bluetooth connection can only be made if the VESC Tool instance making the connection has been paired to this VESC. The pairing is done by storing the UUID of the VESC in the pairing list. | |||
| Refloat Cfg ▸ General ▸ Startup ▸ Holding | Parking Brake parking_brake_mode | Idle | Parking Brake is a strong brake keeping the motor from turning at standstill. It is applied via shorting the motor phases on Firmware 6.05+. Possible values: Always: Parking Brake is applied whenever the board is not engaged and motor is turning slower than 2000 ERPM. If the motor is turning faster, Brake Current is applied. Idle: Parking Brake is activated once the motor stops turning after disengaging. When disengaging while the motor is running, only Brake Current is applied (allowing for tricks like ghost ride, etc.). Never: Only Brake Current is applied when disengaged. | |||
| App Cfg ▸ General ▸ General | Enable Permanent UART permanent_uart_enabled | 1 | Enable the permanent UART port (if the hardware has one). This port can be connected to e.g. the NRF51 for providing a BLE link. You may want to disable this to prevent access to your VESC over BLE. | |||
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Persistent Fatal Error persistent_fatal_error | 1 | When enabled, any serious problem (even if only momentary) like a firmware fault will set a Fatal Error state which will need to be cleared via Vesc Tool or power cycling the board. Fatal Error state is signalled via Pushback and Haptic Feedback (four beeps). | |||
| Motor Cfg ▸ BLDC ▸ Advanced | PWM Mode pwm_mode | Synchronous | The PWM mode to use for BLDC motors. Synchronous is the most tested and recommended mode. The others are likely to cause problems. | |||
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Throttle | Throttle Current Maximum remote_throttle_current_max | 0 | 50 | 0 | A | Max Current able to be applied using Remote Throttle, allowing the control of the board using your remote's throttle when disengaged. Actual current applied is linearly scaled up to Max Current, based on your throttle percentage. Recommended Values: 5A - 10A *DISCLAIMER: Make sure your remote idles at 0% throttle!! Otherwise, current will be continually request, which can drain your battery. Reference "Remote Input" in AppUI Tab of VESC Tool. If it is not idling at 0%, you must either tweak Input Deadband above, or properly calibrate your remote. |
| Refloat Cfg ▸ General ▸ Remote ▸ Remote Throttle | Grace Period remote_throttle_grace_period | 0 | 60 | 10 | s | Delay after disengaging, during which Remote Throttle cannot be used. *DISCLAIMER: Be CAUTIOUS if using a Grace Period of/near 0 seconds!! A short delay can lead to accidental throttle if using Remote Tilt as the board disengages. |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Allow Braking s_pid_allow_braking | 1 | Allow the speed controller to apply braking current. In general this option should be enabled, but for some applications it might make sense to disable braking during speed control. | |||
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Speed PID Kd s_pid_kd | 0 | 10000 | 0.0001 | Derivative gain for the speed controller. FOC and BLDC need different parameters because their speed controllers differ. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Speed PID Kd Filter s_pid_kd_filter | 0 | 1 | 0.2 | Filter on derivative term for speed controller. The range is 0 to 1, where 0 is the maximum amount of filtering (infinite) and 1 is no filtering. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Speed PID Ki s_pid_ki | 0 | 10000 | 0.004 | Integral gain for the speed controller. FOC and BLDC need different parameters because their speed controllers differ. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Speed PID Kp s_pid_kp | 0 | 10000 | 0.004 | Proportional gain for the speed controller. FOC and BLDC need different parameters because their speed controllers differ. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Minimum ERPM s_pid_min_erpm | 0 | 1e+06 | 900 | ERPM below which the speed controller is disabled. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Ramp eRPMs per second s_pid_ramp_erpms_s | -1 | 100000 | 25000 | This allows to control how fast the input of the speed command is allowed to increase each second. If user does not want to use this ramp, just apply a negative value such as -1.0. Only positive values are considered. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Speed Controller | Speed Source s_pid_speed_source | PLL | Speed source for the PID speed controller. PLL Phase locked loop. Low noise, but slow response. Fast Estimator Filtered phase difference per time. Faster than the PLL but more noise. Faster Estimator Same as fast estimator, but less filtering. Fastest update but the most noise. | |||
| Motor Cfg ▸ BLDC ▸ General | Sensor Mode sensor_mode | Sensorless | Sensor mode for BLDC commutation. Hybrid means that sensors will be used at low speed and sensorless at high speed. | |||
| App Cfg ▸ General ▸ General | Enable Servo Output servo_out_enable | 0 | Enable servo output on PPM-port when PPM-app is disabled. | |||
| App Cfg ▸ General ▸ General | Shutdown Mode shutdown_mode | OFF_AFTER_30M | Shutdown mode for hardware that supports it (such as the VESC HD). Determines how the VESC shuts itself off, which eliminates the need for an external switch. NOTE: Most VESCs with this feature also support push to start, which means that the VESC will switch on as soon as the motor is turned at a minimum speed. The available modes are: ALWAYS_OFF The VESC power is only determined by the inverted state of the shutdown input. ALWAYS_ON The VESC always stays on after being powered. TOGGLE_BUTTON_ONLY A normally closed (NC) momentary button can be connected to the shutdown input to toggle the power on or off. The VESC will sample the button and determine whether it is pressed, which can be used to shut down after the button is released. OFF_AFTER_x Same as the TOGGLE_BUTTON_ONLY mode, but the VESC will shut down after X time of inactivity. This mode is useful for setups without any switch at all if the hardware supports push to start, such as the VESC HD. | |||
| Motor Cfg ▸ Additional Info ▸ Setup | Battery Capacity si_battery_ah | 0 | 1000 | 6 | Ah | Battery capacity in ampere hours. |
| Motor Cfg ▸ Additional Info ▸ Setup | Battery Cells Series si_battery_cells | 1 | 255 | 3 | Battery cells in series. | |
| Motor Cfg ▸ Additional Info ▸ Setup | Battery Type si_battery_type | BATTERY_TYPE_LIION_3_0__4_2 | Battery Type BATTERY_TYPE_LIION_3_0__4_2, Lithium ion, voltage range: 3.0 to 4.2 BATTERY_TYPE_LIIRON_2_6__3_6, Lithium iron phosphate, voltage range: 2.6 to 3.6 BATTERY_TYPE_LEAD_ACID Lead Acid, voltage range: 2.1 to 2.36 | |||
| Motor Cfg ▸ Additional Info ▸ Setup | Gear Ratio si_gear_ratio | 0 | 9999 | 3 | Gear ratio. For example, if the motor has a 12 tooth pulley and the wheel has a 36 tooth pulley, the gear ratio is: 36 / 12 = 3.0 | |
| Motor Cfg ▸ Additional Info ▸ Setup | Motor No Load Current si_motor_nl_current | 0 | 999 | 1 | A | No load current for the motor. Can be measured by running the motor at around 50% duty cycle without load and noting the motor current draw. The no load current can be used in the motor comparison tool for calculating efficiencies and comparing different motors, gear ratios etc. |
| Motor Cfg ▸ Additional Info ▸ Setup | Motor Poles si_motor_poles | 2 | 254 | 14 | Motor pole count. Most outrunners have 14 poles. Inrunners usually have 2 or 4 poles. The motor pole count is required for speed and travel distance calculation. | |
| Motor Cfg ▸ Additional Info ▸ Setup | Wheel Diameter si_wheel_diameter | 0 | 9999 | 0.083 | mm | Wheel diameter, in mm. |
| Motor Cfg ▸ BLDC ▸ Sensorless | BEMF Coupling sl_bemf_coupling_k | 0 | 5000 | 600 | BEMF coupling. Roughly describes how much of the input voltage is seen on the BEMF at low modulation. Compensating for that at low speed helps the startup a lot. | |
| Motor Cfg ▸ BLDC ▸ Sensorless | Cycle Integrator Limit sl_cycle_int_limit | 0 | 3000 | 62 | Cycle integrator limit. This is how much area will be integrated under the back EMF after a zero crossing before doing a commutation. A too low value will cause a too early commutation, and a too high value will cause a too late commutation. A too late commutation will cause more problems than too early commutations. | |
| Motor Cfg ▸ BLDC ▸ Advanced | BR ERPM sl_cycle_int_rpm_br | 0 | 1e+06 | 80000 | The ERPM at which phase advance (timing) is the maximum. | |
| Motor Cfg | Max Brake Current at Direction Change sl_max_fullbreak_current_dir_change | 0 | 500 | 10 | A | Only allow motor direction change below this current. |
| Motor Cfg ▸ BLDC ▸ Sensorless | Minimum ERPM sl_min_erpm | 0 | 1e+06 | 150 | Minimum sensorless ERPM (BLDC Only). Run the motor in open loop when the estimated ERPM is below this value. | |
| Motor Cfg ▸ BLDC ▸ Sensorless | Minimum ERPM Integrator sl_min_erpm_cycle_int_limit | 0 | 1e+06 | 1100 | The minimum ERPM for which the integrator limit is calculated. Setting this too low will make the coupling compensation too large at low speed resulting in bad startup. | |
| Motor Cfg ▸ BLDC ▸ Advanced | Phase Advance at BR ERPM sl_phase_advance_at_br | 0 | 1 | 0.8 | Phase (timing) advance at the BR ERPM value. Below that value the advance will be less proportional to the current ERPM. | |
| Motor Cfg ▸ PID Controllers ▸ General ▸ Common | PID Loop Rate sp_pid_loop_rate | 1000 Hz | Rate at which the position and speed controllers run. | |||
| Refloat Cfg ▸ General ▸ Startup ▸ Start Options | Start/Stop Click Current startup_click_current | 0 | 20 | 0 | A | Strength of the noticeable "click" when engaging and disengaging. 0A = Stealthy start 20A = Very noticeable click |
| Refloat Cfg ▸ General ▸ Startup ▸ Start Options | Enable Dirty Landings startup_dirtylandings_enabled | 0 | Allow landing with an extra 10 degrees pitch tilt within 1 second of disengaging both sensors (not active after heel-lift dismount). | |||
| Refloat Cfg ▸ General ▸ Startup ▸ Tolerances | Startup Pitch Axis Angle Tolerance startup_pitch_tolerance | 0 | 80 | 4 | ° | Pitch Angle range from "Level" at which the board is allowed to engage. Measured in degrees from Level (0° Pitch). |
| Refloat Cfg ▸ General ▸ Startup ▸ Start Options | Enable Push Start startup_pushstart_enabled | 0 | Allow starting the board by jumping onto it, regardless of pitch angle, as long as the speed is 1000 ERPM (~2 mph) or higher. | |||
| Refloat Cfg ▸ General ▸ Startup ▸ Tolerances | Startup Roll Axis Angle Tolerance startup_roll_tolerance | 0 | 80 | 45 | ° | Roll Angle (Heel-to-Toe) range from "Flat" at which the board is allowed to engage. Measured in degrees from Flat (0° Roll). |
| Refloat Cfg ▸ General ▸ Startup ▸ Start Options | Enable Simple Start startup_simplestart_enabled | 0 | Allow starting with a single sensor, while still allowing heel-lift dismounts. To avoid accidental re-engagement when heel-lift dismounting, this feature is disabled for one second from the last disengagement. | |||
| Refloat Cfg ▸ General ▸ Startup ▸ Centering | Startup Centering Speed startup_speed | 0 | 100 | 30 | °/s | Rate at which the board will level itself on startup. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Nose Angling | Constant Tiltback tiltback_constant | -10 | 10 | 0 | ° | Tiltback that will be applied above a configurable minimum ERPM. AKA Nose Angle adjustment, can be downwards (negative) too. *Note: Should not be used to accomodate tilted rail angle! Instead, the IMU calibration should be adjusted accordingly, either manually or using the IMU Wizard. Otherwise, you will experience the opposite of the desired effect while riding backwards. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Nose Angling | Constant Tiltback ERPM tiltback_constant_erpm | 200 | 100000 | 500 | ERPM | ERPM (absolute value) above which Constant Tiltback will be applied.*Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Duty Cycle Threshold tiltback_duty | 0 | 1 | 0.8 | Duty Cycle threshold to trigger a safety pushback (Pushback raises the nose of the board, informing you to slow down). Set to 100% to disable. *DISCLAIMER: Max Duty Cycle on a VESC is 95%, NOT 100%! Reaching 95% Duty Cycle and pushing beyond WILL result in a nosedive. | |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Pushback Angle tiltback_duty_angle | 0 | 30 | 5 | ° | Setpoint angle for Speed and Duty Cycle Pushback. |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Pushback Speed tiltback_duty_speed | 0 | 30 | 3 | °/s | Rate at which nose is tilted up during Speed and Duty Cycle Pushback (fast pushback can be dangerous!). |
| Refloat Cfg ▸ General ▸ Specs ▸ Voltage Pushbacks | High Voltage Threshold tiltback_hv | 0 | 150 | 4.3 | V | High Voltage threshold to trigger a safety pushback (Pushback raises the nose of the vehicle to alert you). High voltage pushback is most likely to be triggered when braking or going downhill on a full battery, sometimes resulting in a tail drag (take caution!). Since Refloat 1.2, per-cell value is supported if on firmware version 6.05+. On firmware 6.05+: Set to a per-cell value (recommended 4.3V, which is now default). On firmware 6.02: Set to total voltage value, e.g. 4.3V * Cell Count (i.e. for a 15s battery, 4.3V * 15 = 64.5V). |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ High Voltage Alert Pushback | Pushback Angle tiltback_hv_angle | 0 | 30 | 8 | ° | Setpoint angle for High Voltage Pushback. |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ High Voltage Alert Pushback | Speed tiltback_hv_speed | 0 | 30 | 1 | °/s | Rate at which nose is tilted up during High Voltage Pushback (fast pushback can be dangerous!). |
| Refloat Cfg ▸ General ▸ Specs ▸ Voltage Pushbacks | Low Voltage Threshold tiltback_lv | 0 | 150 | 3 | V | Low Voltage threshold to trigger a safety pushback (Pushback raises the nose of the vehicle informing you to slow down). Since Refloat 1.2, per-cell value is supported if on firmware version 6.05+. On firmware 6.05+: Set to a per-cell value (recommended 3.0V, which is now default). On firmware 6.02: Set to total voltage value, e.g. 3.0V * Cell Count (i.e. for a 15s battery, 3.0V * 15 = 45V). *DISCLAIMER: Make sure your Voltage Cutoff Start and End (Motor CFG -> General -> Voltage) are below this threshold! LV Pushback should be used as a notice to stop riding immediately, while the Voltage Cutoffs should be used as a last resort measure to protect the battery. ALWAYS RESPECT LOW VOLTAGE PUSHBACK! |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ Low Voltage Alert Pushback | Pushback Angle tiltback_lv_angle | 0 | 30 | 10 | ° | Setpoint angle for Low Voltage Pushback. |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ Low Voltage Alert Pushback | Speed tiltback_lv_speed | 0 | 30 | 1 | °/s | Rate at which nose is tilted up during Low Voltage Pushback (fast pushback can be dangerous!). |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Return To Level Speed tiltback_return_speed | 0 | 10 | 1 | °/s | Rate at which nose is returned from pushback back to normal. |
| Refloat Cfg ▸ General ▸ Pushback Alerts ▸ General Config | Speed Threshold tiltback_speed | 0 | 100 | 0 | km/h | Speed Threshold to trigger pushback (Pushback raises the nose of the board, informing you to slow down). Set to 0 to disable. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Nose Angling | Variable Tiltback Rate tiltback_variable | 0 | 5 | 0.3 | °/1000 ERPM | Rate at which the nose angle is adjusted towards Variable Tiltback Target, in degrees per 1000 ERPM.*Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Nose Angling | Variable Tiltback Start ERPM tiltback_variable_erpm | 0 | 100000 | 0 | ERPM | ERPM (absolute value) above which Variable Tiltback will begin to be applied.*Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Nose Angling | Variable Tiltback Target tiltback_variable_max | -10 | 10 | 0 | ° | Target angle that Variable Tiltback approaches at the specified rate (Variable Tiltback Rate), positive or negative. Added in addition to Constant Tiltback and does not affect or prevent alert pushbacks. |
| App Cfg ▸ General ▸ General | Timeout Brake Current timeout_brake_current | 0 | 500 | 0 | A | Apply brake with this amount of current after a timeout. |
| App Cfg ▸ General ▸ General | Timeout timeout_msec | 0 | 30000000 | 1000 | ms | Switch off the motor when no input has beed received for this amount of time. Notice that VESC Tool will send alive packets while connected, so the timeout won't occur before you disconnect VESC Tool even if the input gets disconnected. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Torque Tiltback | Tiltback Angle Limit torquetilt_angle_limit | 0 | 30 | 8 | ° | Maximum angle to which Torque Tiltback will tilt. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Torque Tiltback | Max Tiltback Release Speed torquetilt_off_speed | 0 | 100 | 8 | °/s | Max Rate at which Torque Tiltback will release from the desired angle back to 0 (tilt will be slower if current decreases slowly). |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Torque Tiltback | Max Tiltback Speed torquetilt_on_speed | 0 | 100 | 10 | °/s | Max Rate at which Torque Tiltback will tilt to the desired angle (tilt will be slower if current increases slowly). |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Torque Tiltback | Start Current Threshold torquetilt_start_current | 0 | 100 | 15 | A | Minimum output current threshold for Torque Tiltback to start applying. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Torque Tiltback | Strength torquetilt_strength | 0 | 1 | 0.1 | °/A | How much Nose Lift should be applied based on output current (Postive / Acceleration Current Only!). Can be used alongside ATR to increase aggressiveness on flat and uphill acceleration, or on its own to ensure some uphill tiltback is applied in the absence of ATR. Recommended Values: 0 - 0.35 |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Torque Tiltback | Strength (Regen) torquetilt_strength_regen | 0 | 1 | 0.1 | °/A | How much Nose Lowering should be applied based on output current (Negative / Regen Current Only!). Can be used alongside ATR to increase aggressiveness on flat and downhill braking, or on its own to ensure some downhill nose lowering is applied in the absence of ATR. Recommended Values: 0 - 0.35 |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Tiltback Angle Limit turntilt_angle_limit | 0 | 30 | 3 | ° | Maximum angle to which Turn Tiltback will tilt. This wont change the power curve, only stop it at the limit. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Speed Boost % turntilt_erpm_boost | 0 | 10000 | 200 | % | Increases the strength based on ERPM. Boost percent is added linearly from 0 ERPM (0% boost) to Max ERPM (Full configured boost % is applied). *Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Speed Boost Max ERPM turntilt_erpm_boost_end | 100 | 100000 | 5000 | ERPM | ERPM (absolute value) to end boosting the Turn Tiltback effect. Above this ERPM, there will be constant boost % (at your configured boost %). *Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Max Tiltback Speed turntilt_speed | 0 | 100 | 5 | °/s | Max Rate at which Turn Tiltback will tilt to the desired angle (tilt will be slower if Yaw Angle increases slowly). |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Turn Aggregate Threshold turntilt_start_angle | 0 | 45 | 5 | ° | Minimum Yaw Angle threshold to apply Turn Tiltback. Similar to a deadzone, except after reaching the set angle, it will apply as if it started from 0. |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | ERPM Threshold turntilt_start_erpm | 100 | 100000 | 2000 | ERPM | ERPM threshold to apply Turn Tiltback. *Note: ERPM = RPM * (Motor Poles / 2)For an 11" Tire on a Hypercore Motor (30 Poles):1000 ERPM ≈ 2.2 mph ≈ 3.5 km/h |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Strength turntilt_strength | -30 | 30 | 0 | How much Tiltback should be applied based on turning radius (Yaw) and speed. | |
| Refloat Cfg ▸ General ▸ Tune Modifiers ▸ Turn Tiltback | Turn Aggregate Target turntilt_yaw_aggregate | 50 | 360 | 90 | ° | The amount of turning (Yaw) required before reaching max carving strength. Higher values mean a turn must be maintained for longer in order to reach max carving strength. |
| App Cfg ▸ General ▸ General | UAVCAN ESC Index uavcan_esc_index | 0 | 255 | 0 | ESC index in UAVCAN messages. | |
| App Cfg ▸ General ▸ General | UAVCAN Raw Throttle Mode uavcan_raw_mode | Current Control | Drive mode for the raw throttle command in UAVCAN. Current Control The raw command corresponds to a fraction of the configured current limit. 1.0 is maximum current forwards and -1.0 is maximum current reverse. Current No Reverse Brake Same as current control, but negative values only give braking and don't start the motor in the other direction. Duty Cycle Control Duty cycle control. RPM Control RPM control. Use the raw command times the maximum configured ERPM value. Negative values will run the motor in reverse. Note that this will set the value in ERPM, so the RPM will be scaled by the number of pole pairs. | |||
| App Cfg ▸ General ▸ General | UAVCAN Raw RPM Max uavcan_raw_rpm_max | 0 | 400000 | 50000 | Maximum ERPM for the RPM mode of the raw command. | |
| App Cfg ▸ General ▸ General | UAVCAN Status Current Mode uavcan_status_current_mode | Motor Current | Current to send in status message. |