WAV music player uses an ATtiny

We’re very accustomed to seeing small media player builds, but [txyz]’s ATtiny-powered audio player is one of the smallest and most feature-packed we’ve seen.

The audio player is powered by the very small and very inexpensive ATtiny2313. The music is stored on an SD card – a maximum of 2GB of WAV files recorded in mono at 32kBps at an 8-bit depth. On boot, the ATtiny loads the first audio file from the card and outputs it through a speaker connection.

To make things interesting, [txyz] made the audio player controllable via a serial connection. Once a small FTDI adapter is connected to the player, [txyz] can connect to it through a terminal and run through his playlist.

Even though the player is controllable through a serial port, there are a few pins left over that [txyz] could attach to buttons, if so desired. With a battery pack, this would turn his music player into the homebrew equivalent of an iPod shuffle. With the low component count, it might actually be cheaper than the shuffle, if [txyz]’s time is free, that is.

In an 8-bit WAV they are synonymous, as each data point in the waveform is represented by one byte, though it would be 32KBps as opposed to Kbps (bytes vs. bits). The wav player reads one byte every 1/32,000 second and sets either a DAC or PWM pin to that value.

Decoding mp3s is a lot more complex. You can either buy e dedicated decoder, such as VS1002 or get a better micro, such as ARM. Oh, and get the software already written, you don’t want to do it from scratch.