NOTE: A guide will come hopefully soon on how to properly update the BKB Voyager V2 Remote and Receiver. For now, if you’re not sure of the process, I do not recommend installing until that guide is released.
GitHub Repo / Releases: Releases · NicoAleman/BKB-Lisp_scripts · GitHub
v1.41 - March 25, 2025:
- Added standby mode for WiFi management when disconnected from Receiver. This should improve battery life significantly when disconnected (previously kept WiFi on while searching for Receiver)
- Battery Saver Data Rate when Idle reduced to prioritize battery life over the refresh rate of readings (like Speed and Current)
- Data Rate without Battery Saver enabled is now still reduced slightly when idle (still much faster than with Battery Saver)
v1.40 - March 25, 2025:
-
Significant improvement to battery life, thanks to improved WiFi management:
-
Remote WiFi is turned on when sending data, and Receiver sends data back once it receives data from the Remote. Then, we turn WiFi off once we get data back from the Receiver, and it remains off until the next data send. Fairly simple solution, but this should result in SIGNIFICANTLY better battery life, especially in Battery Saver mode (on by default) where the data_send rate is much more limited when unnecessary.
-
One con is reduced refresh rate of data readings (including speed and current) with Battery Saver on. Feel free to turn it off if this is an issue. Even off, the battery life should still see a notable improvement over the previous ~3 hour or less charge life.
-
v1.34 - March 24, 2025:
-
Re-introduced Safety Switch for locking out throttle input:
-
When enabled (can be enabled in Remote settings, under Safety menu), short pressing the power button will lock out the throttle from any input, instead just sending an input of 0%.
-
Speed text will appear Green when throttle is locked. Unlock by short pressing the power button once more.
-
v1.33 - March 23, 2025:
- Various fixes to Pairing’s process and UI/UX (including remote display crash)
- Throttle Calibration now requires a valid range before saving (Max and Min can’t be too close to Mid). This helps prevent unintentional bad throttle calibrations.
- Remote can now Idle Timeout (Shut-off) while in Config Screen
v1.32 - March 21, 2025:
- Added new auto-shutdown conditions:
- Shutdown if filtered Remote Voltage reaches below 3.4V (critically low, 3.5V = 0%)
- Shutdown if idle for 5 minutes straight:
- Speed must be under 5mph, and EITHER:
- ADC is centered (1.65-1.95V), OR
- Calibrated throttle is near zero (-10% to 10%)
- Throttle is now disabled when USB-C plugged in (when charging, essentially)
- A bit bothersome for debugging / dev, but can easily be commented out if needed. This is for safety, to prevent unintended inputs from remotes left on (or that turned themselves on) while charging
v1.31 (CRITICAL BUG FIX) - March 20, 2025:
- Fixed throttle “overflow” bug, where throttle going beyond calibrated maximum causes it to wrap around to max throttle in the opposite direction
- Removed unnecessary Local_server_ESC script from releases files (we do not write a Lisp script to the controller, only to the receiver and remote)
- Fixed some bugs with trip meter (thanks @TheZeroBeast !)
v1.30:
- Displayed Remote SOC is now a percentage, based on observed discharge curve (still need to implement forced LV cutoff, be sure to turn off at or before 0%)
- Battery Saver Mode: Variable Data Rate
- When in Bat. Saver Mode, we throttle the data transmission rate at lower/idle throttle speeds (switches between 50Hz, 25Hz, and 5Hz). CPU usage is noticeably lower when idle.
- Main Screen UI revamped to only re-draw when necessary (when respective displayed values change), hopefully reducing power draw
- Display and Throttle Threads now run at specified refresh rates and properly sleep in-between, hopefully reducing power draw (CPU usage is noticeably reduced)
Note: Data Rate option in Remote Settings currently does nothing. Ignore for now.
v1.21:
- Optimizations to improve performance / battery life:
- Main Screen follows a defined refresh rate (currently a responsive 10Hz)
- Remote SOC updated every 4 seconds except when charging
- Data_Send optimizations
- And more to come
v1.20 (Initial Onewheel Release):
- Fixed Speed and Trip Distance Calculations
- Disabled any potentialy dangerous functions (SET_CURRENT calls, Bugged/Unnecessary Safety Switch)
- Added Float Logo to Bootup
- UI Cleanup for better legibility (No unnecessary leading zeros, better spaced digits, dynamic layouts based on # of digits)
- Numerous optimizations and tweaks (mostly on remote-side) to prioritize low latency and high refresh rate. Some are purely optimizations (i.e. synchronizing throttle and data_send in same thread, or Receiver-side Buffer optimizations), others should be monitored for impact on battery life (when not in battery saver mode)
- Fixed critical issue with ghost inputs during receiver boot-up
- Replaced UART Motor Control (set_current) with UART Remote Data (COMM_SET_CHUCK_DATA), for use with VESC Apps and Packages that handle Motor Control
- Includes support for Thumbstick Click, CFG Button, and Mode Switch as inputs for future features
- Fixed Throttle Scaling to properly scale the throttle input, rather than truncating it early into its travel range and limiting precision
- Updated Battery Indicator animation to be more reflective of current battery state (“filling up” animation loops back to SOC, rather than fully empty)
- Reworked the “Button Press” logic for more intuitive mode switching (for Throttle Scale and Direction Change)
- Implemented Deadband-esque EMA filter with a variable alpha based on rate of change, in order to reduce throttle noise and nervousness without sacraficing low-latency / responsiveness for rapid inputs
- Reciever Lisp version now read properly by remote, and hid misleading placeholder version numbers (FW/HW)
- Numerous other Onewheel specific updates (e.g. New defaults that override the old, Direction now labeled as Mode 1 and Mode 2 for future features, irrelevent menus hidden)