No-SMP OMAP4 boot path installed to the normal boot partition.
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
armhf rootfs on sparse ext4 userdata.
BCM4330 loads from rootfs firmware and owner calibration.
48 kHz PCM and MP3 playback validated on the internal speaker path.
Printed station cards start on-device radio playback with live LED feedback.
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