MP3/FLAC player with 3.5" Touchscreen


This is my first time here, so apologies if this ends up in the wrong thread.

I’m getting a project together where I want a Raspberry Pi 3 powered music player installed in my drawing desk with an ADA 3.5" touchscreen connected to the GPIO to control it. Essentially it’ll be like an iPod but wirelessly connecting back to my NAS to pick up all my music. I’m sure people will be thinking, ‘just get an iPod’…! Well, I’ve already got one, that’s maxed out on storage and am looking for a better solution than blu-taking it to the side of the desk. Plus, where’s the tinkering fun?

I can get Volumio working via a larger monitor, but does it support a low res 3.5" screen? And if so, is there a way to get the ADAfruit drivers for the screen shoehorned into Volumio and for it to output via the GPIO and not the HDMI?

I’m fairly new to Linux and don’t know my way around fully as yet, so if it’s possible I’ll need a noob guide of where to go and what to do!


Hi! I hope this thread could help you:


:arrow_right: If we show some interest on britvic42’s project he could help us.

You could also try with the brand new plugin, probably a lot easier.



I tried the plugin yesterday with this screen … ds=myorder, which is a waveshare clone.

Downloaded the driver from waveshare wiki websiteLCD-show-160811.tar.gz,
Extracted this, open the script “LCDShow35” and manually went through the script and installed dtoverlay driver, added config file to X11, etc…
Rebooted the Pi.

And the results -

White screen for a few seconds then can see boot messages on the 3.5 inch display all the way up to where it displayed "volumio login:. Then the screen once again turned white. Can be that volumio output to HDMI instead of this SPI Screen.

Need to chage the X11 config to point the output to SPI screen instead of HDMI.

one more thing, seems that GPIO 17 is not available for this screen. The screen need GPIO 17 in order for the touch to work.

Will try to make this screen work with the plugin.

HDMI output is defined in boot.ini after the Touchscreen plug-in has been installed. At least: in my case (Odroid C2 image).

A Touchscreen plug-in is very nice, but it might be an idea to have a small “database” of settings per screen (resolution and output time) and have a list of populair Touchscreens to select and additional the possibility to select a “custom” touch screen for which resolution and output type have to be selected manually.

Guys, the volumio C1 and C2 image do not initialise the framebuffer yet, I’m working on it.
And yes, there are a number of changes which could be implemented in the plugin.
Your suggestion for an automatic setup of resolution depending on selecting lcd type would be a good way to go.


I tested the plugin on the Pi2 and Pi3, not the Odroid since the OP ask about the Pi3 and Adafruit screen.

+1 for the suggestion on the support of other screens (SPI) and not just HDMI.

anyway any tips on how to direct output to frame buffer on the pi?

I tried to have direct output on the PI via framebuffer, but I never had a “good looking” result…

I managed to get the screen to display volumio UI :smiley:

and to answer the OP - it is possible to output to the SPI display but for 3.5" it is totally unusable due to the low res display.

Just plug in a keyboard and zoom in or out:
<​Ctrl>+<+> ​Increase zoom level
<​Ctrl>+<-> ​Decrease zoom level
It stays after reboot.

Not perfect, but does the trick;-)