The ATmega32 WAV player

A Maker by the name of Vinod Stanur has created a WAV audio player powered by Atmel’s ATmega32 microcontroller (MCU). 

As the folks at Hack A Day explain, Stanur originally started development using a PIC microcontroller, although the component ultimately lacked sufficient SRAM to effectively act as a playback buffer.

“When he got his hands on an ATmega32 his mind turned back to the project and he saw it through to the end,” explained Hack A Day’s Mike Szczys. “He takes advantage of what he learned on several earlier builds. He’s using a TV remote as input, just like his Snake game did.”

In the most recent iteration of the project, storage is provided by an MMC card. In place of a FAT  (File Allocation Table) library, Stanur uses his own code to read the linked-list for sector addresses. The WAV header is subsequently parsed and the file processed accordingly.

“Playback uses two 512 byte buffers,” added Szczy. “One is feeding the output while the other is being populated from the memory card. When the output buffer is exhausted the two are swapped and the process continues.”

According to Stanur, the ATmega32 WAV player is capable of outputting both mono and stereo of maximum bitrate of 160KHz and 96KHz, respectively. Additional information about Stanur’s ATmega32 WAV player can be found here.

2 thoughts on “The ATmega32 WAV player

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s