|
|
As the generations
evolved the devices got progressively smaller and more
refined. |
|
The second generation music player under
development. This music player consisted of the
following components: TTGO ESP32 WROVER. An Adafruit VS1053/SD module. An Adafruit PowerBoost 1000 power module and a 320x240 TFT Touchscreen with a ILI9341 controller from PJRC.com. Finally, a 4 GB SD memory card. The code for this music player was developed in the Arduino IDE. |
|
The generation two
music player only had a physical power switch. All user
interaction is done via the touch screen and the
onscreen buttons. The dimensions of the finished player are 5 1/2" length by 2 3/4" width by 1 1/2" deep. This generation of music player had much more functionality than the following generations in that it had audio equalization, Internet radio, NTP clock and FTP access all built in. In using this music player for an extended length of time I decided I only used the basic audio file playback functions so I dropped all of the extraneous features from subsequent generations. |
|
Although this music
player worked and continues to work fine it was rather
large for carrying around on my hikes so I knew it
wasn't the final answer. The musical content of this music player can be updated remotely via FTP. I typically use FileZilla as an FTP client to update content. |
|
The third generation music player was based on the
Raspberry Pi Zero W and the Pimoroni Audio Pirate
DAC/Headphone module so no custom circuity was
required. The Pirate module had a TFT LCD display and
four buttons which I would use for navigation within
the user interface. An Adafruit PowerBoost 1000 power module (not shown) was used for charging the LiPo battery powering the device. All of the software was written in Python and developed right on the Raspberry Pi module itself. In addition all development was done remotely via SSH as the Pi Zero W has WiFi built in. |
|
My job was to package the music player to protect
the delicate electronics within. To this end I build a
walnut wood box with a smoked glass top and bottom.
This has turned out to be a rigorous build as I have
taken this player on 100's of walks and never once had
a problem. The upper left button is minus or up, the upper right is + or down, the lower left is the back button and the lower right is the select button. All UI navigation is done using these four buttons. Seq Play plays tunes in sequence; Rnd Play selects tunes randomly; Shuffle selects random tunes across all artists; Shutdown shuts down the Pi; Reboot reboots it. Shutdown and Reboot are never used because I just turn the power off when I am done listening. |
|
The dimensions of the finished player are 3 1/2"
length by 2" width by 1 1/4" deep. The hole in the
side is where the USB connection to charge the battery
is. The only downside to this music player is that it takes the Raspberry Pi about two minutes to boot up and be ready to play music. Again, the musical content of this music player is updated remotely via FTP. |
|
The fourth generation music player is functionally
identical to the third generation except that it
(only) supports Bluetooth wireless devices. It is
immediately ready to play music when the power switch
is turned on. The hardware consists of a TTGO T-Display ESP32 module which has the 240x135 TFT LCD screen, an Adafruit microSD breakout board, a power switch and the four nav buttons. Power is supplied by a 650 ma/hr LiPo battery. All software development for this music player was done in the Arduino IDE environment. |
|
The dimensions of the finished player are 4"
length by 2 1/2" width by 3/4" deep. The hole in the
side is where the USB connection to charge the battery
is and where the device's software is updated. Again, the musical content of this music player is updated remotely via FTP. I believe this will be the final generation of music players I will build though I may enhance the software from time to time. |