Elderly people or persons with various stages of dementia have difficulty operating modern MP3 players or various music players. There are special "radios" and "music players" available for dementia patients, but these are somewhat expensive and still have some confusing controls.
This MP3 player project can be mounted inside an old radio, so it looks like a radio the person recognizes. Two knobs ... that's it! Volume and Tuning (song selection). Turning either knob starts the player. Pressing a knob stops the player, or it automatically stops after two hours if no knobs are touched (as the person may fall asleep or walk away). The knobs have no end-stops. They spin either way continuous. There is no confusion on knob positions, as there are no positions.
This project is typically a "Headphones Only" player. To use external speakers, a small stereo amplifier and speakers would be required. I happened to buy a used radio on Ebay that already has a small speaker built-in, so it can be stereo headphones, or mono speaker. The DF Player has both stereo output and mono speaker output.
Other music players I've seen online:
There is another project similar to mine: https://dqmusicbox.com/. The major difference is that the DQmusicbox project uses a Raspberry PI. The outcome is similar though. You may want to compare the two projects and decide which one you would find easier to build. I prefer using the Arduino with a dedicated MP3 player because the Raspberry PI can have some boot-up issues. The Arduino is simple, that's why I like it so much.
A commercial player is available that has a built-in speaker. The volume is controlled by the caretaker (or experienced user), not the listener. I think it's important for the listener to adjust the volume as they wish. Simple Music Player
The parts required:
Scroll down for photos, schematics, and Arduino program file (to download). The program is actually very simple. I decided to solder wires to each device to make it more robust, but the Arduino has a Screw Shield, so that makes it easy to connect them to the Arduino.
The goal was to build my own as easily and inexpensively as possible. The heart of this project is the DFPlayer Mini. The important part of using the DFPlayer Mini is in the preparation of the MP3 files. Each directory needs to be named as a number. There can be hundreds of songs (or files). Anything MP3 ... songs, stories, recordings, etc. The DFPlayer documentation (link below) explains how to create the files for the micro SD card. Search Ebay for: DFPlayer Mini. Approx cost: $5.00 (USD)
DFPlayer Mini PDF Manual
MP3 Files on Micro SD Card
When compiling your MP3 files on the Micro SD Card, create directory names that are numbers. When you "rip" MP3 files into itunes or media player, they are often numbered as part of the filename. That number is important, and is required as part of the filename. If your MP3 filenames are not prefixed with a number, rename them as shown below by adding a number in front of the filename.
The DFPlayer indexes the songs by the numbered directories and the numbers that are part of the song filenames. I've found it easiest to put each separate album (music CD) into their own numbered directory.
The controller for this project is the basic Arduino UNO. Search Ebay for: Arduino UNO. Approx cost with a DC power supply (wall wart): $10.00 (USD).
The Screw Shield on the Arduino allows for easy wire termination. Search Ebay for: Arduino Proto Screw Shield V2 Expansion Board Compatible For Arduino-UNO R3 ... or a screw shield compatible with the Arduino you purchase. Arduino connections vary between models. Approx cost: $3.00 (USD).
The control knobs (encoders) are KY-040 rotary encoders with threaded nut shafts. Some of them on Ebay do not have threaded shafts. Threaded shafts will be important when mounting in a radio cabinet. Search Ebay for: KY-040. Approx cost for 2 of them: $6.00 (USD)
Optional Equalizer Adjust
There is an adjustment for equalizer, sound quality, to match the headphones being used. The jumper wire on the Arduino can be moved to other pin positions. The default is Equalizer = 5. That setting sounds the best for headphones described.
Sequential or Random Songs
There is a switch inside that the caretaker can select either sequential song select or random song select.
The Radio Cabinet
An old radio, even a broken radio, would be the perfect enclosure for this project. Gut the inside and build the project into the radio cabinet. This will require some artistic and construction skills. I found a used transistor radio on Ebay for about $30 including shipping. It had the perfect knobs and a nice size for the Arduino and guts. It took some construction skills to cut, bend, drill, and modify the old radio frame to accept the encoder dials. Every radio cabinet will be different.
The headphones ... an important part. I bought a new pair of Sony MDR-V150 headphones on Ebay. I wanted a good quality old style that is NOT bluetooth. Earbuds do not sound good with the DFPlayer Mini. Approx cost: $30.00 (USD).
Total cost for the whole project: Around $100.00 (USD).
The radio I purchased has a slide switch on the front. I'm using this switch to turn on or off the internal speaker. The stereo headphones are always active. The headphone jack is on the side.
The radio dial indicator no longer exists because the guts were removed. It still looks like a radio and the Alzheimer patient will recognize it as a radio. The tuning knob selects the songs. They will be familiar with the operation, even without the working dial.
Schematic
This is the schematic without showing the Arduino Screw Shield. The shield makes it easy to connect wires to the Arduino. Wiring on the devices is soldered to device pins using colored stranded hook-up wire.