Skip to content

Releases: os-vector/wire-os

WireOS 3.0.1.31

21 Oct 20:20

Choose a tag to compare

Changelog

  • update-engine C++ rewrite
  • No more Python
    • python3 taken out
    • rebooter and update-engine rewritten
  • Latest Yocto base as of October 21st, 2025
  • Merge vic-cloud and vic-gateway
    • The Go binaries are huge because of the inclusion of gRPC. vic-cloud and vic-gateway were carrying their own copies of the module separately. Now vic-gateway is embedded into vic-cloud, and runs in a goroutine
  • Thanks to these changes, smaller OTA (now 153M)
  • Things done by @Switch-modder
    • Fix pet detection animation sounds (@Switch-modder did long ago, just now pulled latest EXTERNALS)
    • Customizable backpack lights and Anki backpack light files
    • Age is now gotten from /data/persist rather than from the age of the onboardingState.json file, so setting the bot up with wire-pod won't reset the age. Now clearing the bot's user data is what resets it.
    • He now says his age in years if he's that old

WireOS 3.0.1.30

07 Sep 19:55

Choose a tag to compare

Note

  • 3.0.1.29 had to be pulled due to consistent crashing on some bots
  • The changelog will include the changes made in 3.0.1.29

Changelog

  • Mics should be OK now
    • In 3.0.1.28, mics were too quiet for wire-pod to understand sometimes
  • New victor compiler - Clang 20.1.8 rather than 18.1.8
  • Cleaned up a couple things, mainly got rid of some unnecessary OpenCV libs
  • Slightly smaller OTA - about 169MB
  • vic-engine crashing fix
    • Was due to a protobuf race condition which presented itself after the Clang upgrade. A copy is now made before serialization
  • Some added commands:
    • mrw: shortcut for mount -o rw,remount /
    • voff: shuts down the robot
    • reboot now accepts arguments while still exiting the SSH session
  • libpvictor is now installed
  • :8080 now includes an option to set temperature units

WireOS 3.0.1.29

27 Aug 17:50

Choose a tag to compare

Changelog

  • Mics should be OK now
    • In 3.0.1.28, mics were too quiet for wire-pod to understand sometimes
  • New victor compiler - Clang 20.1.8 rather than 18.1.8
  • Cleaned up a couple things, mainly got rid of some unnecessary OpenCV libs
  • Slightly smaller OTA - about 169MB

WireOS 3.0.1.28

12 Aug 06:51
0f32da7

Choose a tag to compare

Changelog

  • Yocto Whinlatter upgrade
    • glibc 2.41 -> glibc 2.42
    • newer Python 3.13 version
    • everything is built with GCC 15 rather than 14
  • Revert my force-enabling of mic data processing
    • should fix overly-sensitive mics

WireOS 3.0.1.27

18 Jul 18:54

Choose a tag to compare

Changelog

  • Tone down the Balanced performance profile significantly, potentially fixing the overheat issue
    • Involved a kernel change to add a new CPU frequency
  • Undo the undoing of an Anki change - make sure the CPU isn't using a big.LITTLE scheduler
    • While this gave us better performances in certain scenarios, it seemed to make the SoC hotter
  • Add temper script which shows you CPU temps over SSH
  • Fix vmesg so it follows the logs

WireOS 3.0.1.26

15 Jul 07:15
d963647

Choose a tag to compare

