Skip to content

Flexible driver library for audio boards and codec chips e.g AC101 ES8388 ES8311 CS43l22 ES7243 etc

License

Notifications You must be signed in to change notification settings

pschatzmann/arduino-audio-driver

Repository files navigation

Arduino Audio Driver

I was never quite happy with my AudioKit project, that was a quick and dirty adaptation of the Espressif IDF Drivers for Arduino.

In this project I finally implemented some clean and simple C classes. This reduced the complexity considerably and increased the flexibility tremendously!

The goal of this project is to provide an easy API to configure different audio codec chips. After setting up the codec, you can use the I2S functionality provided by your microcontroller.

Supported audio codec chips are e.g

  • AC101
  • ES8388
  • ES8311
  • CS43l22
  • ES7243
  • etc

While you can use this library stand alone, I recommend to use it together with my AudioTools project which provides a nice integration with it's I2SCodecStream class. Further information can be found in the Wiki.

Logging

The functionality has a built in logger. The default log level has been set to Warning. You can change it like this:

  AudioDriverLogger.begin(Serial,AudioDriverLogLevel::Info); 

Valid values are: Debug, Info, Warning, Error

Documentation

Support

I spent a lot of time to provide a comprehensive and complete documentation. So please read the documentation first and check the issues and discussions before posting any new ones on Github.

Open issues only for bugs and if it is not a bug, use a discussion: Provide enough information about

  • the selected scenario/sketch
  • what exactly you are trying to do
  • your hardware
  • your software versions
  • what exactly your problem is

to enable others to understand and reproduce your issue.

Finally, don't send me any e-mails or post questions on my personal website!

Installation in Arduino

You can download the library as zip and call include Library -> zip library. Or you can git clone this project into the Arduino libraries folder e.g. with

cd  ~/Documents/Arduino/libraries
git clone https://github.com/pschatzmann/arduino-audio-driver.git

I recommend to use git because you can easily update to the latest version just by executing the git pull command in the project folder.

Sponsor Me

This software is totally free, but you can make me happy by rewarding me with a treat