Show HN: I turned my iPhone and a $20 smart plug into an f-stop timer

peterszentkiralyi.eu

83 points by pentakkusu 1 day ago

I am a film photographer and do some darkroom printing and always wanted one of the proper, advanced f-stop timers, but never really wanted to spend a couple hundred dollars on one. Eventually I figured my phone was already perfectly capable of doing the timing, it just needed a way to switch the enlarger.

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.

arnarbi 1 day ago

Very cool. Is it controlling the plugs via direct Bluetooth connection? Or zigbee via a hub, or wifi (direct or via service)?

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.

  • jrflo 1 day ago

    I was curious about timing accuracy too, has any testing been done on this? Is it accurate to 1s, 0.1s, 0.01s? How dependent is it on the smart switch hardware?

    • muhehe 1 day ago

      I played with development photos in a darkroom a long time ago. I don't think one second actually makes much difference.

      • guax 1 day ago

        Depends on how powerful of a light you’re using. 1 second on a 7 second exposure is too much. One second on a 20, not.

        • aw4rzs 23 hours ago

          I don't think 1 second on a 7 second B+W exposure is that noticeable.

          • guax 17 hours ago

            14% is a lot.

            I think you can work around it very easily by stopping down the lens and using filters.

            But I’m sure if the phone has direct connection to the device and not working through hubs it’s not anywhere near 1s of delay.

    • alnwlsn 1 day ago

      I'd probably put the typical smart switch hardware/software stack at around 0.25 seconds. Maybe you can but I don't think I'd try to rely on anything much faster than that.

      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)

      • quickthrowman 22 hours ago

        If I were to tackle this project, I’d use an ESP32 and a relay with 120V contacts. That way you can use a GFCI receptacle and be code compliant if your darkroom is in a basement or the enlarger receptacle is near your darkroom sink.

        • pathartl 13 hours ago

          If you buy something like the Sonoff S31 they have an 8266 in them that can be easily flashed

        • pentakkusu 12 hours ago

          Many such projects were actually made, some of them are better documented then others. For this application I wanted something that is as off the shelf as possible.

    • foobar1962 21 hours ago

      Repeatability is more important than accuracy.

      Note also that some of the best printers used metronomes to count exposure time and turn the enlarger light on and off manually.

    • pentakkusu 16 hours ago

      Using slow motion recording, I measured 0.1s accuracy. I'd say it's more than good enough. You can see a print on the website I made with the app and a smart plug. The average print needs between 4-60s of exposure.

      As for how dependent it is on that specific type of hardware (Shelly plugs), it is 100% dependent as the app directly controls the smart plug (with the help of the router ofc). There is no way around it, no other smart switch family is currently supported.

  • Crosseye_Jack 22 hours ago

    > How it works

    > 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.

  • pentakkusu 14 hours ago

    Voice mode… interesting. Not sure about that. Handsfree operation is traditionally done with foot switches in the darkroom. You mean like “hey Siri, expose for 8 seconds”?

pathartl 13 hours ago

I grew up with two photographer parents that built a house around photographic printing. I was looking through their exposure notes a bit ago and as long as you can get sub second you should be able to get some pretty consistent results.

They did color, so when printing there was no such thing as a safelite. I can still vividly remember being that "can I help?" age and setting the timers for each color, loading in the paper in complete darkness, firing up the enlarger, and then feeding it to the auto processor. It was certainly an interesting way to grow up.

  • pentakkusu 12 hours ago

    So cool. Black and white printing is a different beast, where you can get away with much less precision and you can produce fantastic results by just eyeing things and winging it. I know a printer who operates like this, gauging the developement by a pair of well trained eyes, and know others who treat their darkroom as a scientific laboratory and do density tests and swear by their DIY chemistry etc.

    Lot's of ways to do it, in the end, if you enjoy the process, then all is good.

pimlottc 1 day ago

I get that red-on-black color scheme is a nod to the red lighting of a dark room, but the contrast is so low I can hardly read the example screenshots.

  • baoooooooooooo 1 day ago

    Isn't it more than a nod, and actually a hard requirement to be considered for use in an active darkroom?

    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

    • macintux 20 hours ago

      I upgraded to an Apple Watch Ultra because it offered a face with only red and black. It’s been long enough now that I don’t remember all the details, but I appreciated being able to monitor time in the darkroom (using DND to avoid flashes of light).

      • pentakkusu 16 hours ago

        Fun fact, I planned an Apple Watch companion app as well, but the Apple Watch is just too erratic in the way it lights up randomly, no matter what app (live activity?) you run, and there is no way to put a red filter on either.

  • guax 1 day ago

    It’s not a nod. It’s required to not ruin the paper during use. A specific yellow would also work but phone screens often output more than just the desired color. Red is the safest.

    • pimlottc 1 day ago

      That's fine, just make the versions on the website readable for people who aren't in a darkroom.

      • plussed_reader 21 hours ago

        What's the use case to use a darkroom tool outside the dark room?

        • pimlottc 4 hours ago

          I’m talking about the promotional website, not the app

  • pentakkusu 16 hours ago

    Trust me, in the dark, your eyes adapt and you will be able to read the GUI just fine. And as someone said, the reason the GUI is like this, is to not emit unnecessary light in the darkroom, thus preventing fogging the paper.

    • pimlottc 1 hour ago

      Sorry, I just meant that the example images /on the website/ should be easier to read, not that the screens in the app themselves should be changed.

s0rce 23 hours ago

25 years ago my dad built me a darkroom timer with a relay and a PIC 16F84A. It only had one button that you used a combination of short and long presses to adjust the time (read on a 7 segment LED display) and trigger the exposure.

  • s0rce 5 hours ago

    The BOM, schematic and firmware is on Wayback machine if anyone wants to build one!

sailingcode 1 day ago

Good idea. I wonder if the iPhone's camera would be able to measure the projected negative and guide exposure time?

nottorp 19 hours ago

I'd like to endorse the plug choice :)

Shellys can be configured to connect to your wifi and are not dependent on any cloud service.

  • pentakkusu 16 hours ago

    Exactly the reason I went with it, and of course the proper documentation on their website was very useful as well.

mmmlinux 1 day ago

25$ to unlock all the features...

  • pentakkusu 16 hours ago

    Yes. I thought It's fair. Under 50$ for the app and a compatible smart plug vs 300$+ for a boutique hardware enlarger with a narrower feature set.

dofm 23 hours ago

Nice. I have been meaning to do this with an e-ink device but other distractions keep getting in the way.

Sarkie 1 day ago

I had no idea what an enlarger was.

  • maciekkmrk 23 hours ago

    I recently took a B&W film development and printing class and it was very cool. I wouldn't be inclined to do it again, but it was fun to understand what 'dodging' and 'burning' refers too and get your hands do something.

  • pentakkusu 16 hours ago

    Analog photography is a wonderful world and is a great rabbit hole to jump into in this day and age IMHO.