A Raspberry Pi jukebox that uses LEGO Dimensions and Minifigures to play Spotify or MP3 tracks.
1.4K
Make your LEGO Minifigures play music using a Raspberry Pi and a LEGO Dimensions toy pad.
Leveraging the NFC chip in a LEGO Dimensions tag, Minifigues can be assigned songs and cue music like a jukebox.
Jukebox control is not limited to LEGO minifigures. Disney Infinity characters, Amiibos, Skylanders, NFC tags, stickers or cards can become a Musicfig.
During song play, the LEGO Dimensions pad will light up for the duration of the song.
For Spotify users, the album art of the currently playing track is displayed on your local Musicfig app site, as demonstrated on the https://nowplaying.musicfig.com site:

Musicfig's now playing page.
| Hardware | NFC tags |
|---|---|
![]()
| ![]() From Lego Dimensions character discs, Disney Infinity character toys, NFC NTAG213 tags, stickers or cards. |
To play music you can use the following options:
This allows Musicfig to play in offline mode, by accessing local MP3 files.
Firstly, connect your LEGO Dimensions toy pad to the Raspberry Pi via the USB port.
Now connect the speakers to the Raspberry Pi.
Follow these steps to install and config the Musicfig software:
A Musicfig docker image is available from Docker hub. Before using the image, you will need to bootstrap the Raspberry Pi to configure the LEGO usb device which the container will need access to:
curl -L https://raw.githubusercontent.com/meltaxa/musicfig/master/install.sh | bash -s -- --docker
The bootstrap script also downloads the example config.py and tags.yml files. Place these in a directory of your choosing, say /home/pi/musicfig and update these files accordingly. See the complete install instructions in the Medium article "My LEGO Minifigures Play Spotify" for Spotify configuration steps.
Next, find the USB bus and device mappings for the LEGO pad. Make sure it is plugged in. Look for Id "0e6f:0241":
lsusb | grep 0e6f:0241
Example output:
Bus 001 Device 008: ID 0e6f:0241 Logic3
When running Docker, the device path will correspond to the bus and device numbers. For example, Bus 001 and Device 008 would correspond to: /dev/bus/usb/001/008.
Run Docker:
docker run -v <path/to/configs>:/config -p 5000:5000 --device=/dev/bus/usb/<bus>/<device> --device=/dev/snd meltaxa/musicfig
The /path/to/configs is the directory where you store the config.py and tags.yml files.
To stop Musicfig:
sudo systemctl stop musicfig
To Start Musicfig:
sudo systemctl start musicfig
Content type
Image
Digest
Size
79.6 MB
Last updated
over 4 years ago
docker pull meltaxa/musicfig