Star on GitHubStar1.1k stars

Case study

NJFE: a Soulear camera protocol bridge for desktop inspection

Reuses otoscope's reverse-engineered i4season/Soulear protocol in an ESP32-C3 bridge and Python desktop viewer. The author credits Claude Code for implementation and reports streaming one Hopefox Find T to a Windows PC, with recording, orientation and LED controls.

Targets
Protocol
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: Builds with PlatformIO espressif32 6.11.0, Arduino core 2.0.17 and U8g2 ^2.35.30; the desktop tools need Python with Tkinter, pyserial >=3.5, opencv-python >=4.8, NumPy >=1.24 and Pillow >=12.3.0. Only Windows testing is reported.
  • Scope: Input is the camera’s Wi-Fi i4season/Soulear UDP traffic. An ESP32-C3 SuperMini with a 0.42-inch, 72×40 SSD1306 OLED reassembles JPEG frames and sends them with accelerometer data over custom USB CDC serial to the viewer. It is not a UVC webcam, the camera’s USB port is charge-only, and no vendor firmware or full app source is recovered.
  • Attribution: Packet format, commands, frame assembly and rotation logic are credited to rbeilvert/otoscope, which reverse engineered Soulear’s libWifiCamera.so; NJFE does not pin the borrowed revision.
  • Testing evidence: Results come from a single HKV41B-firmware Hopefox Find T (480×480 JPEG at about 17 fps). The --test N mode needs the hardware and there is no offline conformance suite.
  • Limits: The camera network is open: the bridge accepts unauthenticated UDP that can inject images or replies, serial access is trusted and recordings are unencrypted. It is an inspection tool, not a medical device.
  • License: GPL-3.0-or-later, with protocol code and roll calculation derived from GPL otoscope; third-party libraries keep their licenses, and no rights to vendor software or images are granted.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Discussed in the survey

Primary sources

  1. README.md GitHub · WildweaselMS/NJFE · Revision 992866c
  2. NOTICE GitHub · WildweaselMS/NJFE · Revision 992866c
  3. REUSE.toml GitHub · WildweaselMS/NJFE · Revision 992866c
  4. LICENSE GitHub · WildweaselMS/NJFE · Revision 992866c
  5. SECURITY.md GitHub · WildweaselMS/NJFE · Revision 992866c
  6. wifi_scanner/platformio.ini GitHub · WildweaselMS/NJFE · Revision 992866c
  7. wifi_scanner/tools/requirements.txt GitHub · WildweaselMS/NJFE · Revision 992866c
  8. wifi_scanner/src_i4season/main.cpp GitHub · WildweaselMS/NJFE · Revision 992866c
  9. wifi_scanner/tools/viewer.py GitHub · WildweaselMS/NJFE · Revision 992866c
  10. wifi_scanner/tools/gui.py GitHub · WildweaselMS/NJFE · Revision 992866c
  11. README.md GitHub · rbeilvert/otoscope · Revision d14ac8e
  12. app/src/main/kotlin/dev/rubec/otoscope/stream/i4season/I4seasonProtocol.kt GitHub · rbeilvert/otoscope · Revision d14ac8e
  13. app/src/main/kotlin/dev/rubec/otoscope/stream/i4season/FrameAssembler.kt GitHub · rbeilvert/otoscope · Revision d14ac8e

More in Protocols

All 140 entries in ProtocolsProtocols case studies (91)

↑↓ move↵ open⌘↵ new tab