Additional notes:

The player has 6 playback modes selected by inputs CON3, CON2, CON1.
The CON pins are floating and need to be driven to either GND or +3.3V through series resistors on start-up.
The mode is locked after start-up, power-cycle is needed to change mode.

IO7-IO0 have pull-up resistors to +3.3V and are active low.



Modes 0-5 (CON3, CON2, CON1)

Mode 0 (000): "I/O Integrated Mode 0"
  Binary combination of IO7-IO0, can trigger 255 tracks.
  Will play a track to the end.

Mode 1 (001): "I/O Integrated Mode 1"
  Binary combination of IO7-IO0, can trigger 255 tracks.
  Will play stop playing if all IO pins are high.

Mode 2 (010): "I/O Independent Mode 0"
  Can trigger 8 tracks, each triggered by pulling one of IO7-IO0 low.
  Will play a track to the end.

Mode 3 (011): "I/O Independent Mode 1"
  Can trigger 8 tracks, each triggered by pulling one of IO7-IO0 low.
  Will stop playing if all IO pins are high.

Mode 0-3 will repeat the selected track while the IO7-IO0 inputs are held low.


Mode 4 (100): "UART Mode / One-Line Mode"
  Serial mode. UART using IO1 and IO0. 1wire using IO4.

Mode 5 (101): "Standard MP3 Mode"
  The player will start playing from the first track and
  keep playing all tracks in memory, repeating all tracks until power is disconnected or a
  button is pressed.
  IO4: Repeat, IO3: EQ, IO2: Play/Pause/Mode, IO1: Prev/V-, IO0: Next/V+



The module should nominally be powered by 5V but seems to work well even under 2.5V
which makes it ideal to run from a single rechargeable lithium battery.
When communicating over USB it has to be powered from 5V by the USB cable
or it will not connect properly.
Disconnect any external loads or batteries on the 5V line to avoid problems when uploading MP3 files.

USB timing is derived from an internal R/C circuit which will prevent some computers from finding the device,
mostly Apple computers but also some other hardware with very strict USB timing specifications.
Latest update 2020-09-24