Case study
panelbeater: reconstructing ScanSnap iX1500 panel control
panelbeater lets a Linux host respond to the Scan button on a ScanSnap iX1500 over Wi-Fi or USB. Over Wi-Fi it registers the host with the scanner; over USB it scans without registration. Its protocol notes document discovery, registration, document transfer and USB behavior, while the client assembles scanned pages into PDFs and can add an OCR text layer when ocrmypdf is installed.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 8
- Last commit
- 2026-08-13
- 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: Python 3.9 or newer and a ScanSnap iX1500; Wi-Fi operation requires configuration on the scanner panel.
- Prerequisites: USB scanning requires pyusb, Pillow and numpy; PDF assembly and OCR use optional packages.
- Limits: Network scanning is fixed at 300 dpi colour; USB scanning and SANE cannot claim the scanner simultaneously.
- License: GPL-2.0-or-later license.
Cite
BibTeX
@misc{panelbeater-case,
title = {{panelbeater: reconstructing ScanSnap iX1500 panel control}},
howpublished = {\url{https://github.com/appositeit/panelbeater}},
url = {https://github.com/appositeit/panelbeater},
urldate = {2026-11-08},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/panelbeater-case/}}
}Plain text
panelbeater: reconstructing ScanSnap iX1500 panel control. https://github.com/appositeit/panelbeater (accessed 2026-11-08). Awesome REA entry: https://awesomerea.org/resources/panelbeater-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/PROTOCOL.md GitHub · appositeit/panelbeater · Revision a7b99e0
- README.md GitHub · appositeit/panelbeater · Revision a7b99e0
- LICENSE GitHub · appositeit/panelbeater · Revision a7b99e0
More in Protocols
- VT-Ragnaros: reconstructing Redragon SS552 USB control · Case study
- PixMob Wave2: reconstructing RF wristband commands for Flipper Zero · Case study
- Goodix 55a4: reconstructing a Linux fingerprint driver · Case study
- allmiibo-sync: reconstructing Pixl.js Bluetooth file synchronization · Case study
- EBO for Home Assistant: reconstructing Enabot cloud control · Case study
- iM.Master SDK: reconstructing the robot's BLE control protocol · Case study