Copy files to root directory of microSD card (filesystem FAT32), insert into On-board computer (contacts on top) and run the update process.


Do not downgrade firmware that was installed by the manufacturer! You may get a brick


Each device has its own firmware and is updated separately from different menus. It does not matter in what order you update the firmware of the devices. If you have older firmware, you can install the latest firmware at once, without having to install the firmware one by one.
1. Description of the On-Board Computer update menu.
2. Description of the Controller update menu.
3. Description of the uLight update menu.

To check the current firmware version, go to the Device Information menu, each device has a separate menu.
1. Information about the firmware version of the On-Board Computer.
2. Information about the firmware version of the Controller.
3. Information about the firmware version of the uLight.

The list of actual firmware to be downloaded:

Important!

If your On-board computer has firmware v0.60B or lower and Controller v.7.18 and lower, first, need to update all devices but display. Because menu protocol is new and old devices will not be visible in the menu. After the update is finished hold the left button few seconds to exit the updated device menu. If the button does not work you may need to reset the power supply or replug CAN cable in the On-board computer. After everything is updated — update the On-board computer. Make a controller reset (load defaults) after the update. We recommend running motor detects again on controllers. Detection of throttle/brake connected to display should be done in the On-board computer menu.

26 September 2022

Controller v0.8.8
Export configuration before update, update controller, load default settings and then import your config!

Show change log

Click to hide ⇱

Added motor angle to logger
Fixed errors in combined transition logic
Fixed clutch negative current spike
Added FOC vq limit parameter for QS165 motor
Fixed reverse operation for vq limit
Current calibration fix for shunt
Levcan got update on ParseParameterValue
Fixed pwm minimum time for TF driver (FOC)
DAC constant updated with calibrated value
Position sensor temporary fix for FOC when not interpolated
Added remote throttle timeout (locked screen full throttle bug)
Many small fixes for assembly testing


8 August 2022

Controller v0.8.7

Show change log

Click to hide ⇱

Fixed sensor logic for square wave
Fixed adc issues but still should be improved
ADC logic changed to more future-proof
Added configuration import with button
Added import lock when motor spinning
Moved PLLs to separate file
Fixed current spike on brake press (filter abs duty)
Removed 'hall invalid' logic from interpolation start
Improved speed control for reverse from forward movement
Position sensor logic separated
USB code deleted
Stop PWM on debug added to pwm hal
SQ have sensorless interpolation
Interpolation logic improved
Deleted global PositionSensor variables
Fixed speed reference NaN
Added diagnostic mode to state machine switch
Fixed few diagnostic issues
Live hall angle update in menu
Added NaN checks for hall
Adjusted detected angle for first step
BEMF now have one extra step to skip spike, in case if it falls slowly
Detection sensor state fixed, caused motor to stall
Added frequency startup logic for sensorless square wave (yay!)
Frequency control used for sensorless startup now, default changed to 2
Added encoder position sensor
Pullup control removed
Added encoder menu
Added encoder detection
Updated position sensor logic, detection routed through it
Added hall detect quick fail
Swapped hall inputs to match timer index
Speed calculation changed
Rads calculation moved to Position sensor file
ERPS counter upgraded with direction filter
Encoder angle calibration added
RCPWM disable-exit added
Added pwm port assignment to encoder
Torq sensor exit added
ADC ports reassigned
Few parameters live update fixed
Added encoder info to device info menu
Added E suffix for Encoder
OV and UV flags separated
Test bench code moved to separate file
Includes optimised everywhere
Square wave current offset disabled on next step now
FW added better enable logic, to help avoid extreme brake power on FW
Added few FOC optimisations
Added FOC vq limit before vd-vq vector limit, to let vd do field weakening more (unlimited vq caused worse FW perfomance and sometimes it was stuck)
SQ added DC current dead time compensation
Added out of control detection logic
Added serial number
Added calibration constants
Added calibration logic when checking hardware
Added FreeRTOS stack monitor
Optimised testing procedure for faster test
Updated critical task enter routines
Fixed field weakening integral kick if foc is forced shutdown
Changed PWM Freq to constant
Position sensor menu updated
Over-Field weakening flag logic fixed
Fixed PAS menu parameter update
Moved foc square-boost to sector switch logic
Added PLL low speed smoother logic


6 April 2022

