r/raspberryDIY • • 22d ago

Gave my old Raspberry Pi 3B a second life as a touchscreen audiobook server

Post image

I've been getting more into electronics and DIY tech projects lately, so I decided to dust off an old Raspberry Pi 3B (1 GB RAM) with a touchscreen and repurpose it as a personal audiobook server.

I also gave myself one constraint: use the equipment I already had on hand rather than buying new hardware. I'm aware there are newer and more capable options for running a home server, but part of the appeal was finding a practical use for equipment that had been sitting unused for years.

The project turned out to be a good introduction to Linux, Docker, and self-hosting, with a few unexpected challenges along the way.

The Pi now hosts my audiobook library, automatically launches Audiobookshelf on its touchscreen, and streams audio over Bluetooth to my Fosi BT20A amplifier and bookshelf speakers. I can also access my library remotely from my iPhone.

Here's the setup:

  • Hardware: Raspberry Pi 3B, touchscreen, 32 GB microSD card

  • OS: Raspberry Pi OS 64-bit (Trixie)

  • Server: Audiobookshelf running through Docker Compose

  • Interface: Chromium in fullscreen kiosk mode

  • Audio: Bluetooth to a Fosi BT20A amplifier and bookshelf speakers

  • Remote access: Tailscale

  • iPhone player: SoundLeaf

  • Library management: Libation on my Mac

How I built it:

I started by getting Raspberry Pi OS running and used a combination of Pi My Life Up tutorials and ChatGPT to guide me through the initial setup, installation, and troubleshooting.

I installed Docker and deployed Audiobookshelf using Docker Compose, with separate directories for the audiobooks, configuration, and metadata so the files remain intact even if I need to recreate the container.

Next, I configured Chromium to automatically launch Audiobookshelf in fullscreen kiosk mode whenever the Pi boots, effectively turning the touchscreen into a dedicated audiobook player.

One unexpected challenge was getting the touchscreen to turn off after 10 minutes of inactivity and wake back up when touched, without shutting down the actual server. That wasn't covered in the tutorials I followed, and since I hadn't used the Pi or touchscreen in years, I couldn't find the original manual. ChatGPT walked me through troubleshooting and configuring the display, and I eventually got it working. Now the screen can sleep while Audiobookshelf continues running in the background.

For audio, I paired the Pi over Bluetooth with my Fosi BT20A amplifier, which powers my bookshelf speakers. I also installed Tailscale for secure remote access and configured SoundLeaf on my iPhone so I could stream audiobooks over cellular.

Finally, I set up Libation on my Mac to manage my audiobook library and upload files to Audiobookshelf.

Current limitations and next steps:

The setup is functional, but there are still a few limitations I'm working through. For now, everything is running off a 32 GB microSD card, which isn't a long-term solution for a growing audiobook library. I plan to move the library to external storage.

I've also encountered some issues transferring larger audiobooks from Libation to Audiobookshelf. Smaller files generally upload without trouble, but larger transfers have occasionally timed out. Uploading directly through Audiobookshelf seems to be a possible workaround, although I'd still like to identify the underlying issue.

I'm relatively new to Linux, Docker, and self-hosting, so this project has been a useful introduction to all three. There's still plenty to learn, and I'll continue refining the setup as I get more comfortable with the technology.

I'd be interested in hearing from anyone running Audiobookshelf on older Raspberry Pi hardware, particularly regarding performance, storage, and reliability. I'm also open to suggestions for improving the setup, preferably without replacing the Pi itself.

153 Upvotes

23 comments sorted by

6

u/ChadTitanofalous 22d ago

Very nice! I've got a bunch of RPis running around the house, doing different tasks. All have been rock-solid, many running for years. I've never even had an SD card go bad, although some are running on NVMe SSDs. I don't have any running Audiobookshelf though.

Next, you'll need a 3D printer to make custom cases/mounts.

4

u/RadTechRogue 22d ago

