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