uLight v0.6.3
Fixed T1/T2 settings menu.
Now possible to disable the turn signal blinking by setting 0 sec.

23 March 2022

Controller v0.8.6

Show change log

Click to hide ⇱

Field Weakening PID updated.
Added FW limit based on motor temp limit.
Decreased allowed FW vector size to 80%.
Config defaults decreased.
Added locks 10 seconds on temperature exceeding.
Small menu changes and export fixes.


20 January 2022

Critical update for new controllers and hotfix for controllers 6F/12F and old 24F. Export config before the update, load defaults after the update, and import your config.

Important!
If your On-board computer has firmware v0.60B or lower and Controller v.7.18 and lower, first, need to update all devices but display. Because menu protocol is new and old devices will not be visible in the menu. After the update is finished hold the left button few seconds to exit the updated device menu. If the button does not work you may need to reset the power supply or replug CAN cable in the On-board computer. After everything is updated — update the On-board computer. Make a controller reset (load defaults) after the update. We recommend running motor detects again on controllers. Detection of throttle/brake connected to display should be done in the On-board computer menu.

Controller v0.8.5

Show change log

Click to hide ⇱

Save system updated, added unit tests.
Added clutch shutdown when brake pressed.
Added option to enable MTPA.
USB for computers disabled by default, will be removed in the future Fixed P1 P2 PWM mode.
Lifetime temperature now calculates only when motor powered.
Added hall pullup disable option.
Various save system fixes.
Fixed NaN for resistance detection.
Fixed import of 1st parameter in every section.

Hotfix for 6F/12F and old 24F.


18 October 2021

First, need to update all devices but display. Because menu protocol is new and old devices will not be visible in the menu. After the update is finished hold the left button few seconds to exit the updated device menu. If the button does not work you may need to reset the power supply or replug CAN cable in the On-board computer. After everything is updated — update the On-board computer. Make a controller reset (load defaults) after the update. We recommend running motor detects again on controllers. Detection of throttle/brake connected to display should be done in the On-board computer menu.

Display v0.71B Download

Show change log

Click to hide ⇱

Menu redesigned.
All display settings moved to separate menu.
Added port input state in port settings.
Added port functions: disable backlight, lock screen.
Added separate hotkeys while charging.
Added option to use hotkeys with a short click.
Added throttle/brake settings which are connected to display.
Added global odometer setting.
Global stats reset will not reset odometer now.
Added parameters import/export.
Added icons on the main screen (brake, brake limit, turtle mode, motor/controller fault, battery fault).
With new controllers update speed is 6 times faster now.
Logger speed should work faster too.
Added text scroll in the menu.
Logo updated.
Added more informative messages for resets with a password request.
Added parameters that could be requested from display on CAN bus.
=== v0.71
Fixed some parameter editing.
Updated import/export.
Odometer now can be imported, value is not decimal now.
Fixed button blinking while typing a password.
Fixed charge screen, button blinking fixed.
Fixed info-lines names.
Fixed header for password message.


Controller v0.8.2 Download

Show change log

Click to hide ⇱

Added glitchy USB to controller (needs a USB cable connected to PWM port).
Completely new LEVCAN parameters protocol with more possibilities.
Added trip statistics menu to controller:
-Wh regen/used/total.
-Ah regen/used/total.
-Estimated motor efficiency realtime and average.
-Calculated motor torque (on shaft).
Temperature measurement now calculates t-sensor resistance.
Improved kV detection.
Fixed 'bug' with long brake response on slow current change speed for acceleration limit.
Defaults for all ports now OFF.
Added brake button % (percentage of brake phase current for button-brake).
Added brake on released throttle (brake phase current).
Motor inductance and resistance detection for MTPA.
MTPA logic (works good only with IPM motors).
Fixed FOC FW to be triggered at stop when braking.
Added more control CAN commands.
Added more parameters that could be requested from controller on CAN bus.
Added more logger parameters.
Added hall filter settings to debug stuttering.
Added prefix selection for controller name.
=== v0.8.2
Added log header option.
Added translation for some messages (RU).
Added error messages for throttle/brake detection.


uLight v0.6.1 Download

Show change log

Click to hide ⇱

