AutoFilm-ESP32 is an automated film processing machine designed to handle the development of photographic film using a Kindermann style stainless steel tank. The device utilizes an ESP32 microcontroller, NEMA-17 stepper motor, DS18B20 temperature sensor, and a 2004 type LCD with I2C interface. The software allows for precise control of the development process, including rotation patterns and agitation timings.
## Features
- **Automated Film Processing**: Automates the film development process, reducing the need for manual intervention.
- **Customizable Sequences**: Define and adjust development sequences for various film types and processes.
- **User Interface**: Simple and intuitive interface with a keypad and LCD display.
- **Persistent Settings**: Upcoming feature to store and manage processing parameters directly on the device without recompilation.
## Hardware Components
- **Microcontroller**: ESP32
- **Motor**: Waterproof NEMA-17 stepper motor
- **Temperature Sensor**: DS18B20
- **Display**: 2004 type LCD with I2C interface
- **Mechanical Parts**:
- 8mm brass rods
- Plastic bearings
- 3D printed idlers, gears, and chassis
- Stainless steel tank (Kindermann style)
## Software Structure
### Main Components
1. **devSequences.cpp**: Defines the processing sequences for various development processes. Each sequence includes:
- Ideal processing temperature
- Upper and lower temperature bounds
- Rotation patterns
- Agitation times for each step
2. **Keypad Navigation**: Use the keypad to adjust processing times for each step. Left and right buttons facilitate this adjustment.
### Future Improvements
- **Persistent Parameter Storage**: Move processing parameters to files for in-device storage and modification without recompilation.
- **Extended Customization**: Enhance user interface to allow for more detailed customization of development sequences.
## Getting Started
### Prerequisites
- ESP32 development environment set up
- Required hardware components assembled and connected as per the schematic
- Water bath with temperature control (e.g., sous vide heater)