Add readme.md

This commit is contained in:
geens 2025-07-10 11:19:28 +00:00
parent 5cce45c086
commit 0806767e99

77
readme.md Normal file
View File

@ -0,0 +1,77 @@
# XAir Nano
A compact hardware controller for Behringer XAir digital mixers, featuring an LED bar display and rotary encoder for real-time control of mixer parameters and guitar amp effects.
![image](https://git.nielsgeens.be/projects/xair_nano/raw/branch/master/image.jpg)
## Features
- **WiFi Connectivity** - Wireless OSC communication with XAir mixers
- **LED Bar Display** - 10-LED visual feedback for levels and meters
- **Rotary Encoder** - Navigate menus and adjust parameters
- **Guitar Effects Control** - Direct control of amp simulator parameters:
- Preamp, Buzz, Punch, Crunch, Drive, Level
- Low/High EQ controls
- Insert and Cabinet switching
- **Dual Display Modes** - Switch between level adjustment and meter viewing
- **Real-time Metering** - Visual level meters with color-coded zones (green/yellow/red)
## Hardware
The controller is built around a SAMD21 microcontroller and includes:
- 10 individually addressable RGB LEDs (WS2811)
- Rotary encoder with push button
- 8 analog potentiometers for effects parameters
- 2 digital switches (Insert/Cabinet)
- Compact enclosure with clear top panel
## Mixer Compatibility
Designed for Behringer XAir series mixers:
- Controls Channel 1 gain, fader, and master levels
- Integrates with FX slot 1 (amp simulator)
- Real-time meter feedback from pre/post fader signals
## User Interface
### LED Indicators
- **Connecting**: Blue spinner animation
- **Connected**: Color-coded status LED indicates current mode:
- Red: Gain control
- Green: Fader control
- Blue: Master control
- Cyan/Magenta/Yellow: Level adjustment modes
### Controls
- **Encoder Rotation**:
- In meter mode: Navigate between Gain/Fader/Master
- In level mode: Adjust selected parameter
- **Encoder Press**: Toggle between meter view and level adjustment
- **Knobs**: Continuously send amp effect parameters to mixer
## Configuration
Edit `network.h` to configure your setup:
```cpp
#define WIFI_SSID "your_network_name"
#define WIFI_PASS "your_password"
#define XAIR_IP "192.168.0.4" // Your mixer's IP address
```
## Building
This project uses FreeRTOS on SAMD21 and requires:
- Arduino IDE with SAMD21 board support
- FreeRTOS_SAMD21 library
- WiFi library for SAMD21
- OSC library for Arduino
- NeoPixelBus library
- Versatile_RotaryEncoder library
## Technical Details
- **Real-time OSC Communication** - Bidirectional parameter control and metering
- **Multi-tasking Architecture** - FreeRTOS tasks handle input reading, network communication, and LED updates
- **Smooth Parameter Updates** - Low-pass filtering on analog inputs for stable control
- **Connection Management** - Automatic WiFi reconnection with visual feedback