FlashThing
FlashThing is a tool for quickly and easily flashing the Spotify Car Thing (Superbird). FlashThing is composed of three parts:
- FlashThing: Rust crate for flashing superbird.
- FlashThing CLI: Command line interface for FlashThing.
- FlashThing Node: N-API bindings for FlashThing.
FlashThing currently supports flashing the Stock partition tables as well as custom partition tables using a subset of the Terbium meta.json standard. Read more about that standard in the docs.
Installation
Rust Crate
CLI
Node Module Installation
Platform Specific Notes
Linux
FlashThing requires libusb to be installed, and a udev rule must be set up to access the Car Thing. To install the udev rule, run the following command:
macOS
FlashThing requires libusb to be installed. You can install it using Homebrew:
Usage
Rust Crate Usage
See docs.rs and the cli for more information.
Note: The documentation is very basic, sorry!
CLI Usage
Node Module Usage
import { FlashThing, type FlashEvent } from 'flashthing';
const callback = (event: FlashEvent) => {
console.log('Flash event:', event);
};
const flasher = new FlashThing(callback);
await flasher.openArchive('path/to/archive.zip');
console.log(`Total flashing steps: ${flasher.getNumSteps()}`);
await flasher.flash();
Project Structure