• It's been a while, and I've made a bunch of progress...

    Matt05/23/2017 at 15:28 0 comments

    I've been totally neglecting this project page, but not totally neglecting the Grimmplayer itself... Whilst I do bits and pieces here and there and never work on it full time, I'm now very much at a stage where it's a usable device which I can get a fast turnaround on user interface for. Since last update, it has:

    • Navigational buttons
    • An OLED display
    • A case (okay, a tobacco tin)
    • A rechargeable LiPo power supply
    • The beginnings of a library interface
    • skip/prev/vol+/vol-/play/pause controls

    So here's a few images in the meantime until I get round to actually updating the parts list:

    Yes, the battery is technically taped to the back. Yes I'm powering it over USB externally. Gotta do what you can so you can iterate - I don't doubt that I'll be looking to use a more suitable board with battery charging and a DAC integrated in to it at some point instead so I figure it's best to make the thing usable so you can figure out where to direct your efforts.

  • Bits and pieces

    Matt10/25/2016 at 11:37 0 comments

    Not a lot to report over the last week, I've been too busy to really work on the player but I did do a couple of things:

    • Changed the address for the python client connecting to mpd from the loopback ipv4 address ( to the host alias (localhost). This appears to have fixed a problem that when networked over USB the play button works because mpd is listening on ipv4, but when it's not it's onlly listening on ipv6 for reasons. No fucking idea, I'm going to blame systemd with no evidence and move on.
    • Added a .mpdignore file containing a splat to the .git directory of my music collection so that it will stop picking up on the actual media files and keep using the nicely named symlinks instead.

    Not sure that I'll have much time to work on it, but the next step is probably adding the OLED screen.

  • Debounce

    Matt10/18/2016 at 17:03 0 comments

    Just added some super quick and super lightweight debounce code which I will likely have to delete very soon, but for now I can reliably pause and play music without having to press the button just right :)

  • Buttons!^H^H!

    Matt10/18/2016 at 14:09 0 comments

    Last night I took my breadboard proof-of-concept for having a button to play and pause the music (super simple using the super-easy python-mpd2 library) and made my first foray into veroboard prototyping, the result being what you can see in the picture here:

    I was really lucky in that I managed to jam it on in such a way that I didn't have to solder it to the pi itself, so this is a really great stepping stone. I'd really like to use something a little more fun and multi-purpose for the actual final controls (I'm thinking a mouse wheel!), which makes being able to remove without desoldering a big plus point.

    Additionally I managed to add some code in all of 10 minutes that will handle a long press and make it skip the current track, so already we're a long way ahead from the systemd (ew) script which just plays you that one 3TEETH album and you have to suck it up.

    I'll be putting the current incarnation of the code on Github soonish. I also need to seperate out the ansible code for setting up the pi from a seperate project's repository.