NFC Record Player Promotes Intentional Listening

Streaming services have enabled many of us to have easy access to the world’s media library at the touch of a screen, but [Coconauts] thinks we’ve lost something along the way. To bring some intentionality back to the listening experience, they built an NFC record player called Minilos.

Like a normal record player, Minilos requires the user to select an album to play on the machine. These were originally decorative coasters with records printed on them, so they are much smaller than even a 45. Each one features an NFC tag that instructs ESP32 microcontroller hidden in the device to play the requested song. Once placed on the record player, it will then play through that album and come to a stop.

In [Coconauts]’s current setup, the ESP32 is connected to a Home Assistant server which then instructs a Google Speaker to play the requested song via Spotify, although we could easily imagine this being used to play music directly from an SD card or other digital storage device instead.

If you want complete control over your music listening while still keeping that authentic vinyl experience, you could always look into cutting your own records with a laser.

Digital Bumper Sticker Tells Everyone What You’re Listening To

Bumper stickers are usually political, crude, or otherwise inflammatory. Rather a more fun example is this digital creation from [Guy Dupont], who made a bumper sticker that broadcasts what he’s listening to on the stereo.

[Guy] found a nice wide 11-inch bar LCD that was the right aspect ratio to suit the “bumper sticker” aesthetic. It had an HDMI interface, so he decided to drive it with a Raspbery Pi Zero 2W. Power for the system was derived from 12-volt lines going to his vehicle’s rear view camera. For an enclosure, he simply stuck the Pi and a buck converter on the back of the display and heat shrinked the whole thing. He also threw some magnets in there to stick it to the car.

How does the screen know what song to display? Well, [Guy] already has his Spotify listens scrobbling to Last.fm. Thus, he just made a script that scrapes his Last.fm page, which runs on a Particle Boron microcontroller, which has a cellular connection of its own. The Boron gets the song data, and spits it over to the Pi via Bluetooth. Then the Pi generates an image for the display.

Oh, and there’s also a neat Easter Egg. In honor of brat summer, the background changes to #8ACE00 green if the system detects you’re listening to Charli XCX. Neat.

It’s a neat build with a lot of moving parts. We’re surprised we haven’t seen anything like this before though, it’s really rather fun. Also, how’s about that taste of the old Internet—when was the last time you heard somebody mention scrobbling? Gosh, we’re getting old.

We’ve featured some of [Guy’s] works before, too, like the amusing Mailblocks project. Video after the break.

Continue reading “Digital Bumper Sticker Tells Everyone What You’re Listening To”

Old Spotify Car Thing Hacks Gain New Attention

If you haven’t heard by now, Spotify is shutting down support for their “Car Thing” on December 9th of this year. Once that happens the automotive media player will officially be useless, with users being advised to literally throw them in the trash come December 10th. Call it an early Christmas present from your friends at the multi-billion dollar streaming company.

Surely the hardware hacking community can do a bit better than that. As it turns out, there’s actually been a fair amount of hacking and research done on the Car Thing, it’s just that most of it happened a couple years back when the device first hit the market. Things stagnated a bit in the intervening years, but now that the clock is ticking, there’s far more interest in cracking open the gadget and seeing what else we can do with it.

[lmore377]’s Car Thing macropad hack from 2022.
The car-thing-reverse-engineering repository on GitHub has a wealth of hardware and software information, and has been something of a rallying point for others who have been poking around inside the device. Unsurprisingly, the Car Thing runs Linux, and with relatively minor work you can gain U-Boot and UART access. With just 512 MB of RAM and a Amlogic S905D2 chip that’s similar to what powers the Radxa Zero, it’s not exactly a powerhouse. Then again, we’ve seen plenty of awesome projects done with less.

If you’re more into the step-by-step approach, security researcher [Nolen Johnson] did a write-up about getting access to the Car Thing’s internal Linux system back in 2022 that’s certainly worth a look. As you’d imagine, there’s also a few YouTube videos out there that walk the viewer through gaining access to the hardware. This one from [Dinosaur Talks Tech] not only provides a good overview of how to get into the system, but covers flashing modified versions of the stock firmware to unlock various features and tweaking the internal Linux OS.

Interestingly enough, while we’ve seen plenty of homebrew hardware players for Spotify over the years, this is the first time the Car Thing has ever crossed our path. Something tells us though that this isn’t the last time we’ll hear about this forlorn Linux gadget.

Continue reading “Old Spotify Car Thing Hacks Gain New Attention”

Hackaday Links Column Banner

Hackaday Links: August 27, 2023

