Case study
OpticFilm 135i: reconstructing native USB scanning on Linux
OpticFilm 135i reconstructs USB control of the Plustek OpticFilm 135i film scanner for Linux. Its Python driver handles calibration, film movement and 16-bit image capture at five resolutions, while a separate SANE backend exposes scanning to standard frontends; research notes record protocol and calibration findings.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 3
- Last commit
- 2026-11-09
- Language
- Python
- License (GitHub)
- GPL-2.0
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Requires a Plustek OpticFilm 135i scanner and Linux; the Python CLI requires Python 3.10 or later, pyusb and numpy.
- Testing evidence: The author reports CLI testing on one development unit and scans on two other units, with cross-unit compatibility still under study.
- Scope: The SANE backend is installed from this repository's build while its upstream submission is under review.
- License: Driver code is licensed GPL-2.0-or-later or MIT; documentation is CC BY 4.0.
Cite
BibTeX
@misc{opticfilm-135i-linux-case,
title = {{OpticFilm 135i: reconstructing native USB scanning on Linux}},
howpublished = {\url{https://github.com/cgillinger/opticfilm135i-linux}},
url = {https://github.com/cgillinger/opticfilm135i-linux},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/opticfilm-135i-linux-case/}}
}Plain text
OpticFilm 135i: reconstructing native USB scanning on Linux. https://github.com/cgillinger/opticfilm135i-linux (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/opticfilm-135i-linux-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · cgillinger/opticfilm135i-linux · Revision b345152
- docs/cal-analysis.md GitHub · cgillinger/opticfilm135i-linux · Revision b345152
More in Protocols
- Martian Notifier: reconstructing smartwatch Bluetooth commands · Case study
- E88 / E99 Drone: reconstructing Wi-Fi flight control and video access · Case study
- Samsung Washer Monitor: reconstructing a washer panel UART feed · Case study
- Fluval Connect light: reconstructing local Bluetooth control for aquarium lights · Case study
- Citroën Connected Camera: reconstructing the ConnectedCAM local API · Case study
- Canon GM2080: reconstructing IVEC/PWG printing for macOS · Case study