I'm an electronics student, advanced in some matters, beginner in others. I'm researching about building a board for digital audio processing. The idea is to get it work on the cheapest way. For that i'm thinking to take advantage of old motherboards and pci sound boards and reuse their audio codecs. The first board that came to me had an AC97 chip. So i started to search on web if there are any library written for Arduino. Reading and reading on various posts and webs I found a lot of info but I have many questions yet.

The question is that, can an Arduino manage the serial AC-Link of the codec? I get that is a 256 bit communication at 12Mhz.

Another question is, can I reuse an AC97 library for a linux kernel (for example) to work in Arduino? I'm a software developer so i'm disposed to hack it to get it work with Arduino, but, what kind of work should be done for that? (it only redefines the pins? are there instruction incompatibilities by the cpu architecture?)

I'm lost in some issues. I'll appreciate if somebody can guide me a little. If you encounter some confusion in my idea, tell me and i'll try to speak better.

  • \$\begingroup\$ Down voted for failing to read the Wikipedia article on ac'97 and trying to match that to any hardware that the arduino or an stm32 has. \$\endgroup\$ Commented Dec 12, 2017 at 21:26
  • \$\begingroup\$ Sorry but, why is this bad? \$\endgroup\$
    – pandora
    Commented Dec 12, 2017 at 23:16

1 Answer 1


To talk to an AC'97 IC, you'll need a DC'97 ("digital controller " which is just another word for "controller which speaks the AC-link protocol").

Hardware-wise, you'll only find that in older motherboard chipsets - the synchronous 5 wire 12.288MHz link with clock and sync lines is really awkward to work with.

In short: AC'97 is pretty much the last thing you want if you want cheap and easy, unless you are willing to buy a couple tens of thousands of south bridges, and are stuck somewhere between 1998 and 2004.

For a microcontroller- attached audio codec, choose I2S as very simple protocol which is hardware-integrated even in cheap microcontrollers, and can be used for mono or stereo, or even quad channel with an addition of another control line. I2S audio DACs and ADCs are available from many sources and cheap.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.