close-circle
Close
0%
0%

PiPod

Raspberry Pi zero portable music player

Similar projects worth following
This is a portable music player made with a Raspberry Pi Zero running a custom music player written in Python.

Specifications

  • 1200 mAh battery
  • 1.8" TFT display
  • Dimensions: 92mm x 70mm x 13,5mm
  • On/Off switch
  • 5 control buttons
  • Music player interface
    • Sort based on artist, albums and tracks
    • Music control
    • Sleep mode (disable backlight)
    • Shuffle
    • Volume control
    • Queue

The input

The current input on the device are five SMD buttons on the front but this is something that I want to change. These buttons are turned into keyboard input by retrogame.

The case

The case exists of two parts and these are put together using three 2mm screws. All the parts inside the case are press fit and all the ports are accessible from the outside of the case.

Display wiring:

RPI header
Display
GPIO 11 (SCLK)SCK
GPIO 10 (MOSI)MOSI
GPIO 8 (CE0)CS
GPIO 24D/C
GPIO 25RESET
GPIO 23
BL
3.3VVCC
GNDGND

I shorted J1 on the back to enable the 3.3V input and bypass the voltage regulator. To use the display you need to enable SPI, enable the backlight (GPIO 23) and initialize the fbtft driver.

initialize the driver:

sudo modprobe fbtft_device name=sainsmart18 bgr=0 rotate=270

Resources:

Ethernet gadget:

Audio

Standard Tesselated Geometry - 319.61 kB - 08/20/2017 at 01:02

download-circle
Download

Standard Tesselated Geometry - 164.24 kB - 08/20/2017 at 01:02

download-circle
Download

Standard Tesselated Geometry - 116.10 kB - 08/20/2017 at 01:02

download-circle
Download

Standard Tesselated Geometry - 141.00 kB - 08/20/2017 at 01:02

download-circle
Download

View all 12 components

  • Update #2: updated case and initial PlayerUI release

    brama day ago 0 comments

    Initial PlayerUI release

    I pushed the initial release of the interface I am writing for my music player, it is functional but there is still a long todo list.

    If all the modules are installed you can run __init__.py this will load the main screen from there you can navigate to the Settings and update the library this will make the program look for all .MP3 files in the "Music" folder and save the metadata to a .csv file for a quick lookup.

    Main screen

    The main screen has all the controls on it and the information of the current song.

    Menu

    Music submenu

    updated case

    I have also made a few changes to the case design, here they are:

    • The screw holes are now countersunk
    • There are little lids so the middle button won't completely rotate
    • The SD card hole is a little bigger
    • The clip for the audio connector is a bit thinner to be more flexible
    • The slide switch inserts from the back instead of the front

  • Update #1 Buttons and paint

    bram5 days ago 0 comments

    I started by designing and printing the button caps for the first version of the case. These button caps are temporarily because I am still looking for the best input method for the PiPod. If I am going to use tactile buttons permanent I will redesign the front so the button caps move less.

    I've also bought some paint to test out how that would look. I used an old version of the back of the case that I sanded and but primer on to test out the color.

    This is the first time I used paint on a 3D print so I didn't know how much I should sand it down. The result of this test is pretty good but I do need to sand some parts more and use more filler.

    In this picture you can clearly see the print issues on the case. This issue could be solved by printing slower (like I did on the next print of the case). The metallic color I used to paint this part looks pretty good and I will probably use this color for the back.

View all 2 project logs

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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