• Welcome to Photrio!
    Registration is fast and free. Join today to unlock search, see fewer ads, and access all forum features.
    Click here to sign up

Open source f/stop enlarger timer released

Recent Classifieds

Forum statistics

Threads
201,770
Messages
2,829,863
Members
100,936
Latest member
rdbirt
Recent bookmarks
1
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
Mini-update: I assembled one this evening and it works nicely. Looks like it will even fit in my aluminium case with about 1mm to spare vertically :smile:

Here it is: top layer is LCD (and a little riser for the rotary encoder), middle layer is the custom PCB, bottom layer is Arduino.
stack_left.jpg


Website will be updated on the weekend to have the design files and assembly photographs. The rotary encoder has a push-switch action (all wired in through the PCB) that the source doesn't support properly yet, it's connected in parallel with the foot-switch; I'll have to make a bit of an update over the next couple of weeks to incorporate that nicely instead of the current approach where keypad-# is the exposure button.

Definitely taking orders for PCBs now; the question is whether people would like basic parts kits of the annoying-to-find things (encoder and pin headers) that are hard to buy in single quantities. That will make shipping more expensive though since it'd no longer be a "letter" under 5mm thick.
 
Last edited by a moderator:

Barry S

Member
Allowing Ads
Joined
Jan 28, 2007
Messages
1,350
Location
DC Metro
Format
Large Format
I'm definitely in for a PCB. It seems like the pin headers alone wouldn't add any thickness to the envelope--so I'd prefer to get those as well. If you can help identify a suitable encoder on ebay--then I should have everything. Thanks!
 
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
Update... schematics and board designs are on the website along with photos of an assembled timer PCB plugged into the Arduino and LCD boards. I haven't shot a new video so you'll have to take my word for it that the PCB actually works (it does).
 
Last edited by a moderator:
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
First batch of kits are in the post now; there are still a few PCBs left if people want them (Tim?).

A slight hiccup is that the eBay encoders use a different encoding to the one that I started with, so that will require some adjustment to the source code and a new release sometime soon.
 

Barry S

Member
Allowing Ads
Joined
Jan 28, 2007
Messages
1,350
Location
DC Metro
Format
Large Format
William--Have you had a chance to update the code for the new rotary encoders? I've been occupied wth some emergency plumbing, but will build my timer next month. Thanks.

Barry
 

ic-racer

Member
Joined
Feb 25, 2007
Messages
16,728
Location
USA
Format
Multi Format
Again, fantastic work, thanks for sharing.

I'm pretty happy with the timers I already have, but If I were to build this the main thing I would want would be to have better foot control of my light.

This is what my timer does now:
Right Pedal (momentary): "FOCUS" Light goes on only when pedal is pressed. Light goes off when pedal is released. No beeping or effect on timer screen.
Left Pedal (momentary): Starts count down second timer. Pressing it again when timer is running does nothing.

This is what I would like:
Right Pedal (momentary): COUNT UP f-stop timer with beep at each "F-stop." or "half-stop" It counts up on the screen showing the exposure in F-stops and keeps counting up as long as the pedal is pressed. The beeps, of course, get farther spaced in time as it goes. This is the 'free-form' burn timer. This function alone would make the whole thing worthwhile. This is basically the 21st century version of Adams' metronome timer.

Left Pedal (momentary): Press once = Start COUNT DOWN timer. Press again and "Stop and HOLD" turning off lamp and holding remaining time on the screen. Press again to turn on lamp and resume remaining time.
 
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
Barry: sorry, no, I've been quite slack on that front. I too have been occupied with emergency house-maintenance, not to mention *still* scanning photos from my September holiday.

ic-racer: this has a connection only for a single pedal. You get timer-execution or focusing depending on where in the menu structure you are. The count-up-by-stops functionality is definitely a possibility though.
 

L Gebhardt

Member
Joined
Jun 27, 2003
Messages
2,364
Location
NH
Format
Large Format
I finally completed my timer. I had to have William send me two boards since I killed the first one trying to remove a set pin headers where I used the wrong type. It was fun to build, and I learned a lot. The second board went together much nicer than the first. My next projects I think will go even smoother. I still need to hook up a foot switch, but other than that it is complete. I built mine with a small 120V AC to 5V DC power supply. A relay provides safelight/enlarger control. The case turned out kind of hackish since I made it from plexiglass painted with krinkel paint to try to match the Durst 138S it's going to be used on. The color is wrong, but it's a darkroom so I'll live. Still, I'll probably build a new case soon.

Thanks William for making the plans and boards available.

I'm already planning the next version which will control two sets of LEDs to make a variable contrast head.
 

Attachments

  • 20120509-203618.jpg
    20120509-203618.jpg
    88.7 KB · Views: 241
  • 20120509-203629.jpg
    20120509-203629.jpg
    98.1 KB · Views: 238
  • 20120509-203644.jpg
    20120509-203644.jpg
    79.4 KB · Views: 222
  • 20120509-203752.jpg
    20120509-203752.jpg
    116.2 KB · Views: 240
  • 20120509-212235.jpg
    20120509-212235.jpg
    82.7 KB · Views: 237
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
Excellent! I think that's about four other than mine that are in service now. I'd suggest a grounded case for safety though...

I'm told that there's a new Arduino IDE 1.0 release which requires a small change to the code (#include <arduino.h> instead of <Wprogram.h>) so I should release a little update soon.

Still haven't published a change to encoder direction sorry - I'm halfway through rebuilding the laundry/darkroom at the moment. However, I can describe the change for anyone wants to do it themselves: open RotaryEncoder.h and see line 48. What you want to do is swap the definition of the two encoder pins:
static const char ENCPIN0=3, ENCPIN1=2;
to be this:
static const char ENCPIN0=2, ENCPIN1=3;
And that should change the direction of rotation.
 

Barry S

Member
Allowing Ads
Joined
Jan 28, 2007
Messages
1,350
Location
DC Metro
Format
Large Format
I'm still planning on building mine, but I'm in the midst of directing an 11 floor art+performance event that runs for 5 weeks in addition to my full time job. :smile: I figured I could wait until the code got finalized, but sleep is for the weak.
 

L Gebhardt

Member
Joined
Jun 27, 2003
Messages
2,364
Location
NH
Format
Large Format
I already had to make the change for <arduino.h>. That was the first thing I found in the code. I'm used to the way the rotary encoder works, so I'll leave it as is.

As far as the grounded case goes I'm not sure. All the outlets are grounded and the case itself is nonconductive. Is there something I am missing? Either way I should be safe (I think) as long as I only use it in my darkroom which has GFCI protection for all outlets.

Have you thought about putting the whole project up on github? Then we could more easily share changes by forking the project and issuing pull requests.

Edit:

This was my code for the the Arduino 1.0. I just replaced the WProgram include with this:
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
 
Last edited by a moderator:

Nicholas Lindan

Advertiser
Advertiser
Joined
Sep 2, 2006
Messages
4,313
Location
Cleveland, Ohio
Format
Multi Format
Excellent! I think that's about four other than mine that are in service now.

Yes it is, Mr. Gebhardt did a very nice job.

A half-dozen was all that I counted in the days when I was supplying an f-stop timer as a kit. It's not schadenfreude, but I'm glad it wasn't just me that saw an underwhelming level of interest in kits. In the old days there was a large overlap of ham radio operators and darkroom-style photographers - witness Heathkit's foray into darkroom gear. But all the hams are now digerati and the abundance of soldering-iron jockeys isn't what it used to be.

As far as the grounded case goes I'm not sure. All the outlets are grounded and the case itself is nonconductive. Is there something I am missing?

I looked at the pictures and thought the case was hammertone painted aluminum. If it is plastic then there is, as you surmise, no point in (or method for) grounding it.
 
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
As far as the grounded case goes I'm not sure. All the outlets are grounded and the case itself is nonconductive. Is there something I am missing? Either way I should be safe (I think) as long as I only use it in my darkroom which has GFCI protection for all outlets.

Have you thought about putting the whole project up on github? Then we could more easily share changes by forking the project and issuing pull requests.

Edit:
This was my code for the the Arduino 1.0. I just replaced the WProgram include with this:

The reason for grounding is to save your butt if there's a mains wire coming loose inside the case. For example if someone steps on a cord and fractures the Live connection, it might come adrift and touch something like the back of the rotary encoder or something. Or you might end up with a live LCD frame, relay output or whatever - all hugely unlikely but the possibility of it is why there are design guidelines that include things like grounding. For something to pass AU (and presumably US) standards, it either must be double-insulated, or have all human-accessible conductive parts like chassis protected by grounding.

GFC will help you a lot, but not if you get between live and neutral. How much that helps you depends on the grounding inside that switching power supply. See IEC Appliance Classes; Class I is the easiest to build at home, just use a grounded metal case. Class II is cheap to mass-produce (all those appliances with 2-prong cords) when there are plastic cases involved, but it's harder to certify. What you've got there is Class 0 and would not be legal for sale.

Most of my open-source involvement predates the existence of github so I've never tried it but there's no reason why I shouldn't give it a bash. Maybe a later release will appear there.

Nicholas: indeed I don't expect to have a lot of these out in the wild; for the record I've sold nine PCBs and seen photos of four completed builds. I don't see that there's any way for me to make money from it (the labour cost of assembly is insane and there isn't the market size for mass-manufacture; I can't imagine you making much margin off yours!) so I just release it. To me, that's the point of open-source: I build a niche-something because I want it and maybe some others can benefit from my work instead of reinventing the wheel; that ecosystem provides 99% of the software that I use daily. Taking free but raw IP and turning it into a physical item certainly isn't for everyone but I'm happy that there are now four more people using f/stop timers that previously weren't. Better yet, one of them might have a good idea and send me back a big improvement (anyone feel like writing some code for split-grade?) or bugfix.
 

L Gebhardt

Member
Joined
Jun 27, 2003
Messages
2,364
Location
NH
Format
Large Format
William, thanks for the info on the electrical codes. I hadn't thought about the wire touching the LCD frame, which could certainly give me a shock if it happened. I'll take my chances for now, but when I redo the case I'll probably go with a metal one so I can ground the thing properly.
 

Lowly

Member
Allowing Ads
Joined
Feb 10, 2012
Messages
45
Location
Australia
Format
Multi Format
Downloaded the source files yesterday - for some reason when I unzipped the source it was just one file, so I cut/pasted them into different files. Changed the code as described by Mr. Gebhardt and everything compiled first time!

Got the pcb from Polyglot, and now waiting on parts to arrive from overseas to start building. Hopefully everything will go as well as the programming (most of my diy experiments usually end up with me buying a commercial product). It has got me thinking what features I want in the timer, like separate focus and print footswitches. Will post back when more parts arrive.

Thanks Polyglot!
 
OP
OP
polyglot

polyglot

Member
Allowing Ads
Joined
Jun 12, 2009
Messages
3,467
Location
South Australia
Format
Medium Format
Lowly - you need a tar-aware unzip program like Winzip, 7zip or (funnily enough) tar. The file is a "tar.gz" where tar concatenates a bunch of files in a library object and gzip compresses the whole thing. If you just uncompress the tar file and then look in it, it will look like concatenated source with a header up the front. I'll probably make the next one zip...
 
Photrio.com contains affiliate links to products. We may receive a commission for purchases made through these links.
To read our full affiliate disclosure statement please click Here.

PHOTRIO PARTNERS EQUALLY FUNDING OUR COMMUNITY:



Ilford ADOX Freestyle Photographic Stearman Press Weldon Color Lab Blue Moon Camera & Machine
Top Bottom