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.
Installation
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
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