Main changes in this page
ALT-Scann8 is an enhanced user interface and controller for the T-Scann 8 Super 8/Regular 8 film scanner by Torulf Holmström, designed for Raspberry Pi OS.
Join our Discord server to chat about ALT-Scann8 and get help!
Check the ALT-Scann8 Wiki for details:
This UI is a fork of Torulf Holmström’s “T-Scann8-UserInterface v2.1” (CC BY-NC 4.0). ALT-Scann8 is licensed under the MIT License by Juan Remirez de Esparza.
Originally adapted to support the PiCamera2 library for Bullseye 64-bit Raspberry Pi OS, we’ve expanded it with refactoring and new features.
- PiCamera2 Integration: Full support for Bullseye 64-bit Raspberry Pi OS with modern camera controls.
- Tkinter UI: Lightweight, responsive interface replacing Pygame, with streamlined widget layout.
- Post-View Mode: Fast, custom preview for real-time film alignment, outpacing PiCamera2’s default.
- Exposure Flexibility: Auto-exposure with adjustable delays, multi-exposure capture (up to 5 bracketed shots), and manual overrides.
- FrameSync Viewer: Interactive tool to manually align tricky frames (e.g., overexposed or damaged), with zoom and threshold tweaks.
- Misalignment Detection: Real-time frame error checking (Super 8/Regular 8), with DNG support via rawpy—catches friction-based drift.
- Film Transport: Enhanced fast-forward/rewind with progressive stops and gate protection, plus auto-stop at reel end.
- Workflow Persistence: Auto-saved settings and session data (e.g., frame counts, folders) for seamless restarts.
- UI Polish: Tooltips, resizable fonts, QR code debug aids, and a rolling plotter for PT level tuning.
- Stability: Robust error handling (e.g., disk space, folder issues) and bug fixes for smooth scanning.
The controller manages the Arduino board, forked from Torulf Holmström’s “Arduino to Card Control T-Scann 8 v1.61.”
Started to add a feature, it evolved with refactoring and enhancements.
- Code Refactor: Cleaner, maintainable structure for reliability.
- Transport Precision: Fast-forward/rewind with progressive stops and improved winding for consistent tension.
- Safety Locks: Prevents FF/Rewind with film in the gate, plus auto-stop on reel end.
- Pi Sync: Enhanced I2C communication with UI, reporting PT levels and controller version.
- Startup Sync: First-frame alignment now locks in within one frame (vs. up to five).
- Compatibility: Use both ALT-Scann8 UI and Controller together—interface changes (as of October 2023) break compatibility with original T-Scann 8 software.
- Performance: For best results, add a pinch roller (see T-Scann 8 Mods) to aid capstan traction.
- Download: Get the repo via ZIP or
git clone https://github.com/jareff-g/ALT-Scann8.git. - Python Setup:
- Update your system:
sudo apt update && sudo apt upgrade -y. - Install required libraries:
sudo apt install -y python3-opencv python3-numpy python3-pil python3-psutil python3-qrencode python3-smbus python3-picamera2 python3-rawpy
- Optional for usage reporting:
sudo apt install -y python3-requests. - Tkinter is included with Python 3.
- Update your system:
- Arduino Setup:
- Open
Controller/ALT-Scann8-Controller.inoin the Arduino IDE. - Compile and upload to your Arduino board.
- Open
- Run: On your Raspberry Pi, execute
python3 ALT-Scann8.py.
ALT-Scann8 optionally pings an anonymous usage count (UI+Controller version pair) to track active users and compatibility. Enable it at first run—no personal data collected. See ALT-Scann8.py for details.
- Splash Screen: Generated by Grok, created by xAI. Adds a retro film vibe to startup.
- Python: Core language. (python.org)
- OpenCV: Frame analysis. (opencv.org)
- NumPy: Array operations. (numpy.org)
- Pillow: Image processing. (pillow.readthedocs.io)
- Tkinter: GUI toolkit (built-in). (docs.python.org/3/library/tkinter.html)
- psutil: Resource monitoring. (github.com/giampaolo/psutil)
- qrcode: QR codes (via
python3-qrencode). (github.com/lincolnloop/python-qrcode) - smbus: I2C for Pi/Arduino. (pypi.org/project/smbus2/)
- Picamera2: Frame capture. (github.com/raspberrypi/picamera2)
- rawpy: DNG processing. (rawpy.readthedocs.io)
- Arduino Core: Framework and
Wire.hfor I2C, plus C libraries (stdio.h,string.h,stdlib.h). (arduino.cc)