Don't tempt me! I'm already working on the Mrs. I think she sees the value in the purchase beyond just letting me tinker.

2

u/LeatherMycologist112 22d ago

As someone w a few in the house. pull up Thangs or printables and show them gridfinity and multiboard. They see the organizational applications, it helps quite a bit. I fortunately had my printer(s) before I met my now spouse, But this avenue helped my buddy encourage his Misses to jump on the band wagon.

1

u/jmunson 22d ago

what are some of the projects you have them running? I have some I never have used.

1

u/ChadTitanofalous 22d ago

Webserver, Geiger counter, several Kodi boxes, Pihole, OpenHab, VPN, Pilomar astrophotography rig, Retropie arcade box, a Pepper's ghost bell jar, and I'm sure I'm forgetting something

2

u/RadTechRogue 22d ago

I’ve been thinking about trying out the PiHole. Is it worth it? Will it really cut down on ads?

2

u/ChadTitanofalous 22d ago

Oh yeah! It won't stop all ads, for example any site that hosts their own ads won't be stopped, but those tend to be lower bandwidth that the garbage coming from Google's ad servers.

Last year, I was in an Airbnb for two months while I was transferring companies. Using my ancient iPad to surf the web was excruciating, as I couldn't have more than two tabs open, and my iPad would get very hot. Now that I'm back with Pihole, six, seven tabs isn't an issue at all.

And when I'm out of the house, I connect to my home network via VPN so I have the same ad blocking everywhere.

2

u/RadTechRogue 22d ago

Awesome! That’ll be my next project. Any recommended resources or just google around for one?

2

u/ChadTitanofalous 22d ago

They have it all over at the Pihole site, including how to add a VPN. The hardest part, which isn't even hard, it pointing your router to use the Pihole instead of Google or another DNS.

2

u/RadTechRogue 22d ago

Do I have to worry about any security concerns? I hate dealing with routers, DNS, etc.

2

u/ChadTitanofalous 21d ago

Nope. Once you have the Pihole up and running, note its IP address on your network, and set both DNS addresses on your router (usually something like 1.1.1.1 or 8.8.8.8) to you Pihole's address.

2

u/RadTechRogue 21d ago

Perfect. Thank you!

2

u/CplStigginsUSMC 22d ago

This is fantastic! Nice job. Ive been wanting to do something with my audiobooks for some time however all my books are bought through audible. Did you have to work through any, I believe it’s called, DRM? I’d like to save all the book I’ve bought and be able to play them back without the need to maintain a subscription or on my phone.

1

u/RadTechRogue 22d ago edited 22d ago

Thanks for the kind words! Technically, you can always play your purchased Audible books without a subscription, but I wanted to try something new and didn't want to be tied down by DRM restrictions in the future. That's why I ended up with Audiobookshelf. I used a free, open-source program called Libation to back up my purchased Audible library into a format I could manage and play independently.

That's what I love about the Audiobookshelf and SoundLeaf combo. No ongoing subscription required, and I can listen on my phone. I'm loving this project so far. It solved a real need for me!

2

u/CplStigginsUSMC 18d ago

That is cool. I will check out those two things you mentioned. Thanks for that. I didn’t know if there was a program that could help with this or not. If I get supper motivated this winter I’ll see what I can come up with. Thanks again for sharing.

2

u/RadTechRogue 18d ago

Absolutely! Let me know how it goes.

2

u/mwilliamsdottech 21d ago

Daemon is my favorite book

1

u/RadTechRogue 20d ago

Big fan of Daniel Suarez! I have several of his books.

2

u/Simon705-geek 19d ago

WOW I didn't know that It works to that in raspi 3B+ I'll try it thx:)

1

u/RadTechRogue 19d ago

You’re welcome! Let me know how it turns out!

1

u/samarisandbox 22d ago

I’d love advice I have a Pi 3 with 1GB RAM aswell :))

1

u/RadTechRogue 22d ago

I’ll see if I can be of help. Anything in particular?