Enjoy audio books without having to be connected to the internet or use a complex application. This book reader is designed for anyone who wants an easy way to listen to their audio books. Load up your SD card with as many books as it can handle, pop it into the player and you're ready to go. Audio book reader supports wav file playback and automatically moves from chapter to chapter, book to book.
Core Parts
You will also need headers for your Feather boards, 22 AWG wire for soldering connections, a keycap, M2.5 screw set with standoffs, and a micro SD card
When complete, the enclosure measures 13.5cm x 10cm x 5cm. Please ensure your 3D printer can support these dimensions
Prep Your Feather RP2040
Follow the steps in this guide to download and install Circuitpython on your Feather RP2040.
Building The Simple Audio Book Reader
Refer to the Fritzing diagram as needed.
Pins D5, 6, and 9 are reserved for the NeoKey Featherwing.
- D5 is Key A
- D6 is Key B
- D9 is neopixel
Soldering
- Display - with EYESPI you likely won't need to do this
- Vin to 3.3V / Ground to ground
- SCK to SCK
- Miso to Miso
- Mosi to Mosi
- CS to D10
- RST to D11
- D/C to D12
- SDCS to D13
- Amp
- Vin to Bat / Ground to ground
- LRC to D25
- BCLK to D24
- DIN to A3
- Switch
- Center pin to ground
- Left or right pin to En
Coding The Simple Audio Book Reader
You can download a zip archive of the repository using the button below or you can clone it from my Github repository.
Image and Audio Files
Image files must:
- Be in 8-bit bmp format
- Be sized to 240x320
- I used Pixlr Photo Editor to resize my image
- I used an online BMP converter to convert the image to bitmap
Audio files must:
- Be in wav format
- Be mixed from stereo to mono
- Have a project rate of 16Hz
- Be saved in WAV (Microsoft) signed 16-bit PCM
- Be one file per chapter
- Both book and chapter should be proceeded by a number; i.e., 01-Book One
If you're buying your audio books from Amazon, you will need a tool like OpenAudible to convert the mp3 file to wav and to split the book into chapter files.
If you're buying your books from another source, i.e. Google Play Books, you'll need to use Audacity to split the file into chapters. Here's a great guide for that. Search for "How to Chapterize a Long Audiobook with the Open-Source Software Audacity". If your ebook is recorded in stereo, you can still split it into chapters then follow the Adafruit guide for converting, however, I chose to mix my ebooks from stereo to mono first then put in the chapters.
Each of the wave files created in OpenAudible, Audacity, or the tool of your choice, will need to be converted following the steps in this great Adafruit guide.
CAD and Fritzing Files
CAD files
The project assembly was designed in OpenSCAD and mocked up in FreeCAD. You can download the STL and FreeCAD files by following the links. Electronic components like Adafruit's boards, displays, connectors and more can be downloaded from the Adafruit CAD parts GitHub Repo.
For printing you will need these STL files:
- battery_pocket.stl
- enclosure_base.stl
- enclosure_top.stl
You will also find a STL file that shows all three parts in one view (enclosure.stl) and one that shows the entire enclosure with components (book_reader_layout.stl)
Note: 3D printing is in progress, adjustments to CAD models may occur
Wiring Diagram
You can download the Fritzing diagram below. Please note my TFT dispaly did not come with EYESPI. Your project will likely be able to forego that part of the soldering effort.
Printing Notes
All printing was done without supports
- PLA: White PLA
- Extruder: .4
- Extruder Temp: 220C
- Platform Temp: 50C
- Base Print Speed: 50 mm/s
Putting it together
- Install the headphone jack into the base
- Install the slide switch by carefully inserting it - the fit will be tight! - into the slot until it's in solidly
- I do have a gap on either side of the slide switch; you can modify this in the SCAD file or leave the extra venting like I did
- Install 1 cm standoffs to the rotary encoder
- Secure the rotary encoder to the base using nylon screws
- Install 1 cm standoffs to the battery pocket
- Place the battery in the battery pocket and snap the battery pocket into the pinholes in the base
- Attach the assembled Featherwing Doubler and the amp to the battery pocket with nylon screws
- Ensure the battery and rotary encoder are connected to the Feather RP2040
- Secure the TFT Display to the lid using two nylon screws and hex nuts
- Snap the enclosure top onto the enclosure base
- Place the keycap on the Kailh key
- To make connecting the audio book reader to power easier, I used a magnetic USB adapter, but you don't have to
Credits
Inspiration for this project comes from John Park's Walkmp3rson
Pins Library created by Tony Buser
Default image on book reader by FreePik