Nau88c22-driver: Professional Audio CODEC Solution
Hello! If you're developing audio-based embedded systems, meet a solution that will take your project to the next level: the Nau88c22-driver.
This project provides a simple, modular, and reliable C-based driver framework for high-quality audio CODEC integration.
๐ง Project Purpose & Benefits
The project includes a driver software that provides direct access to the NAU88C22 audio CODEC. This allows you to easily manage audio streams—stereo, speaker, or headphone output—in microcontroller-based systems.
The driver design is kept simple: register-based control over the basic I²C interface; if necessary, it can be extended with higher-level I²S configuration and code additions. This makes it a suitable solution even for embedded and resource-constrained devices.
GitHub
Shared with an open source approach; It can be freely used as a reference or modified—providing flexibility for both industrial and hobby/research projects.
๐ฆ Who is it Suitable For?
Engineers working with ARM or lightweight embedded platforms,
Developers of embedded devices requiring audio output/recording,
Hobby projects seeking stereo audio CODEC support,
Developers seeking an open-source and modular infrastructure.
Lightweight, Modular and Embedded System-Oriented Driver for NAU88C22 Audio CODEC
This project is an open-source driver package for the NAU88C22 stereo audio CODEC.
The goal is to simplify the use of the NAU88C22 in microcontroller-based projects, provide a clean API, and simplify low-level register management.
This driver is compatible with ARM-based MCUs (STM32, RP2040, ESP32-S3, etc.) and provides a functional basis such as CODEC register control over I²C , working with the I²S/SAI audio interface , and headphone/speaker output management .
✨ Features
-
✔ Simple API for NAU88C22 register map
-
✔ Full control over I²C (read/write)
-
✔ Speaker, headphone, DAC, ADC configuration functions
-
✔ Compatible with I2S/SAI audio interface
-
✔ Lightweight, minimal design
-
✔ Modular and expandable
๐ Project Structure
๐ Start / Integration
1️⃣ Include Files in Your Project
nau88c22.c and nau88c22.h add the files to the project directory.
2️⃣ Implement I²C Functions
The driver expects the following two functions to be provided by the platform:
STM32 HAL sample application:
⚡ Basic Use Case
⚙️ Important Functions
๐งฉ Hardware Connections
| NAU88C22 | MCU |
|---|---|
| SDA | I²C SDA |
| SCL | I²C SCL |
| BCLK | I2S Bit Clock |
| LRCK | I2S Word Select |
| FROM | I2S Data Out |
| DOUBT | I2S Data In |
| VDD | 3.3V |
๐ Compatibility Tested Platforms
-
STM32F4 Series
-
STM32H7 Series
-
RP2040
-
ESP32-S3
-
(List may be expanded)
๐ License
This project is released under the MIT License.
You can use it as you wish, modify it, and integrate it into your projects.
๐ค Contribution
Pull requests, improvement suggestions, and bug reports are welcome.
Comments
Post a Comment