We mentioned last week how robotaxi provider Cruise was having a no-good, very bad week, after one of their driverless taxis picked a fight with a semi, and it was revealed that amorous San Franciscans were taking advantage of the privacy afforded by not having a driver in the front seat. It appears that we weren’t the only ones to notice all the bad news, since California’s Department of Motor Vehicles issued an order to the company to cut its robotaxi fleet in half. The regulatory move comes after a recent Cruise collision with a fire truck, which injured a passenger in the taxi. Curiously, the DMV order stipulates that Cruise can only operate 50 vehicles during the day, while allowing 150 vehicles at night. We’d have thought the opposite would make more sense, since driving at night is generally more difficult than during daylight hours. But perhaps the logic is that the streets are less crowded at night, whereas daytime is a more target-rich environment.

Continue reading “Hackaday Links: August 27, 2023”

A Better Playlist Shuffle Algorithm Is Possible

When listening to music, most of us reach for the shuffle button on the regular. This is then followed by a bunch of frustrating skips as we hear the same four or five tracks that have been regularly replayed for the last few days. [Ron Miller] wants to fix unsatisfying shuffles, and he’s developed the Miller Shuffle algorithm to do so.

[Ron] realized that many big name streaming services use incredibly simple algorithms to choose shuffled songs. This can often be as simple as songIndex=random(NumOfSongs). The problem with this is that even with a good random number source, you’ll get a lot of premature repetitions. If your music service doesn’t keep track of your shuffle-point between sessions, you’ll often get annoying repeats if you’re listening on a day-to-day basis.

To fix this, the Miller Shuffle algorithm aims to offer good randomness and no repeats without the excess resource usage of the commonly-cited Fisher-Yates algorithm. [Ron] explains it like this: “The way the algorithm works its magic is by utilizing multiple computations which are ‘symmetrical’, in that the range of values which go in are the same values which come out albeit in a different order.” Since its a deterministic fixed list, there’s no need to keep track of what songs have already been played to avoid repeats. Instead, the player must simply step through the index in order, one track after another. As long as a referenced index point is maintained, along with an ID of the shuffle order being used, no repeats should come up.

If you’re implementing a shuffle algorithm for your own music, you might want to give [Ron’s] work a look. He’s taken into account details like resource usage and small and large list sizes, to account for implementation issues for even very large streaming services. If you’re more interested in shuffling cards than songs, though, we can help there too!

A radio with a white front grate and wood edges sits on a grey surface. Next to the radio are small white disks with colorful edges reminicient of microdisc-sized records. A yellow-ringed disk sits on the radio. The handwritten title says, "Summer of 2011; Holidays in Barcelona"

Spotify Player Brings Back Physical Media

Digital music has made keeping all your tunes with you a lot more convenient, but have we lost something with dematerialization? [Jordi Parra] felt that there was something lacking with the digital music experience and designed a Spotify player with a tactile interface.

Specific playlists are selected via small RFID tags that look like a cross between a MiniDisc and a vinyl record. As this is a prototype, an Arduino reads the RFID tag, but needs a computer to actually play the Spotify playlist. Future iterations could include an integrated speaker and run libspotify to create a self-contained device.

While there is still work to do for a fully seamless experience, we love the details in the industrial design of this project. Clean simple lines and a combination of wood and more modern materials make this feel like a timeless piece of tech. Definitely check out the full photo gallery including shots of the really impressive packaging.

Want more digital music with a tactile interface? Check out this MP3 Player Shelf or a Simple Internet Radio Transplant.

Cracking The Spotify Code

If you’ve used Spotify, you might have noticed a handy little code that it can generate that looks like a series of bars of different heights. If you’re like [Peter Boone], such an encoding will pique your curiosity, and you might set out to figure out how they work.

Spotify offers a little picture that, when scanned, opens almost anything searchable with Spotify. Several lines are centered on the Spotify logo with eight different heights, storing information in octal. Many visual encoding schemes encode some URI (Uniform Resource Identifier) that provides a unique identifier for that specific song, album, or artist when decoded. Since many URIs on Spotify are pretty long (one example being spotify :show:3NRV0mhZa8xeRT0EyLPaIp which clocks in at 218 bits), some mechanism is needed to compress the URIs down to something more manageable. Enter the media reference, a short sequence encoding a specific URI, generally under 40 bits. The reference is just a lookup in a database that Spotify maintains, so it requires a network connection to resolve. The actual encoding scheme from media reference to the values in the bars is quite complex involving CRC, convolution, and puncturing. The CRC allows the program to check for correct decoding, and the convolution enables the program to have a small number of read errors while still having an accurate result. Puncturing is just removing bits to reduce the numbers encoded, relying on convolution to fill in the holes.

[Peter] explains it all in his write-up helpfully and understandably. The creator of the Spotify codes stopped by in the comments to offer some valuable pointers, including pointing out there is a second mode where the lines aren’t centered, allowing it to store double the bits. [Peter] has a python package on Github with all the needed code for you to start decoding. Maybe you can incorporate a Spotify code scanner into your custom Spotify playing mini computer.