A Google Nexus Q with a multicolor LED ring on a white surface

Google Nexus Q / Steelhead

Nexus Q Revival

A modern Debian 13 and Linux 6.6 bring-up for the abandoned spherical streaming device, validated on real hardware with Wi-Fi, SSH, TAS5713 speaker playback, NFC station cards, live LEDs, and Bluetooth A2DP plus basic AVRCP.

Why

A strange device deserves a second boot.

Google introduced Nexus Q at I/O 2012 as a $299 Android-controlled social streaming device for the living room. The consumer launch was postponed soon after, leaving a small population of preview units and a lot of unused hardware.

This project turns that hardware into a modern embedded Linux audio appliance with local internet radio, physical station cards, visual feedback, and a path toward richer phone-controlled playback.

Current State

Validated on hardware

Kernel Linux 6.6.142

No-SMP OMAP4 boot path installed to the normal boot partition.

Distro Debian 13.5

armhf rootfs on sparse ext4 userdata.

Network Wi-Fi + SSH

BCM4330 loads from rootfs firmware and owner calibration.

Audio TAS5713 ALSA

48 kHz PCM and MP3 playback validated on the internal speaker path.

Appliance SomaFM + NFC

Printed station cards start on-device radio playback with live LED feedback.

Bluetooth A2DP + AVRCP

Android media audio streams through BlueALSA, with top-touch play/pause.

What Changed

From artifact to bring-up platform.

  • Ported a Steelhead device tree for OMAP4, TAS5713, McBSP2, USB gadget, and BCM4330 SDIO.
  • Added a Linux 6.6 ASoC machine driver and Steelhead ABE clock quirk for the internal speaker amplifier path.
  • Built a Debian loader and minimal rootfs init with USB serial, explicit fastboot recovery, Wi-Fi startup, and Dropbear.
  • Moved public Wi-Fi from embedded private blobs to modular `brcmfmac` plus first-boot calibration extraction.
  • Added a standalone SomaFM jukebox that maps NFC tag UIDs to station ids and starts local stream playback.
  • Built a live LED visualizer for SomaFM and Bluetooth playback, including loading cues and top-LED playback status.
  • Validated an opt-in Bluetooth A2DP sink path with BlueALSA, aptX-HD, visualizer levels, audio-priority takeover, and top-touch AVRCP play/pause.
  • Kept opt-in Squeezelite endpoint support available for legacy Music Assistant experiments.
  • Connected the original top ring to TAS5713 hardware volume through the front-panel AVR input driver.
  • Added an opt-in ADB-compatible debug bridge with root Bash shell and file sync for trusted bring-up networks.
  • Documented the ABE DPLL clock fix that removed the Linux 6.6 speaker flutter.

Release

v0.5.0

Flash Debian to userdata, install the Linux 6.6 image to boot, and reboot into a standalone SomaFM/NFC Nexus Q player with live LEDs, local volume, SSH/ADB, and opt-in Bluetooth A2DP plus basic AVRCP.

fastboot flash boot nexusq-linux66-omap2plus-nosmp-audio-wifi-public-debian.img fastboot flash userdata nexusq-debian-trixie-armhf-rootfs.sparse.img fastboot reboot