So I built Darkplug around a cheap smart plug. The app controls the enlarger over the local network and does regular timing, f-stop timing, test strips, has an intuitive dodge/burn workflow, split grade (2 timing channels) and paper development timing.
I’ve been using it for a few months in my improvised bathroom darkroom.
Fair warning: the app was blindly vibe coded using Codex and Xcode.
I always assumed, probably incorrectly, that there would be too much jitter in the actual timing so I had built a few prototypes of e.g. an esp8266 controlled relay, where you would give the MCU a duration rather than separate on/off commands. But I guess that was wildly over-optimizing. In your case, how stable is the delay from the app sending a command until the switch operates?
I'd add voice mode for color printing in total darkness.
> Set up your smart plug and note its local IP address. Make sure the plug and your iPhone or iPad share the same local network. Connect your enlarger to the smart plug. Enter the plug’s local IP address in Darkplug, and connect. Once set up, you can control the enlarger directly from your iPhone or iPad.
Note also that some of the best printers used metronomes to count exposure time and turn the enlarger light on and off manually.
If you did, I would go in the custom firmware for the smart switch direction. A lot of them are just an ESP32 inside, and you could probably get to 0.001 seconds that way (but you are switching AC which cycles on the order of 0.02 seconds, so whatever)
It hadn't occurred to me that now with OLEDs you can actually safely limit exposure to wavelengths that would be damaging to the development process - I'd imagine that is what the author is shooting for here
Shellys can be configured to connect to your wifi and are not dependent on any cloud service.