- Python 85.3%
- TypeScript 7.3%
- Shell 3.5%
- Svelte 3%
- JavaScript 0.4%
- Other 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .agents/skills | ||
| .woodpecker | ||
| backend | ||
| developer | ||
| frontend | ||
| os/debos | ||
| tools | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md | ||
ScanOS-NG
Give a Fujitsu N7100 network scanner a new lease of life.
ScanOS-NG is a free, open-source replacement operating system for the Fujitsu N7100 document scanner. It turns the unit into a self-contained scanning station: load paper, press the button, review the pages on the built-in touch screen, and send the finished PDF wherever it needs to go — a network share, an FTP server, an e-mail recipient, or a Paperless-ngx document archive.
No PC required. No accounts. No cloud.
The idea
The N7100 is sturdy, fast hardware with a beautiful 8.4-inch touch panel — but its original software is aging, locked down, and ties you into a specific workflow. ScanOS-NG replaces all of it with a small, modern, appliance-grade system that you own end to end:
- One button, one gesture. Press the hardware scan button, and your pages appear on screen as they are scanned. Tap Submit, pick a destination, done.
- Your documents stay yours. Everything is processed on the scanner itself and sent only to destinations you configure.
- Nothing lingers. After a successful submission the scanned document is deleted — securely and irreversibly. There is no job history to leak, to fill up the disk, or to subpoena.
- Built like an appliance. A read-only system disk, crash-proof by construction, and forgiving of dirty power — the guarantees are spelled out below.
What's inside the N7100
The scanner carries a complete, if modest, industrial PC on its mainboard — ScanOS-NG runs on that, with no external computer involved:
| Part | Details |
|---|---|
| Compute | Dual-core Intel Atom (x86-64), legacy-BIOS firmware |
| Scan engine | Duplex ADF unit, 600 dpi optical, 25 ppm / 50 ipm, 50-sheet feeder, ultrasonic double-feed detection — wired to the mainboard over internal USB |
| Display | 8.4-inch 1024×768 resistive touch panel (single-touch) |
| Networking | Gigabit Ethernet, plus a USB port that takes a Wi-Fi dongle |
| Storage | Internal SATA drive bay |
| Memory | 2 GiB as shipped from the factory |
| Clock | Battery-backed real-time clock (timestamps stay sane across power-offs) |
Ordinary PC hardware is the point: it runs a standard Debian-based system, which is what lets the N7100 get a second life instead of a trip to the scrap heap.
What a scan looks like
- Place your pages in the feeder.
- Press the scan button (or tap Scan).
- Pages stream onto the screen while the scanner runs. ScanOS-NG cleans them up automatically: contrast, skew, orientation, bleed-through, blank pages.
- Review the result. Rotate, reorder, delete, or restore individual pages; undo is one tap away.
- Tap Submit and choose a destination — the last one you used is already preselected.
- On success the document is delivered and the scanner empties itself, ready for the next stack.
Documents come out as PDFs with an invisible OCR text layer (PDF/A), so they are searchable and copy-pasteable in any PDF reader. Three presets tailor the pipeline: Text for documents, Photo for images, Mixed for anything in between — with fine-grained knobs behind an "advanced" section if you want them.
Where documents go
| Destination | What you get |
|---|---|
| Paperless-ngx | The flagship: upload, then automatically tag title, correspondent, document type, tags, storage path — filed exactly where it belongs in your archive. |
| SMB share | Drops the PDF onto a Windows/Samba network share. |
| FTP / FTPS | Uploads to any FTP server, with optional TLS. |
| Sends the PDF as an attachment via your SMTP relay (encrypted submission only). |
Configure as many destinations of each kind as you like, give them friendly names, and test each one with a built-in Test connection button. File names follow a customizable template with dates, counters, titles, and more.
Peace of mind, by design
- Zero telemetry. The update checker is off unless you point it at a URL you control.
- Signed updates only. System updates are cryptographic bundles signed with an offline key; they can neither be forged nor installed silently — you confirm every install.
- Survives power loss. Cut the power at any moment; the next boot picks up cleanly. (Turning the scanner off properly, with a document open, asks for confirmation first — because that discards the open document on purpose.)
- Abandoned scans are never thrown away. A job left sitting for 72 hours raises a visible warning, but the system refuses to delete it automatically.
- Admin behind a PIN. Settings, destinations, and network configuration are PIN-protected; the scanning workflow itself stays login-free.
- Remote control is opt-in. Disabled by default. When enabled, the full touch interface is served over HTTPS (with a self-signed certificate whose fingerprint is shown on-screen as a QR code for verification) and every remote session requires the admin PIN.
- Backups without leaking secrets. Export your settings and destinations as a JSON file. Stored credentials are excluded by default; if you opt in, they travel encrypted under a passphrase of your choosing.
What you need
- A Fujitsu N7100 (the scanner runs ScanOS-NG itself — nothing else is attached).
- A RAM upgrade to 4 GiB (the factory-fit 2 GiB is not supported).
- A SATA SSD of 32 GiB or larger replacing the internal drive.
- A wired network (recommended), or a supported USB Wi-Fi dongle.
Installing
ScanOS-NG is flashed onto the scanner's internal SSD from any computer:
- Download the release image and its
SHA256SUMS; verify the checksum. - Remove the scanner's internal SSD and connect it via a USB–SATA adapter.
- Write the image (
bmaptoolordd), reinstall the drive, power on. - The scanner boots into a short first-run wizard: language, admin PIN, network, destinations — and you are ready to scan.
Project status: ScanOS-NG is young. The architecture is complete and thoroughly reviewed, but hardware validation and the first public images are still underway (see the roadmap below). Until the first release lands, there is nothing here to brick your scanner with — but also nothing to install yet. Watch the repository's releases.
Roadmap
| Phase | Focus |
|---|---|
| M0 | Prove the scanner hardware: engine, touch panel, updates, watchdog |
| M1 | Walking skeleton: scan → review → submit, end to end |
| M2 | All four destinations, network administration, onboarding |
| M3 | Hardening: signed updates, backups, remote control, localization |
| M4 | Beta: soak testing, diagnostics, 1.0 release |
Learning more
developer/architecture.md— the complete, normative system specification (the single source of truth).developer/assumptions.md— every design decision, documented and individually reviewed.
The interface speaks English and German at launch; additional OCR languages install as small downloadable packs.
Developing
The repository is a monorepo: os/ (Debian image recipes), backend/ (the
Python service that runs on the scanner), frontend/ (the touch interface),
developer/ (documentation). Contributions follow the workflow in
AGENTS.md; backend changes must pass ruff, strict mypy,
and the test suite, frontend changes the SvelteKit checks.
License
ScanOS-NG is licensed under Apache-2.0. It builds on Debian, SANE, Tesseract, OpenCV, ocrmypdf, SvelteKit, Chromium, and sway — thank you to all of them.