A simple OGG Player for the Arduino. It's based on the VS1000 Audio Module of VSLI Solution. The Board provide all pins for headphone and line out like the module.

One needs an SD Card, upload the ogg-files and because it's controlled over serial protocol it's super simple to control it with the Arduino.




The continuous playing mode understands the following single-byte commands:

  • f - switch to file play mode
  • c - switch to continuous play mode
  • C - cancel play, return to play loop, responds with c
  • + - volume up, responds with two-byte current volume level
  • - - volume down, responds with two-byte current volume level
  • = - pause on, responds with =
  • > - play (normal speed), responds with >
  • » (0xbb) - faster play, responds with the new play speed
  • n - next song, responds with n
  • p - previous song, responds with p
  • ? - info, returns play seconds (4 bytes, high byte first), and one-byte file left indicator (255 to 0).

In file play mode files are not played automatically. To change into file play mode, send f, then you can send C to cancel playback.
The file play mode commands are single-line commands ending with the newline character (0x0a).
The following commands are currently implemented:

  • OFF\n - powers down
  • c\n - switch to continuous play mode
  • L\n - list files
  • PFILENAMEOGG\n - play file by name, must be 8.3-character uppercase name without the ”.”
  • pnumber\n - play file by number

Continuous play mode commands are available during the playing of the song.

Example Code



  • VS100 Audio Module
  • reset button
  • LED
  • capacitor 100nF
  • resistors: 10kOhm, 4.7kOhm, 2kOhm
  • chinch and/or jack sockets
  • jumper
  • USB socket


The OGG-Player-Board was designed by Wolfgang Spahn 2012-14.
It is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Creative Commons License