https://github.com/johennes/minifuzz
Standalone table-top music player with headphone output
https://github.com/johennes/minifuzz
electronics music-player raspberry-pi
Last synced: 8 months ago
JSON representation
Standalone table-top music player with headphone output
- Host: GitHub
- URL: https://github.com/johennes/minifuzz
- Owner: Johennes
- License: gpl-3.0
- Created: 2020-09-28T18:31:03.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T11:45:41.000Z (about 5 years ago)
- Last Synced: 2025-01-05T23:41:08.616Z (9 months ago)
- Topics: electronics, music-player, raspberry-pi
- Language: Python
- Homepage:
- Size: 666 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# Mini Fuzz
This is an ongoing project to build a standalone table-top music player with headphone output.
## Goals
- Be standalone – A device to play my music and do nothing else
- Be small (in physical size) – A device that fits onto my desk without occupying much space
- Be big (in storage size) – A device that contains _all_ my music
- Be old-school – A device with mechanical controls for enjoyable operation## Components
- Raspberry Pi Zero W
- JustBoom DAC Zero pHAT
- ILI9341 240x320 RGB TFT LCD display
- ADS1115 ADC
- Slider potentiometer## Current State
- [ ] Physical components
- [x] Stacking header soldering
- [x] DAC pHAT stacking
- [x] Display wiring
- [x] Button wiring
- [x] ADC & volume slider wiring
- [x] Rotary encoder wiring
- [ ] Case
- [ ] Control reading
- [x] Volume slider
- [ ] Play / pause / previous / next buttons
- [ ] Power button
- [ ] UI
- [x] Playback screen
- [x] Current track info (artist, album, title)
- [x] Cover view
- [x] Track progress bar
- [x] Volume meter
- [x] Playback controls
- [ ] Library screen
- [ ] Playlist screen
- [x] Screen transitions 
## Wiring
All RPi pins are in physical numbering.
```
Breadboard | Connect To
-----------+-----------
3v3 | RPi 17
GND | RPi 39
5v | RPi 2ADS1115 ADC | Connect To
------------+---------------
VDD | Breadboard 3v3
GND | RPi 9
SCL | RPi 5
SDA | RPi 3
ADDR | -
ALRT | -
A0 | Slider Pot OTA
A1 | -
A2 | -
A3 | -
``````
Slider Pot | Connect To
-----------+---------------
OTA | ADS1115 A0
VCC | Breadboard 3v3
GND | Breadboard GND
``````
Button 1 | Connect To
---------+-----------
5v | Breadboard 5v
GND | Breadboard GND
C | GND
NO | RPi 29
NC | -
``````
Button 2 | Connect To
---------+-----------
5v | Breadboard 5v
GND | Breadboard GND
C | GND
NO | RPi 31
NC | -
``````
Button 3 | Connect To
---------+-----------
5v | Breadboard 5v
GND | Breadboard GND
C | GND
NO | RPi 33
NC | -
``````
Button 4 | Connect To
---------+-----------
5v | Breadboard 5v
GND | Breadboard GND
C | GND
NO | RPi 37
NC | -
``````
Rotary Encoder | Connect To
---------------+-----------
A | RPi 32
GND | Breadboard GND
B | RPi 36
---------------+-----------
NO | RPi 16
GND | Breadboard GND
``````
ILI9341 Display | Connect To
----------------+-----------
SOCK (MISO) | RPi 21
LED | RPi 10
SCK | RPi 23
SDI (MOSI) | RPi 19
DC | RPi 18
RESET | RPi 22
CS | RPi 24
GND | RPi 6
VCC | RPi 1
``````
┌───────────────────────────┐
│┌─────────────────────────┐│
││┌───────────────────────┐││
│││┌─────────────────────┐│││
╔═══════╗ ││││ ╔═════════╗ ││││ ╔══════════════╗
║ VDD ─╫────┐ │││└──╫─ 01 02 ─╫──┐ ││└│──╫─ SOCK (MISO) ║
║ GND ─╫────│┐│││┌──╫─ 03 04 ─╫─x│┌────││─│──╫─ LED ║
║ SCL ─╫────││││││──╫─ 05 06 ─╫──││───┐││ └──╫─ SCK ║
║ SDA ─╫────│││││┘x─╫─ 07 08 ─╫─x││ ││└────╫─ SDI (MOSI) ║
║ ADDR ─╫─x │└│││───╫─ 09 10 ─╫──│┘┌──││─────╫─ DC ║
║ ALRT ─╫─x │ │││ x─╫─ 11 12 ─╫─x│ │┌─││─────╫─ RESET ║
║ A0 ─╫───┐│ │││ x─╫─ 13 14 ─╫─x│ ││┌││─────╫─ CS ║
║ A1 ─╫─x ││ │││ x─╫─ 15 16 ─╫──│┐│││└│─────╫─ GND ║
║ A2 ─╫─x │├─│││───╫─ 17 18 ─╫──││┘││ └─────╫─ VCC ║
║ A3 ─╫─x ││ ││└───╫─ 19 20 ─╫─x││ ││ ╚══════════════╝
╚═══════╝ ││ │└────╫─ 21 22 ─╫──││─┘│ ILI9341
ADS1115 ││ └─────╫─ 23 24 ─╫──││──┘
││ x─╫─ 25 26 ─╫─x││
││ x─╫─ 27 28 ─╫─x││
││ ┌─────╫─ 29 30 ─╫─x│└─────────────────────────┐
││ │┌────╫─ 31 32 ─╫──│────────┐ │
╔══════╗ ││ ││┌───╫─ 33 34 ─╫─x│ │ ╔═══════════╗ │
║ OTA ─╫────┘│ │││ x─╫─ 35 36 ─╫──│───────┐└──╫─ A NO ─╫──┘
║ VCC ─╫─────┤ │││┌──╫─ 37 38 ─╫─x│ │┌──╫─ GND GND ─╫──┐
║ GND ─╫─────│┬││││──╫─ 39 40 ─╫─x│ └│──╫─ B ║ │
╚══════╝ ││││││ ╚═════════╝ │ │ ╚═══════════╝ │
Slider ││││││ Pi / DAC │ │ Rotary Enc. │
│││││└───────────────│────────│──────────┐ │
╔══════╗ ││││└────────────────│─────┐ │ │ │
║ 3v3 ─╫─────┘││└─────────┐ │ │ │ │ │
║ GND ─╫───┬──┴│─────────┬│───────│────┬│──┴─────────┬│──────┘
║ 5v ─╫──┬│───│────────┬││───────┴───┬││───────────┐││
╚══════╝ ││┌──┘ │││ │││ │││
Breadboard│││ │││ │││ │││
│││ │││ │││ │││
╔══════╗ │││ ╔══════╗ │││ ╔══════╗ │││ ╔══════╗ │││
║ 5v ─╫──┘││ ║ 5v ─╫──┘││ ║ 5v ─╫──┘││ ║ 5v ─╫──┘││
║ GND ─╫─┬─┘│ ║ GND ─╫─┬─┘│ ║ GND ─╫─┬─┘│ ║ GND ─╫─┬─┘│
║ C ─╫─┘ │ ║ C ─╫─┘ │ ║ C ─╫─┘ │ ║ C ─╫─┘ │
║ NO ─╫────┘ ║ NO ─╫────┘ ║ NO ─╫────┘ ║ NO ─╫────┘
║ NC ─╫─x ║ NC ─╫─x ║ NC ─╫─x ║ NC ─╫─x
╚══════╝ ╚══════╝ ╚══════╝ ╚══════╝
Button 1 Button 2 Button 3 Button 4
```## License
Mini Fuzz is licensed under the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Inconsolata font is subject to the Open Font License.