I previously wrote a post about the JQ6500 MP3 Player .
I wanted to build a standalone module that I could use in projects. Some of my projects just require the ability to play one or two short audio tracks (~1-2 minutes) and the JQ6500 seems ideal for that.
I decided that I needed just a few functions that I could control with buttons rather than via the UART (so standalone without requiring a controller).
The particular module that I'm using implements an interface that allows selection of 5 different tracks using individual pushbuttons.
The JQ6500 chip has 2 ADKEY pins that allow keypad control by using a voltage divider to represent specific commands. Only the first ADKEY pin is being used.
Resistors R9-R13 are pinned out on the module to allow track selection for the first 5 tracks. ADKEY is also available as a header pin, so you can implement the other functions shown above by adding the appropriate resistors (these other resistors are not in the PCB layout). Supposedly, you can control a total of 20 functions (I assume half would be on the other ADKEY pin - but I couldn't find the documentation for them). I guess you could figure it out by trial and error if you were so inclined.
Here's the module I put together:
I added the Volume +/- and Play buttons. I didn't have a 6.2Kohm resistor, so I used a 5.6K - you still get > 200 mV of separation on the divider and it seems to work fine.
The Volume buttons are double function (long press for volume up/down, short press for track increment/decrement).
I added a speaker and an 18650 battery.
Here's a short demo: