PDA

View Full Version : Open source f/stop enlarger timer



polyglot
22-Aug-2011, 07:07
Hi all,

My enlarger didn't come with a timer, I'm sick of the metronome and doing annoying logarithmic sums in my head. So I've built this timer (http://www.brodie-tyrrell.org/fstoptimer/) and decided to release it as open-source for anyone else who wants to build one. It shouldn't be difficult for anyone experienced with electronics; it's mostly just a matter of wiring the right pins together on a few devices.

There is a thread on APUG (http://www.apug.org/forums/forum43/95104-free-f-stop-timer.html) with a little more discussion but I figured there might be some interest in it here too.

Please let me know if you (try to) build this so I have some idea of how many of these are out there and what level of interest there is.

IanMazursky
22-Aug-2011, 21:21
Wow! Really amazing work.
Ive been thinking about using an Arduino for a shutter timer (connect to a cable release somehow?) and for an enlarger timer for a while.
But ive never been good at programming. What you did is so cool!

I saw from your page that you are planning to be able to store the exposure times in the Arduino for future recall.
Would you know how many you would be able to store? Im guessing with a larger keypad you might be able to name them or code them in some way.
I know this might be a lot, but could the program also be extended for time exposures in addition to the current Fstop timing?

I think i will give this a try in a few months after i clear out some other projects. Looks like a lot of fun.

polyglot
23-Aug-2011, 03:00
Currently it stores 8 exposures per program and 7 programs within the Arduino. That part is working.

Most of the EEPROM space is taken up by the text descriptions (14 bytes) for each exposure so I'm considering reducing the length of the descriptions and/or the number of steps per program; that way I can fit 10-20 programs in the 1kB available. There's no way the Arduino can be the permanent storage for all of one's prints so it really only needs to store a long session's worth ready for archiving to a PC afterwards (or loading up a bunch of settings for previously-printed images before a session). And 7 unique prints is enough for 99% of the time I think.

While you could modify the source to do linear timing, I don't plan to do that. You should feel free to download the source and change it up yourself though; it'd be a very simple change, just remove all the exponential stuff from Program::compile() where it generates linear times from the stops.

I haven't built an intervalometer yet and plan to probably next year; when I do it will include a high current output for a solenoid to push a release cable. I encourage you to go buy an Arduino (they're under $20 on eBay incl shipping) and just have a play with it. While they are programmed in C/C++ and I've written an unusually large quantity of that so I'm biased, there are plenty of libraries available and they are all-around damn easy to write code for.

William Whitaker
23-Aug-2011, 05:09
Is there an app for this? :) Seriously, could it be written for the iPhone?

polyglot
23-Aug-2011, 06:20
Is there an app for this? :) Seriously, could it be written for the iPhone?

Will: sure it could, and for bonus points the phone LCD will fog your paper. There's also no simple way of interfacing hardware (the enlarger relay) to an iPhone that doesn't cost more than this would - anything connecting to an iPhone must conform to the Apple MFI rules. You could do it with an Android (ignoring fog issues still), but the Android hardware development kit is an even larger version of this microcontroller (the mega2560), so this is still the easiest approach.

I've updated the webpage with video, or watch it here (http://www.youtube.com/watch?v=P_KJzunWx_0).

William Whitaker
23-Aug-2011, 07:39
Well, naturally I assumed that there was a means to write the code such that the screen could be dimmed. But I'm about as far from a programmer as one can get. I don't know about such things. Just thinking about it makes my head hurt.

aduncanson
23-Aug-2011, 09:05
Thanks for posting the video. It helps a lot. I particularly like seeing how the dodge is implemented.

ic-racer
23-Aug-2011, 18:50
polyglot, that is a great project. I had not seen the Arduino before. That would have been great back in the 80s. I remember in art school rigging up a relay board to the game port of my Atari 800 XL to run a kinetic sculpture.

nolindan
24-Aug-2011, 08:03
The Arduino is based on the AVR series of microprocessors (uP). The uP alone sells for $3 or so, and for may applications that's all you need.

It used to be that developing software for a uP involved writing a check to Intel for $50,000 for a 'development system'. With the development of uP with Flash memories and JTAG debuging interfaces all that is needed is the uP chip and a $39 interface cable.

You can find an AVR DIY community at http://www.avrfreaks.net/

Brian C. Miller
24-Aug-2011, 09:25
Cheap development systems weren't that expensive, unless you wanted the full Intel big blue box (yes, they were big and blue) systems. All you needed was a two-sided circuit board, microprocessor, support chips, and ROM burner. The AIM and KIM were $500-ish for a circuit board with a hex keypad, I think.

(I am not showing my age by writing this, I am not showing my age by writing this, I am not showing my age by writing this, ...)

BetterSense
24-Aug-2011, 09:29
Even still, all those requirements were too much for the typical hobbyist who just wanted some basic project.

I use AVR ATMEGA 128 microcontrollers in tons of my own projects, including my enlarger meter, my panoramic camera, my beer fermentation chamber, my automatic fish feeder, and abunch of other things I've long since disassembled.

nolindan
24-Aug-2011, 11:00
The AIM and KIM were $500-ish for a circuit board with a hex keypad, I think.

My firm had a Tek-Lab and a DECWriter, then a couple II's & III's, then it was beige IV's and I^2ICE; finally Intel released PC hosted compilers and ICE. The typical listing book for a single product was 6" thick. Remember green-bar paper, CDC Hawk drives [10MB, 300lbs, 2 minute spin-up time, sound like a 727 taking off]?. How about PL/M-86 & PL/M-51?

Before that it was cross-assemblers running on assorted minis, paper tape, Data I/O programmers and ROM emulators.

[We are showing our ages, we are showing our ages, we are showing our ages...]

polyglot
25-Aug-2011, 01:32
The Arduino is based on the AVR series of microprocessors (uP). The uP alone sells for $3 or so, and for may applications that's all you need.

It used to be that developing software for a uP involved writing a check to Intel for $50,000 for a 'development system'. With the development of uP with Flash memories and JTAG debuging interfaces all that is needed is the uP chip and a $39 interface cable.

You can find an AVR DIY community at http://www.avrfreaks.net/

Indeed it is even easier again than that. The arduino comes with a bootloader which listens on its serial port, plus it has a USB/serial converter. All you need to program it is a USB cable. If someone talks to the bootloader within 1s of reset, it will suck a new application over the wire, write it to program-flash and boot it.

I've been through the whole JTAG/ICSP dance when I used to write PIC assembler but this is so much easier. Of course, you can use ICSP to overwrite the arduino bootloader, reclaim that extra 2kB (1/16 of the total!) program space and not have the bootloader wait for 1s on restart to see if someone is talking to it. But that bootloader is what makes arduino so nice for prototyping; you can go from "board in mailbox" to blinkenleds in about 10 minutes tops using zero additional hardware. After that, it's gcc behind the scenes so you can write whatever C(++) you want.

Avrfreaks is an excellent forum, though you will find plenty of arduino-haters there because it's "too easy" and lets filthy stinky hippie types (who might even be building something arty for Burning Man!) play with microcontrollers instead of just hardcore electrical engineers.

Personally I like to do some code prototyping on the Arduino (Atmel ATmega328) and then if the USB interface is not required, just transplant the 328 into some veroboard. It's also nice for debugging software (since you have a serial port, plenty of IO, etc) before recompiling it for a smaller chip and programming that up with ICSP. For the f/stop timer though, the Arduino will go into the project whole - I will make use of the USB and power supply parts on the board.

If you like the idea of these things but the AVR is too small, slow or otherwise limiting for what you're pondering, have a google for "Cortex M3". 72MHz 32-bit ARM thumb, bucketloads of everything, lightning fast and still available for under $20 on a development board. These are interesting times we live in, for sure.

Anyway, the timer is on pause while I wait for the aluminium enclosure (I splurged to the tune of $20) to arrive from China and for me to have a massive holiday. Once I get back, I'll finish the hardware off and document its construction on my webpage. I posted this on the arduino forums and to some friends and all I got back was "WTF is an fstop timer?". So I'll have to document that a bit more too.

philipmorg
3-Sep-2011, 12:00
Could Arduino be used to make a DIY temperature-controlled faucet similar in function to the Hass Intellifaucet?

polyglot
5-Sep-2011, 14:00
Could Arduino be used to make a DIY temperature-controlled faucet similar in function to the Hass Intellifaucet?

Certainly, but the cost is mostly in the electrically-actuated valves (hardware), not the controller.

philipmorg
5-Sep-2011, 14:59
True, and I can't really tell from the data sheets I'm seeing whether the less expensive solenoid valves offer variable flow rates or just a simple on/off. I imagine a good used Hass Intellifaucet would be the easier route, but those aren't too readily available. Hmmm...

nolindan
5-Sep-2011, 17:21
less expensive solenoid valves offer variable flow rates or just a simple on/off

Simple on-off.

Search for 'motorized valve' to find a flow control valve.

The cheapest are 'zone valves' made for home heating systems. These aren't strictly speaking flow control valves: there isn't any position feedback and valve opening Vs. motor position isn't necessarily linear. However, they may be 'good enough'. You will have to use motor on-time to estimate valve position. When the system turns the water off it would over-drive the valves to the off position to zero their position. Antenna rotators use the same logic with a motor in the set-top control box that mimics the motor in the antenna mast.

Someone who has opened their Intellifaucet may be able to shed some light on the valves therein.

philipmorg
13-Sep-2011, 14:01
Thanks for that information, Nicholas!

Robert Hall
13-Sep-2011, 15:13
Great project. Thank you for your generosity in posting the code and design.

