Samedi, septembre 27th, 2008 | Author: admin

The Project

After chasing the idea of building a remote for my D50, I found this really interesting page with all you need (especially the IR timing) to get your remote up and running.

But using a AtTiny2313 for this leaves a lot of room to play with. So I made an enhanced version with a 7-segments display and a menu system. The new firmware let’s you choose among several shooting modes.

The remote is almost identical to the BigMike’s one except :

  • the firmware is, of course, modified
  • there is no On/Off button
  • there are two buttons for the menu (change/select)
  • there is a 7-segments display for the menu
Remote control

Remote control

The firmware sets the Tiny2313 in sleep mode after 5 seconds of inactivity.
In tis mode, the datasheet gives at most 2µA current usage. So, since a CR2032 yields 220 mAh, and if I didn’t mess up somehere, you should be up and running for 10 years.

Modes description

The remote offers 9 shot modes, which of course can be changed in the firmware.

Whatever the mode, the dp dot blinks everytime a “take shot” IR frame is sent.

  • Single shot mode (symbol : reversed lower ‘c’) : one button press makes a single shot
  • Double shot mode (symbol : two horizontal dashes ) : one button press makes two shots in a row
  • Triple shot mode (symbol : three horizontal dashes ) : one button press makes three shots in a row
  • Continuous shot (symbol : lower ‘c’) : one button press starts continuous shooting as fast as possible until the ‘menu’ button is pressed again or the battery is dead :)
  • Continuous shot every second (symbol : number 1) : one button press starts shooting 1 picture per second until the ‘menu’ button is pressed again or the battery is dead

Numbers 2, 5, 0 and 6 are also continuous shoot mode with 1 picture every 2, 5 10 and 60 seconds respectively.

Modes selection

Modes selection

Files

Wanna build yours ? You’ll need :

Circuit schematic

Circuit schematic

Circuit board layout

Circuit board layout

The core of the code (IR timing loop) is taken straight from BigMike’s ASM source.

Issues

There are some issues in my version. I am not sure if they are firmware/hardware/ir issues. The problem is the reliability of triggering : sometimes it just doesn’t work. This does make the remote of reduced usability for continuous shooting modes where timing is critical.

I wonder where this problem comes from : IR receptor low sensitivity ? inaccurate frequency generation ? AF mode induced triggering problems in some situations ?
Since I have relatively few hardware here (no friend with another D50, no oscilloscope, …) I didn’t dig it up for now.

And oh, BTW, the usual warnings apply : this remote can brick your MCU, destroy your Nikon, set your house on fire, etc… You’ve been warned !

Thanks

Big thanks to Bighignoli Michele, Jonas Diemer and Nate who pioneered the area.

EDIT : I finally managed to put my hands back on the firmware ! You can grab the ASM source or the hex file. Have fun !

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

5 Responses

  1. So wher is the sorce code?

  2. Buen sistema..

    muy buen tutorial..

    Thanks

  3. @guillo : thanks for your feedback !

    @dekemp : well, as stupid as it seems, I can’t put my hands back on it :(
    Basically, it was BigMikes one with some mino modification (buttons handling, 7 segments display, and loop processing for modes). I will probably create a newer version based on TSAL 6100 IR LED one of these days. I can dump the hex firmware if you need it, just let me know.

  4. do you can dump the hex firmware or source code in C++?
    merci beaucoup

  5. @perhelion + @dekemp : source code + hex are here !

Leave a Reply