New LEVCAN parameters protocol.
Fixed PWM IO settings, now they do work.
Added temperature sensor thresholds, they work as virtual button for functions.
Added ability to send button inputs to CAN bus.
Main program source code published on GitHub:
https://github.com/Nucular-tech/uLight


31 August 2020

Use configuration export before update, reset defaults after update and import configuration.
Display v0.60B Download

Show change log

Click to hide ⇱

Fixed throttle drop.
Small menu fixes.
LEVCAN updated.
Button setup simplified, by default all set to CAN mode.
Added exFAT support (but display still can be updated only from FAT32).
Added charge screen.
Added fast statistics type selection.
Added wider event window.
Mph stats fixed.


Controller v0.7.18

Show change log

Click to hide ⇱

Experimental logger added.
Fixed many charger glitches, however still have few.
Added soft start to charger and more safe phase detect.
Completely reworked field weakening, now should not have any hard braking after release.
Added minimum speed reference for speed PID.
Added RC PWM control on P1 port (throttle/brake).
Added more logger parameters.
Few important FOC control fixes, DC current should be calculated better under field weakening.
Fixed one weird ultra-rare bug in square mode.
LEVCAN operates on queues now, log time 2x faster when display updated.
Decreased DCi Ki default from 500 to 200.
Slightly decreased FW start point.
Added full debug info export.
Added logger mode selection and tuned logger start.
Removed first line from log for easy datazap upload.
Throttle / brake curves added (8 point configuration) with presets.
PAS extra scale added for additional modes.
Soft acceleration for cruise added, more shutdown triggers.
Cruise logic updated - phase current limited by selected mode, not throttle position.
Minimum cruise speed - limits cruise activation.
Cruise increment/decrement - control cruise speed with buttons ( port = CR+/CR-)
Cruise restore - recovery last saved cruise speed with button, activated only above min cruise speed. (port = CRr)
Power limit added to modes and battery configuration. 0 = power limit disabled.
Small menu fixes.
CAN inputs increased to 16.
Parameters export / import fixes.
12V shutdown fix.


18 March 2020

Display v0.59B Download
HOTFIX for display speed sensor

11 March 2020

Display v0.58B Download

Show change log

Click to hide ⇱

Fixed 0V throttle issue.
Fixed charge statistics reset.
Added kmh/mph switch.
Added more parameters to info. lines on main screen.
Added hotkey mode for compatibility with controller speed functions.
Fixed contrast setting.
Added driving range, calculated from WH usage.
A lot of tiny fixes.


Controller v0.7.12

Show change log

Click to hide ⇱

Torque PAS fixes
Fixed configuration import for advanced modes
Added configuration selector from 1 to 9
Import will show first line of configuration, you can put a comment here
Fixed N mode
Fixed motor wiggle at charger mode
Added more debug information


21 Nov 2019

HOTFIX, fixed NaN error for analog inputs.
Controller v0.7.9 Download

20 Nov 2019

Export configuration (or make screenshots), after controller update do “Erase data storage” and reboot. Configuration will not be imported fully, some values will need to enter manually.
Display v0.57B Download

Show change log

Click to hide ⇱

CAN buttons setup
Inverted inputs setup
Statistics reworked
Added filters for analog inputs


Controller v0.7.8 Download

Show change log

Click to hide ⇱

Big menu update
Control logic completely reworked for future compatibility with BMS
New default values for PIDs
DC-DC low voltage difference charge fixed
Inverted brake input added
Specific setup for 3 positional speed switch added (can work now as 1-2-3)
Button/switch select for usual speed select input
Save CRC calculation fixed
New speed mode - neutral
Speed increment and decrement added
Added t-sensor NTC 10k B:3380
Reboot command added
Fixed field weakening over 126%
Fixed VBUS measuring, now it is at PWM frequency, significantly improved overvoltage protection
Added median VBUS filter
Added averaging of N-X ADC samples filter for throttle and brake
Fixed brake glitches
Current measuring fixes for better measuring on 6F board
When enable button configured controller will not turn-on anymore when power applied
Autodetect improved, more informative, short-circuit detect added and timeout fixed
Added lock-at-turn-on, will lock throttle untill password on-screen is entered
Voltage on phases detect added, will lock controls
UVLO added
Added “Advanced modes” menu with more specific options per mode
Personal throttle protection lock for CAN source or local
Motor temperature limit for charger (DC-DC)