polyglot
14-Oct-2011, 05:58
Update (http://www.apug.org/forums/forum43/95266-open-source-f-stop-enlarger-timer-released-3.html) posted on APUG and schematic now available on the website. Now supports a rotary encoder for exposure adjustments.

PCB is designed and will be sent off for manufacture this weekend, which means a small number of them will be available in November if they work.

polyglot
13-Nov-2011, 16:07
Update (http://www.brodie-tyrrell.org/fstoptimer/): PCBs now available and the design files are posted; PM me your email address if you want one. $8 plus shipping, $15 with a rotary encoder, relay and some of the other required parts like pin headers.

polyglot
31-Jan-2012, 04:52
Update: construction photos (http://www.brodie-tyrrell.org/fstoptimer/construct.html) posted.

polyglot
20-Jun-2012, 06:28
New software release (http://www.brodie-tyrrell.org/fstoptimer/). PCBs all sold out.

Jay DeFehr
20-Jun-2012, 07:39
Will: sure it could, and for bonus points the phone LCD will fog your paper. There's also no simple way of interfacing hardware (the enlarger relay) to an iPhone that doesn't cost more than this would - anything connecting to an iPhone must conform to the Apple MFI rules. You could do it with an Android (ignoring fog issues still), but the Android hardware development kit is an even larger version of this microcontroller (the mega2560), so this is still the easiest approach.

I've updated the webpage with video, or watch it here (http://www.youtube.com/watch?v=P_KJzunWx_0).

The iPhone display can display a wide range of colors-surely one safe for photo paper could be identified? It might be a little more demanding/ expensive to go the iPhone route, but multi-functional devices are generally worth the extra effort, and everyone already owns a smart phone.

Also, your timer is very cool! Thank you for sharing!

polyglot
20-Jun-2012, 15:08
The iPhone display can display a wide range of colors-surely one safe for photo paper could be identified? It might be a little more demanding/ expensive to go the iPhone route, but multi-functional devices are generally worth the extra effort, and everyone already owns a smart phone.

Also, your timer is very cool! Thank you for sharing!

If you're interested in the smartphone approach, look at Droid in the Dark (http://www.droidinthedark.com/). Someone on APUG is putting together an integrated suite of stuff including fstop timer that connects to a droid via Bluetooth. In theory the hardware is just a mains switch hanging off a BT adapter and of course you do all the control on the phone.

I would love the ability to have a huge touchscreen for input, not to mention the massive storage & internet connectivity available in a smartphone, but in practise the interface hardware is an expensive superset of everything in my timer and my paper testing shows that iPhones at least will fog paper with the LCD in dark-red mode. The attenuation of blue from the backlight just isn't sufficient, however if you had true-LED (eg OLED) display instead of an LCD in front of backlights, it would be possible to achieve a paper-safe display depending on the LEDs used in the display.

Edit: I'm part way through writing a Java program that talks to the timer over USB. Given that it's Java/USB, I would expect it to be fairly easy to port it to a droid and control my timer over the USB port (with cable, sorry) using a smartphone or tablet if you really wanted to. You can run (not to mention easily specify) much more-complex exposure programs when not constrained by a tiny memory and display.

polyglot
8-Jan-2015, 05:49
New v0.6 software release (http://brodie-tyrrell.org/fstoptimer/) with support for baseboard spot-metering. You'll need to do your paper-calibration manually for now, but I may add the ability to load paper-curves into the timer one day.

PCBs are USD20 shipped anywhere (USD10 if you bought the previous revision) and I have plenty in stock, or you can build it from scratch using prototype board as the design is completely open source. PM me if you want to build one.

Robert Hall
1-Feb-2015, 07:02
I just stick a piece of ruby lith over the phone when in the darkroom.

polyglot
7-Sep-2015, 07:03
Update: I have added a couple of demonstration videos, which demonstrate simple exposures, test strip generation, multi-step exposure programs, scaling prints, drydown compensation and baseboard metering.

RSalles
7-Sep-2015, 16:42
Polyglot,

What about a complete pack with all the hardware required to build the f-stop timer, as a ready-to-mount pack?

Cheers,

Renato

polyglot
9-Sep-2015, 03:52
While that would be possible, it would be much more expensive than you just buying the parts directly. Shipping stuff to Australia and then onwards internationally is quite costly.

RSalles
9-Sep-2015, 06:26
Well, so let's try another option: is there any electronic parts retailer in USA that you're aware of where I can buy all the parts needed, in a pack/parts list?
Even with some experience assembling electronic projects, like amplifiers, pre-amps, etc, I'm not sure if I can get just the right part overseas, buying again and again - time and fright costs consuming task,

Thank you,

Renato

polyglot
9-Sep-2015, 19:04
Mouser should sell you everything except maybe the LCD and Arduino, which I typically buy from eBay. For example, see item numbers 161015559852, 121691768076/311232919649 and 301696345731 (not sure about that case but it's probably what I used). There's a BOM in the construction page (http://brodie-tyrrell.org/fstoptimer/construct.html) with annotations - most of the little parts are optional depending on how you want to build it, i.e. phone charger vs internal supply, light meter option, foot switch option, even the rotary encoder is optional.

This thing is way easier to build than an audio power amp. Simpler even than an LM3886 kit, especially if you use an external power supply (phone charger plugged into USB port).

RSalles
10-Sep-2015, 09:09
Polyglot,

Great, I'll make my job and try to get the parts, and later if I come across any problem finding those parts I'll come back and let you know, maybe you could help.
Some time ago I watched a video with Gene Nocon, where he explains the advantages of a f-stop timer over a conventional timer, and it made sense to me, absolutely.
Some days ago I watched also the videos at your project page, but have to go there again and look closely to the hole content, I'm actually confident that I can assemble the f-stop device, thanks for this helpful project,

Best,

Renato

BradS
10-Sep-2015, 09:28
.... is there any electronic parts retailer in USA that you're aware of where I can buy all the parts needed? .....
Thank you,

Renato

I do not know if any of these will ship to Brazil but here are a few that I know of and used regularly to source parts.

Anchor Electronics: http://anchor-electronics.com/
DigiKey Electronics: http://www.digikey.com
MCM Electronics: http://www.mcmelectronics.com
Mouser Electronics: http://www.mouser.com/

Anchor and MCM seem to cater a little more to college students and hobbyists.
DigiKey and Mouser seem more oriented toward serving larger commercial needs.

RSalles
10-Sep-2015, 13:41
Thanks Brad, I'll look for the items on the list over the stores you've mention, for not shipping overseas sellers, I have an option to ship it to some relatives in NV and after that forwarded to me in South America,

Cheers,

Renato