The B-button v2.0

A media player with skipping songs kept in mind. Actually, that's its main feature.

Similar projects worth following
It's a standalone mediaplayer with a big red button for skipping songs you don't like. Internet connection is optional.

Why is it called the B-button v2.0?

For that I need to tell you a story. Or something like that, just let me daydream for a bit to remember... A few years back some friends of mine decided it would be a great idea to live together in one house. It was indeed a great idea but I was wise enough not to actually go and live there. The communal room/kitchen had a pc with Winamp running for music and everybody could just throw whatever music they liked into the playlist and Winamp would shuffle through all songs. Which worked great but every now and then a song was played nobody wanted to hear and then someone shouted "B!" through the room which was to signal someone close to the keyboard that they should press the corresponding button. B is the keyboard shortcut in Winamp to skip to the next song.

To make this process easier I built an emergency stop button that acts like a keyboard to simulate the keypresses.(I actually chose to use the global song skip shortcut instead of plain b so it even works when winamp is not focused)

Now all those friends have moved to different places but a new B-button would still be very convenient. And with modern technology it's even possible to make it completely standalone so I can take it everywhere!

What will this B-button v2.0 do?

It will play songs just like the old setup, also with an emergency stop button for song skipping, but all music is played inside the enclosure of the device instead of on a separate pc. Just hook it up to any stereo and a usb power source. It'll also work as a wireless accesspoint to allow users to upload their own music and manage the playlist.

What are you planning to use for hardware?

I already have a hoist remote which is an ideal enclosure since it's got the emergency stop button and 3 extra buttons. I first tried to fit in a normal sized Raspberry pi, which didn't fit so I'll go for a Raspberry pi zero. To ensure the sd card won't be corrupted when someone pulls the plug I'll add a small lithium polymer battery. The one usb connector will be used to hook up a usb wifi adapter.

For audio out I will use the Polyvection PlainDAC+ because the pwm audio solution of the raspberry pi is nothing you want to use for music.

For human interfacing I will add a single RGB led for some basic signalling and use the 3 extra buttons on the hoist remote for volume control and some basic menu options like shutting down the device.

  • 1 × Raspberry Pi Zero Could also be any other raspberry pi
  • 1 × Some sort of case I've used a crane remote and replaced the emergency button by a momentary switch version.
  • 1 × Polyvection PlainDAC(+) One of the most compact DAC boards I could find;
  • 1 × A 5v lithium battery controller with fitting battery cell. The power consumption of the Pi Zero is pretty low so pretty much any auxiliary usb battery will do fine. I aim to use it primarily to ensure safe shutdown when the device gets unplugged.
  • 1 × A usb wifi adapter with known accesspoint support unless you plan to use it in client mode only

  • Automatic shutdown

    casplantje05/04/2016 at 13:19 0 comments

    I've added a wire and 2 resistors(10k and 22k) to get ~3.3v from the battery controller's power input so the raspberry pi can sense when the power supply is disconnected and automatically shut down.

    I've added automatic shutdown to the button daemon and set a delay of 60s so it won't shut down in case of temporary power failure(or when you need to move the device to a different power socket).

  • Stuttering sound issues

    casplantje05/03/2016 at 09:05 0 comments

    I've been trying to get a clear sound out of the PlainDAC+ but I keep getting stuttering sound. I've tried to install Pulseaudio but that only seems to worsen it, and I think it stresses the cpu more.

    It could instead be vlc that needs some adjustments but as of now I'm not sure yet.

  • Received battery, blown up charging circuit

    casplantje05/02/2016 at 08:31 0 comments

    I received the battery last saturday, and after connecting it to the charging/protection circuit I quickly discovered the circuit was getting unusually hot, so I disconnected the battery and determined the resistance between the battery connection points was near 0. Great protection circuit.

    I had another one lying around that still has a usb host connector, I'll use that one and keep the usb connectors so it's easier to replace.

  • Raspberry Pi Zero arrived

    casplantje04/20/2016 at 14:46 0 comments

    The Raspberry Pi Zero arrived yesterday, I've soldered the PlainDAC+, buttons and a usb connector to the board with some wires so I don't have the usb plug for the wifi adapter sticking out the side. I also got the basic functionality of the software going but the device is currently on my desk with its guts in a bowl.

    The usb connector, based on this hack.

    Next step is getting it to work as wifi Access Point so it'll work anywhere. I might add a button combination to switch between AP and client mode so you can revert if the connection fails.

    I'll wait with finishing the hardware part until I've received the lithium polymer battery so until then it's software tweaking.

View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates