https://github.com/iodn/android-usb-device-info
Android APP to inspect USB devices with full descriptor and HID details
https://github.com/iodn/android-usb-device-info
android apk fdroid input-devices usb-debugging usb-descriptors usb-hid
Last synced: 5 months ago
JSON representation
Android APP to inspect USB devices with full descriptor and HID details
- Host: GitHub
- URL: https://github.com/iodn/android-usb-device-info
- Owner: iodn
- Created: 2026-01-10T23:08:20.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2026-01-12T03:57:59.000Z (5 months ago)
- Last Synced: 2026-01-12T06:57:29.317Z (5 months ago)
- Topics: android, apk, fdroid, input-devices, usb-debugging, usb-descriptors, usb-hid
- Language: Dart
- Homepage:
- Size: 1.86 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# USBDevInfo - USB Device Inspector for Android
**USBDevInfo** is an Android application for discovering, inspecting, and analyzing USB devices connected to your phone or tablet.
It exposes the same low-level USB information that Android sees, but presents it in a clear, structured, and human-readable way.
The app is designed for developers, reverse-engineers, hardware hackers, and power users who need to understand exactly what a USB device reports: vendor IDs, configurations, interfaces, endpoints, HID descriptors, power requirements, and more.
USBDevInfo works fully offline, stores all data locally, and never transmits device information to any server.
## Overview
- Live discovery of USB devices connected via OTG, hubs, or accessories
- Full USB descriptor inspection (device, configuration, interface, endpoint)
- HID and input device analysis (keyboards, mice, gamepads, etc.)
- Built-in offline USB ID database for vendor and product name resolution
- Per-device permission model that matches Android’s USB security system
- Persistent device history for fast comparison and debugging
## Features
### USB device inspection
- Detect all connected USB devices in real time
- Display Vendor ID (VID) and Product ID (PID)
- Resolve vendor and product names from the built-in `usb.ids` database
- Show device class, subclass, and protocol
### Detailed descriptor view
- USB specification version and negotiated speed
- Configurations, interfaces, and endpoint layouts
- Maximum power draw and power attributes
- Raw device descriptor fields when permission is granted
### HID & input devices
- Detect keyboards, mice, joysticks, and other HID devices
- Show Android input sources (keyboard, mouse, joystick, touch, etc.)
- Display motion axes and ranges for advanced controllers
- Parse HID report descriptors and provide a readable summary
### Advanced device data (with permission)
- String descriptors (manufacturer, product, serial, interface strings)
- Raw descriptor tree parsed into structured fields
- Device state queries:
- GET_STATUS
- GET_CONFIGURATION
- GET_INTERFACE (where supported)
### Device history
- Automatically records every inspected device
- Reopen previous devices even after disconnect
- Search by name, VID:PID, serial, or device path
- Remove or restore history entries
### Permission-aware design
- Clearly indicates when Android USB permission is required
- Explains why some fields are unavailable without permission
- Permissions are requested per device, not globally
### Offline USB ID database
- Ships with a built-in USB vendor/product database
- No dependency on online services at runtime
- Optional manual database update from Settings
## Privacy
USBDevInfo is designed for sensitive environments.
- No analytics
- No telemetry
- No network access for device data
- All history is stored locally on your device
- USB descriptors are never uploaded or shared
## Typical use cases
- Identify unknown USB devices
- Debug OTG cables, hubs, and adapters
- Verify VID/PID and interface layouts
- Inspect HID devices and controllers
- Reverse-engineer USB accessories
- Validate that a device is enumerating correctly
## Requirements
- Android device with USB host (OTG) support
- USB permission is required **per device** to access:
- Manufacturer and product strings
- Serial numbers
- Raw USB descriptors
- HID report descriptors
## Installation
1. Download from Google Play:
[
](https://play.google.com/store/apps/details?id=org.kaijinlab.usbdevinfo)
Or download the latest APK from the Releases section.
2. Install the application:
- Enable installation from unknown sources if needed.
- Follow the on-screen instructions.
3. Launch and connect a USB device:
- Plug in a USB device via OTG or hub.
- Grant permission when prompted.
- Tap the device to inspect its details.
## Usage
1. Connect a USB device.
2. Open USBDevInfo.
3. Select the device from the list.
4. Grant permission if requested.
5. Explore:
- Descriptors
- Interfaces
- Endpoints
- HID and input data
- Power and configuration details
Previously connected devices remain available in the History view.
##ScreeShots

## Contributing
Contributions are welcome.
If you:
- Find a bug
- Have a feature request
- Want to improve UI, parsing, or USB coverage
Open an issue or submit a pull request.
## License
This project is licensed under the **GNU General Public License v3.0 (GPL-3.0)**.
## Credits
- USB vendor and product data sourced from the public `usb.ids` database