Skip to content

Overview

waved is one Rust program that replaces the Insta360 Wave’s stock app (pspapp) and its telemetry. You build it from this repository and install it over USB. It runs the touch screen, the microphones and speaker, USB audio, Wi-Fi, recording and uploads.

This project is not affiliated with Insta360.

What changes on your Wave, and what doesn’t

Section titled “What changes on your Wave, and what doesn’t”

The installer never writes the system partition. Apart from one folder for recordings (below), everything it writes is on the Wave’s /data partition:

  • /data/waved/: waved itself, config.toml, the boot splash (splash.fb) and the firewall rules (iptables.rules). waved keeps its log and its recordings list here too.
  • The /etc and /usr overlays, stored under /data/overlay/upper:
    • S60waved, which starts waved and restarts it if it exits,
    • S03splash, which shows the splash early in the boot,
    • rsyslog.conf, which keeps the system log in RAM instead of on /data,
    • a patched S89usbgadget, which turns ADB on at every boot and sets up the USB volume ranges and HID controls,
    • a stub S60pspapp_daemon, so the stock app no longer starts, and
    • an empty libapplogrs.so in place of the stock telemetry library.

Recordings go to /mnt/udisk/recordings, on the Wave’s recordings volume. The installer creates that folder and changes nothing else there.

With the system partition untouched, the Wave keeps the stock system it had, which is why Revert to stock is one script and a reboot.

“On the Wave” means it has run on a real Wave. “Host-tested” means it passes its tests on a computer but has not run on a Wave yet.

Feature Status More
Touch screens: Home, Recording, Files, Menu and settings Works, on the Wave Features
USB speakerphone (UAC2) with echo cancellation Works, on the Wave, with macOS Audio hardware
Noise reduction Off for now: too slow on the CPU Audio hardware
Neural models on the NPU Research: NVIDIA’s MarbleNet voice-activity model runs completely on the NPU, 10.4× faster than one CPU core per four-second window, and matches the original model on all 800 test decisions. Not used by waved yet. MarbleNet on the NPU
Recording on the Wave Works, on the Wave. The one-hour and power-loss certification is still to do. Recording webhooks
Uploading recordings to your own server Works, on the Wave. The full failure-and-recovery test is still to do. Recording webhooks
Wi-Fi setup with a QR code Works, on the Wave Wi-Fi
Power key: sleep, wake, hold to power off Works, on the Wave MCU protocol
Bluetooth pairing and calls Host-tested. The Bluetooth module’s pairing commands were checked on the Wave. Bluetooth protocol
Bluetooth phone audio Host-tested Audio hardware
Wave Controller app Built from the decompiled stock code; not yet tried with the real app Wave Controller protocol
Signed over-the-air updates from your own server Host-tested only Updates
PIN lock Host-tested First setup
Battery level Host-tested MCU protocol
Mic height Works, on the Wave: High and Low move the lift, and the choice is saved. The blocked-lift warning and the height at power-on are still to check. MCU protocol
USB storage mode Not yet
Languages other than English Not yet
  • The stock firmware runs ByteDance’s DataFinder telemetry SDK. It reports more than 35 kinds of event, from every boot to every mute, keyed to the device serial, with no visible opt-out. Security Q&A
  • Stock uploads meeting audio, transcripts and voiceprints to Insta360’s cloud, to a data centre picked by region. waved sends recordings only to a server you configure, or keeps them on the Wave. Security Q&A
  • Stock hardcodes outside services, such as Chinese time servers and a connectivity check against 114.114.114.114. waved’s time servers are a setting you can change. Security Q&A

Next: Requirements.