# 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