The Rio 500 is considered[by whom?] the first of the Second Generation MP3 digital audio player (portable digital audio player), and was produced by Diamond Multimedia. It shipped September 22, 1999. The Rio 500 was the successor of the Rio PMP300, and provided a number of user requested features (including USB and higher audio quality). There were many reviews of the Rio 500.  
The Rio 500 was the first MP3 player to allow file transfer via USB cable, and PC & Mac support. It features 64 MB of flash memory available for music, has light blue backlight, ability to set bookmarks, has an expansion card slot (SmartMedia card) and is powered by one AA battery. It is roughly the size of a standard pack of playing cards. Subsequent firmware updates made better use of the available screen space by displaying additional track information including bitrate.
The Rio 500 has a USB port that looks like the standard 5-pin mini-B type, however it is not compatible with modern USB mini-B cables. The USB1.1 spec was released in September 1998 and the 500 didn't go on sale until a year later, however the spec for mini-B cables and receptacles was not established until October 2000. Before then, some digital cameras had adopted the mini-B connector using a pinout with the data lines reversed (relative to spec) and the +5V line disconnected; the Rio 500 also had adopted the pre-out October 2000 pinout. USB cables that were included with these devices usually had an arrow shape imprinted on the mini connector rather than the USB "trident" logo. Any cable used for the Rio 500 must have the +5V line (red wire) cut or it may cause damage when connected with a power source. Replacement cables were available as Rio Part # 90260017-001.
Diamond no longer provides support for the Rio, and the last version of Microsoft Windows to work with Diamond's Rio software was Windows 98/2000. Consequently, owners wanting to keep their Rio working use independently produced freeware programs such as "Dreaming of Brazil" or "RIOsitude" to upload audio files to the player. Similarly, limited Linux command-line based support for the Rio is provided by the rioutils package.