Cross-platform viewer for the HND-NE3-D ear camera (Beken BK7252N). It connects to a factory-sealed unit's Wi-Fi AP and shows the live video stream plus gyro orientation — no vendor (Chinese, Android-only) companion app required.
One Flutter codebase targeting Android, iOS, macOS, Windows, and Linux.
Website: https://txt.fuho.org/hnd-viewer/ · Source & releases: https://github.com/fuho/hnd-viewer
The HND-NE3-D is a white-label ear camera (also sold as the NATFIRE NE3 and other names) that ships with an Android-only, Chinese-language vendor app and no public protocol documentation. The camera exposes no HTTP interface — it speaks raw UDP only — so browsers can't reach it, leaving you locked into the vendor app, its cloud, and its telemetry.
hnd-viewer is a free, open, fully-offline viewer that talks to the camera directly — no vendor app, no account, no cloud, no tracking — on Android, iOS, macOS, Windows, and Linux.
- Discover / connect to the camera AP (gateway
192.168.1.1) - Live 480×480 video with rotation, horizontal/vertical mirror, brightness, and smoothing
- Gyro roll overlay with an auto-rotate toggle
- Live sensor chart (accelerometer x/y/z + roll) with a raw readout
- Snapshot to ~/Downloads (desktop) or the gallery (mobile)
- MP4 recording (Record/Stop) saved to ~/Downloads
Live camera view with the gyro roll overlay:
The viewer window and controls:
Screen recording of hnd-viewer streaming from the camera:
The camera runs no HTTP server — everything is raw UDP on fixed ports.
Browsers cannot open UDP sockets, which is why this is a native app, not a
web page. Full wire spec: docs/PROTOCOL.md. The
protocol was reverse-engineered and re-implemented from scratch for this
project; it carries no vendor code.
v1.0.0 released — streaming, snapshot, recording, and the sensor chart are working on macOS, with builds for Android, Windows, and Linux. iOS pending signing.
- Standalone repo + 5-platform scaffold (Android/iOS/macOS/Windows/Linux)
- Pure-Dart protocol core (discovery + video reassembly + gyro/roll), unit-tested — 27 tests
- Live-view UI (video + gyro roll + rotation/mirror/brightness/smoothing)
- Auto-rotate toggle + live sensor chart (x/y/z + roll)
- Snapshot to ~/Downloads (desktop) / gallery (mobile)
- MP4 recording to ~/Downloads (Record/Stop)
- Automated GitHub Actions releases (Android/Windows/macOS/Linux)
- iOS build + macOS code signing/notarization
The macOS build is unsigned and not notarized, so Gatekeeper blocks it on first launch. To run it:
- Download and unzip
hnd-viewer-v0.1.0-macos.app.zip. - Right-click
hnd_viewer.app→ Open → Open (once).
Or via Terminal:
xattr -cr /path/to/hnd_viewer.app
open /path/to/hnd_viewer.appOn first run macOS may also ask to allow local network access (to reach the camera) and Downloads (to save snapshots) — accept both.
Requires the Flutter SDK (stable channel).
flutter pub get
flutter test # protocol unit tests (no device needed)
flutter run # live view on a connected device
flutter build apk --debug # Android debug APKAndroid builds need a JDK 17 and an Android SDK containing the android-36
platform, an NDK, and build-tools. android/debug.keystore is committed (the
standard public androiddebugkey credential, not a secret) so debug signing
is hermetic. macOS/iOS builds require a full Xcode install.


