Audio Arduino – an ALSA (Advanced Linux Sound Architecture) Audio Driver for FTDI-based Arduinos

Dimitrov, Smilen and Serafin, Stefania

Proceedings of the International Conference on New Interfaces for Musical Expression

A contemporary PC user, typically expects a sound cardto be a piece of hardware, that: can be manipulated by’audio’ software (most typically exemplified by ’media players’); and allows interfacing of the PC to audio reproduction and/or recording equipment. As such, a ’sound card’can be considered to be a system, that encompasses designdecisions on both hardware and software levels – that also demand a certain understanding of the architecture of thetarget PC operating system.This project outlines how an Arduino Duemillanoveboard (containing a USB interface chip, manufactured byFuture Technology Devices International Ltd [FTDI]company) can be demonstrated to behave as a full-duplex,mono, 8-bit 44.1 kHz soundcard, through an implementation of: a PC audio driver for ALSA (Advanced LinuxSound Architecture); a matching program for theArduino’sATmega microcontroller – and nothing more than headphones (and a couple of capacitors). The main contributionof this paper is to bring a holistic aspect to the discussionon the topic of implementation of soundcards – also by referring to open-source driver, microcontroller code and testmethods; and outline a complete implementation of an open – yet functional – soundcard system.