dji-mic-mo
Master your DJI Mic Mini/Mini 2 via Web or CLI. β¨
π Quick Start: Web App
No installation required. Manage your device instantly via WebUSB!
π Launch dji-mic-mo Web App
- π USB Setup: Using Linux or Windows? Make sure to check the USB Setup section first!
- π Security Note (WebUSB): Everything runs 100% locally. WebUSB is browser-sandboxed and requires your explicit permission to connect.
- π Local Hosting: Prefer running it yourself?
python3 -m http.server 8000Then open
http://localhost:8000/dji-mic-mo.htmlin your browser.
β‘ Ultimate Features
Unlock the absolute full potential of your DJI Mic Mini/Mini 2 with real-time controls.
π§ RX
- Audio Channel: Choose Mono, Stereo, or Safety Track.
- Gain: Adjust Gain (-12dB to +12dB, 6dB steps) and Monitoring Gain (1dB steps).
- Config: Toggle Clipping Control, Auto Off, Receiver On/Off With Camera, and Plug-Free External Speaker.
π€ TX
- Audio Processing: Apply Voice Tone (Regular, Rich, Bright) and activate Low Cut.
- Noise Cancellation: Choose Off, Basic, or Strong, or control via button.
- Config: Toggle Auto Off and Mic LED Off.
π Live Telemetry
- Monitoring: Track battery levels(1:Full, 7:Empty), charging status, and device info in real-time.
π» Compatibility
- Devices:
- RX: DJI Mic Mini, DJI Mic Series Mobile Receiver
- TX: DJI Mic Mini, DJI Mic Mini 2
- Firmware: V02
- Browsers: Chrome, Edge, Opera (or Chromium-based) (Note: iOS / Safari / Firefox are not supported due to lack of WebUSB support.)
- OS: Linux, ChromeOS, macOS, Android, Windows (See USB Setup below)
π USB Setup (Linux & Windows)
Some operating systems require additional setup to grant USB access.
π§ Linux
Requires udev rules for user-space USB access. Apply the included rules:
sudo cp 99-dji-mic.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
πͺ Windows (β οΈ Not Recommended)
Windows requires a generic driver (e.g., WinUSB) for direct device communication.
- π CRITICAL WARNING: Using tools like Zadig to replace drivers will break the deviceβs standard audio functionality.
- π‘ Alternative (WSL2): Securely pass the USB device to Linux via usbipd-win to preserve your host Windows drivers.
π Python CLI
For terminal users: Feed JSON config to stdin, get live state from stdout.
Requirements
- Python 3.8+
- pyusb (and a
libusbbackend)
Installation
# Ubuntu / Debian
sudo apt install python3-usb
# Fedora / RHEL
sudo dnf install python3-pyusb
# macOS (Homebrew)
brew install libusb
python3 -m venv venv
source venv/bin/activate
pip install pyusb
(Note: Linux package managers generally include libusb. On Windows, the WinUSB driver acts as the backend.)
Usage
- Monitor Live State
Stream real-time status straight to your stdout:
python3 dji-mic-mo.py - Apply Config
Pipe JSON config. (Allow ~3 seconds for the program to initialize before sending commands.)
(sleep 3; echo '{"rx":{"stereo":true}}') | python3 dji-mic-mo.py
π License
Licensed under the 2-Clause BSD License. See LICENSE.md for details.