Changelog

  • Face overlay - initial support
    • If enabled, an image will overlay his eyes. It'll move along with the eyes. Think of it like a fancy, more complicated eye color
    • Still needs improvement. This will be an easier experience in the future
    • To enable:
        1. head to :8889/consolevars
        1. click the Face tab
        1. enable "ProcFace_CustomEyes"
        1. choose whichever one you want in the dropdown "ProcFace_FlavorOfGay"
        1. click "LOOK_LoadFaceOverlay" at the bottom of the ParameterizedFace section to load the new thing you selected in the dropdown
        1. if you want a custom one, put a jpg at /data/data/customFaceOverlay.jpg, and select Custom in the dropdown
  • OpenCV 3.4.0 -> 4.12.0 upgrade
    • SIGNIFICANTLY faster camera streaming to the SDK
  • Make mm-anki-camera provide 30FPS rather than 15
  • Ensure frequency profile is set to Balanced by default upon every boot (sometimes ankiinit would set it back to 533MHz)
  • New cool PS1 variable ([root@Vector-P6V3 ]# color)
  • Remove body overheating check because WHO CARES

WireOS 3.0.1.25

01 Jul 06:18

Choose a tag to compare

Changelog

  • Picovoice 1.3.0 -> Picovoice 1.5.0 upgrade
    • More accurate, less false positives in my experience
    • Default sensitivity bumped to 0.77, still configurable in :8080
    • If you had a custom wakeword, you'll have to regenerate it
  • Custom wakewords are now generated on a cloud server rather than my personal home server
  • New tab in :8080 for setting location and time zone, useful when using WireOS servers
  • reonboard SSH command for putting him back into onboarding mode without clearing user data
  • No BLE commands need anki-auth anymore
  • Fix wifi-forget !all BLE command (there was a missing script)
  • The whole OS is now compiling with Yocto's GCC 14 - that+time64-build-flag removal resulted in a smaller OTA
    • 167M dev OTA. Anki dev OTAs were usually in the 180-200M range
    • There are exceptions - ankibluetoothd, hci-qcomm-init, mm-anki-camera, and mm-qcamera-daemon. Prebuilts are copied in in these instances

Reminder

  • If the :8080 webserver looks the same, do CTRL+SHIFT+R to reload all cached elements (or whatever keyboard shortcut does it for your browser)

WireOS 3.0.1.24

22 Jun 23:53

Choose a tag to compare

Changelog

  • Pet detection
    • Pretty basic
    • If he sees a pet while exploring or observing, he will play an animation
    • Works with cats and dogs - there are different animations for each
  • Kernel upgrade - 3.18.68 -> 3.18.120
    • Results in a slightly smaller OTA, probably more stable drivers
  • COMPAT = 205 due to change in vic-cloud and vic-gateway build system
    • They are re-integrated into victor, not built in oelinux anymore
  • New WLAN driver
    • More performant for me
  • New tabbed interface in :8080
  • Picovoice sensitivity can be changed in :8080
  • Maintenance reboot fix - now he won't randomly wake up in the middle of the night

NOTE: if the :8080 webserver isn't working properly, do a CTRL+SHIFT+R to reload all cached elements (if non-Chrome, try SHIFT+F5)

WireOS 3.0.1.23

12 Jun 09:19

Choose a tag to compare

Changelog

  • Petting lights
    • Inspired by Viccyware (@Switch-modder)
    • The lights pulse when the bot is touched
  • Automatic nightly reboots work again
    • He will clear out the cobwebs at night
    • Some reported memory leaks after a couple days of operation, this should mitigate that
  • The eyes now go away when systemctl stop anki-robot.target is run
    • Previously, the eyes would stay frozen on screen - unsettling
  • update-engine is substantially faster
    • Using a curl pipe rather than urllib2
  • update-os increases CPU+RAM frequencies and stops anki-robot.target before updating
  • Update TensorFlow Lite from v1.9 -> v2.19.0 (latest tag available)
    • Embeds XNNPACK, models probably run faster on CPU now
    • Allows us to eventually use the GPU OpenCL-based delegate in the future
    • (We aren't using the GPU delegate yet, but I have tested it and it does work. It just doesn't provide much of a performance benefit with the super tiny Anki-created models bundled in Vector)
  • Include OpenCL libs
    • Will allow us to embed GPU acceleration into some things
    • This inflates the OTA size from 177M to 192M, but I think the possibilites outweigh this
  • vmesg script
    • Details in README.md of this repo
  • Get rid of coreutils in main image
    • We now just have busybox + a couple real programs installed if the busybox versions aren't good enough
      • dmesg, ps, netstat
  • dmesg is now from util-linux
    • Allows -w to follow
    • All nice and colorful
  • Onboarding wakeup animation is different
    • I am using the one from VicOS 1.0.0 now
    • Will be seen in the future once I get a Vector app recreation (including onboarding process recreation) made
  • Fix bug in wired which made the "Auto Updates" section blank if the build is self-built

Reminder of my mistake

  • 3.0.1.21 (two versions ago) is broken. If you are running that, SSH in and run sysswitch to bring your bot back to 3.0.1.20. From there, your bot will auto-update to 3.0.1.23.

WireOS 3.0.1.22/3.0.1.21

06 Jun 06:00

Choose a tag to compare

Mistake

  • I made a mistake in 3.0.1.21 - the robot boots, but many core utilities like grep are missing. Please run sysswitch to boot back to 3.0.1.20. From there, your bot will auto-update to 3.0.1.22.

3.0.1.22:

  • Hotfix to re-add busybox to main image
  • update-engine was broken in the previous build

3.0.1.21

  • 915 error fix
    • vic-engine likes to somewhat randomly set the timezone, especially after SDK use. My set-timezone script which allows the timezone data to exist in /data was too slow sometimes, which caused engine to crash. This was because timedatectl list-timezones was being run in the script to make sure the given time zone exists
  • Reduce default wakeword sensitivity
  • Wakeword sensitivity can be customized:
    mkdir -p /data/data/com.anki.victor/persistent/picovoice && echo 0.01 > /data/data/com.anki.victor/persistent/picovoice/sensitivity
    
    • Replace 0.01 with whatever sensitivity value you want to try.
      • Any float between 0-1. Default is 0.10.
    • After running, reboot the robot or run systemctl stop anki-robot.target && sleep 1 && systemctl start anki-robot.target
  • A lot of work on the Yocto code which is kinda imperceptible to the user
    • Yocto now actually compiles a lot of the proprietary Qualcomm code
      • Previously, I was just copying prebuilt binaries in
    • This means I was able to get rid of /usr/qtiroot, which is where those prebuilts lived
      • This was a whole tiny sysroot with its own libc and such
    • Kernel, Qualcomm HAL programs, and ALSA are now compiled with GCC 7.5.0 rather than 4.9.3
      • Everything else - Linux programs, victor - are compiled with either GCC 14 or Clang 18.1.8 (this was always the case in new wire-os)
    • Camera programs are still being copied in, but they have been fixed to work in the new sysroot so they don't need qtiroot
    • Use only busybox in ramdisk, only coreutils in main sysroot
      • Originally, both included both
    • Due to all of this, OTA size is now 179MB (down from 187MB)
  • Now includes a wire-pod-ready vic-cloud, so wire-pod doesn't have to replace it
    • Just means that Vector's rootfs remains untouched after wire-pod's "Configure an OSKR/dev-unlocked bot"
    • You still need to perform that part of the setup process
    • If wire-pod is set up, it uses wire-pod. If not, it uses my WireOS server
  • wireutils
    • Right now, this just adds two scripts:
      • anki-debug - makes the Anki programs run as root which allows debuggerd to trace them
        • This means whenever they crash, it is much easier to see why
      • ddn <on/off> - turns on/off DevDoNothing, which makes the robot sit still until shaken