soundslab/README.md

125 lines
4.5 KiB
Markdown

# Project Overview
This is my first pass at building myself a small, portable, decent sounding digital audio player based around a raspberry pi zero and some additional hardware along with a 3d printed case.
My goal is to build myself a music player I can carry as my primary listening device that sounds good, can carry a large portion of my music library, has a simple user interface, has a more powerful backend interface, and does not cost a fortune.
~~For this first iteration, I have selected three HATs - a display hat with d-pad and utility buttons, a digital audio board, and an uninterruptible power supply board with battery. The selections of the hardware chosen was based more on availability at the time of ordering than any in-depth research in to the pros and cons of each device amongst its peers. As it turns out, there are a few GPIO pin assignments that two or more of the HATs will be trying to use for their own devices (ha) so I'll have to bodge that wire when I get to it.~~
For this second iteration, I have selected two HATs - a Pirate Audio Headphone Amp HAT with LCD display and four buttons, and an uninterruptible power supply board with battery. I swapped out the separate audio DAC hat and display/button hat when I found the volume level too low on the raspiaudio DAC hat for my purposes. The Pirate Audio hat should alleviate this issue and slightly simplifies things overall. However, it is missing the five-way tactile switch that the first iteration had and which I planned on using extensively, so I'm also adding in a five-way tactile switch separately on a small breakout board, and I'll wire the breakout board to some open GPIO pins.
The other hardware consists of a raspberry pi zero w board, a 32gb micro sd card, a micro-usb to usb-a plug cable, and a 256gb usb flash drive. The flash drive will be the music library storage and will be externally accessibly, should I want to remove it to modify the library contents on a system with a faster storage bus going for it. also, I could carry around a tiny fake pleather cassette carrying case that had a couple dozen usb flash drives in it and have literally terabytes of high quality music at my disposable. tres chic!
# bill of materials
This is still tentative and incomplete.
[Pirate Audio: Headphone Amp HAT](https://shop.pimoroni.com/products/pirate-audio-headphone-amp)
[Geekworm Raspi UPS HAT v1.1](https://raspberrypiwiki.com/index.php/Raspi_UPS_HAT_Board)
[Raspberry Pi Zero W](https://www.raspberrypi.org/products/raspberry-pi-zero-w/)
10,000mAh 3.7v LiPo Battery
Five-way tactile switch and breakout board
One (1) through-hole USB-A Port
A USB flash drive to store music (stays mounted in device - smaller (physically) is better)
Various lengths of wire
# installation and dev log
*TODO*: clean up log entries, flesh out details for readers
*TODO*: add project goals, features, BoM, relevant links
*TODO*: set up repo directory structure
*TODO*: move all these todos into issues or something i dunno
## initial setup
wrote raspbian image to sd card
added empty file `/boot/ssh`
added file `/boot/wpa_supplicant.conf`:
```
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WIFI_SSID"
scan_ssid=1
psk="WIFI_PASSWORD"
key_mgmt=WPA-PSK
}
```
booted pi
logged in via ssh
changed passwd
`sudo raspi-config`
- set up locale
- disable wait for network at boot
- resize filesystem in advanced
reboot
logged in via ssh
confirmed filesystem resize
`sudo apt update && sudo apt upgrade -y && sudo apt install tmux usbmount vim wiringpi python3-pip`
`sudo vim /etc/hostname`
changed to soundslab
shutdown -h now
## install and configure DAC hat
added hat to pi zero
booted pi
`sudo wget -O - script.raspiaudio.com | bash`
reboot
## install and configure display hat
https://www.waveshare.com/wiki/Libraries_Installation_for_RPi
```
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz
cd bcm2835-1.60/
sudo ./configure
sudo make && sudo make check && sudo make install
sudo pip3 install RPi.GPIO
```
## install and configure UPS hat
## install musikcube from github
https://github.com/clangen/musikcube/wiki/raspberry-pi
*TODO*: omg this pulls in a lot of dependencies installing the debian package, a bunch of x11 we're never going to need - I should look into whether or not there are any decent 'no X' options for some of the culprits.
## install UI script from gitea
*TODO*: write this script!
## install startup scripts from gitea
*TODO*: write these scripts!
## reboot into soundslab!