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.
Video after the break.
19 thoughts on “WAV Music Player Uses An ATtiny”
I love the use of enamel wire. Cheap and plentiful. Awesome hack.
I totally agree! Real, honest, unpretentious ART! btw I think that’s teflon coated, intended for wire wrap.
I want to see it done with an SMD Attiny2313 and soldered to the back of an SD card (or inside if possible). I like small things. This is very well done on the software side of things.
like small things? check this out:
And another small one(mine)
Actually (the link is at the end of its page), he reproduced an existing design:
FINALLY a way to listen to all my banging waves threw a serial terminal!
This is running on 3.3V right?
elm did this a long time ago: http://elm-chan.org/works/sd20p/report.html
Semi-related question: Does anyone know of a project or shield that is capable of playing 2 or more simultaneous WAV/PCM files based on multiple input triggers?
Yes – see this for full wav quality 8+ voice polyphonic: http://www.midibox.org/dokuwiki/doku.php?id=midibox_sd_card_sample_player
And here for pics and an audio demo: http://www.bassmaker.co.uk.webserver1.reidhosting.co.uk/sampleplayer.html
they mean 32 khz right.. not kbps
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.
What changes do we need to support mp3s? I guess attiny doesn’t have enough space for firmware. Does it have enough processor counts?
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.
Try the VS1005 all-in-one instead of the VS1002. The VS1002 has been deprecated.
You can buy Chinese MicroSD mp3 player for few $ and control it with ATTiny, I imagine…
Please be kind and respectful to help make the comments section excellent. (Comment Policy)