An infrared (IR) remote control designed for a Nikon DSLR camera. While not essential, it serves as an interesting project. The protocol used by the original Nikon remote controls ML-L1 and ML-L3 is straightforward, as explained by Big Mike on his website. A custom version has been created, utilizing an ATMEL STK-500 kit as a testing platform. Samples of the ATtiny13 processor from Atmel were procured, which operates without an external clock. Although this small processor is somewhat excessive for the task, it is the smallest option available. The website features images of various DIY IR remote control versions. The chosen design repurposes an old remote control that accommodates two standard AAA batteries. The switch matrix has been rewired, allowing any button press to trigger the camera shutter. No printed circuit board (PCB) is required for this simple design, as the existing remote control's output amplifier was retained. The original integrated circuit (IC) was removed, and the ATtiny13 was installed. The original specifications for the Nikon remote control protocol are unavailable, and the information on Big Mike's website is based on reverse engineering. The signal timing is not critically precise, allowing for adjustments in the waveform timing to match exact multiples of the 38kHz carrier frequency, which is 26.3 µs. The bursts are modulated onto a 38kHz carrier, with efforts made to maintain a constant phase between bursts to optimize the IR receiver's sensitivity in the camera. The shutter can be triggered from approximately 12 meters away, with potentially greater distance achievable. The software consists of two subroutines, one designed for generating precise timings, considering the internal RC oscillator of the ATtiny13 can deviate by up to 10%. Tests were conducted by varying the timing without issues, and results were consistent across different ATtiny13 processors. The SENDBURST subroutine has a main loop that consistently executes in 26.3 µs, except for the first iteration, which is slightly shorter to account for subroutine call overhead. The SENDBURST serves as the subroutine entry point, which is the same for both marks and spaces. The LEDSTAT register indicates the transmission of a mark or space, with a value of 0b11111101 keeping the LED off and 0b11111111 turning it on/off at 38kHz.
The schematic for the IR remote control circuit involves a few key components and connections. The ATtiny13 microcontroller serves as the core of the design, interfacing with the existing remote control's circuitry. Power is supplied through the two AAA batteries, providing a stable voltage to the ATtiny13 and the IR LED. The IR LED is connected to one of the digital output pins of the ATtiny13, allowing it to transmit the modulated IR signals.
The switch matrix is reconfigured to connect the buttons to the input pins of the ATtiny13. Each button press is detected using pull-up resistors, ensuring a high state when unpressed and a low state when pressed. The microcontroller's firmware is programmed to recognize button presses and trigger the appropriate IR signal sequence.
The SENDBURST subroutine is critical for generating the correct timing for the IR signals. The timing is adjusted to ensure that the transmission bursts are modulated onto the 38kHz carrier frequency. The ATtiny13's internal timer can be utilized to create precise delays, ensuring that the bursts are sent at the right intervals. The LEDSTAT register controls the state of the IR LED, toggling it on and off according to the defined protocol.
In summary, this IR remote control circuit for the Nikon DSLR camera is a practical and straightforward project that leverages existing components and simple firmware to achieve effective remote shutter control. The design is flexible, allowing for personal modifications and improvements, making it suitable for hobbyists and electronics enthusiasts.IR remote control for my Nikon DSLR camera. Not that I absolutely need one, surely I don`t need it bad enough to get one for about ‚¬30 or ‚¬40 from e-bay. However it would make a nice little in-between project. Big Mike explains the very easy protocol used by the original Nikon remote controls ML-L1 or ML-L3 on his web site.
I happen to be very good at re-inventing the wheel, therefore I have designed and built my own version. It just so happens that I`ve bought myself an ATMEL STK-500 kit, so this was a perfect test case for it.
I`ve ordered some samples of the ATtiny13 processor from Atmel, which can be operated without external clock. Even this small processor is a bit of overkill for the job at hand, but this was the smallest processor I could find.
On the above mentioned web site there are some pictures of other people who have built their own versions of an IR remote control in several different appearances. Personally I think building the remote control in an empty tic-tac box is a great idea! However I`ve chosen to build it in an obsolete existing remote control. Simply because it was at hand and because it can hold two standard AAA batteries. I`ve rewired the switch matrix in such a way that I now can press any of the keys to fire the shutter.
Feel free to use your imagination if you want to build your own version of the IR remote control. There is no PCB for this easy design. In my case the output amplifier was already available in the existing remote control. I`ve only removed the original IC from the board and added the ATtiny13. I don`t have the original specification of the Nikon remote control protocol. The information on Big Mike`s web site was also derived from reverse engineering. What I understand from that information is that the timing of the signals is not particularly critical. Therefore I have taken the liberty to adjust some of the times in the waveform to match exact multiples of one clock period of the 38kHz carrier, which is 26, 3 µs.
The bursts are modulated on a 38kHz carrier. Care has been taken to keep the phase of the carrier between the bursts as constant as possible in order to achieve the optimal sensitivity of the IR receiver in the camera. In my case I could fire the shutter even at a distance of about 12 metres. It probably reaches even further, but that`s as far as could get away from the camera without getting wet from the rain outside.
The software consists of only two subroutines, one of which is carefully designed in order to generate precise timings. Well, as precise as they can get of course if you consider that the internal RC oscillator of the ATtiny13 can deviate from the nominal frequency by as much as 10%.
I have run some tests by deliberately altering the timing without any problems. I have also tried 2 other ATtiny13 processors and they gave exactly the same results. Therefore I doubt that you`ll ever have to adjust the timing of the burst routine. The SENDBURST subroutine consists of a main loop which always takes 26. 3 µs to execute. Wait, I tell a lie! Not always, the first time through the loop is a bit shorter to compensate for the subroutine call and return overhead. Please note that SENDBURST is the entry point of the subroutine. The subroutine is the same for marks and for spaces. The LEDSTAT register indicates whether we`re sending a mark of a space. A value of 0b11111101 will leave the LED extinguished, while a value of 0b11111111 will turn the LED on/off at a frequency of 38kHz.
;- ; Send BCOUNT pulses. ; BCOUNT : Holds number pulses to send ; BDELAY : Holds high/low delay times ; LEDSTAT : Holds mark (11111111) space (11111101) flag ;- NEXTPULSE: LDI BDELAY, BURST0 ; Reload delay counter for Low period SENDBURST: DEC BDELAY ; Low period delay loop BRNE SENDBURST 🔗 External reference
This circuit enables a 4-to-20 mA current loop to control an isolated SCR drive. IC1A and IC1B function as one-shot timers. Q2 detects zero crossings of the 120 Vac line, which triggers one-shot IC1B. IC1A causes Q1 to discharge...
This project is a microcontroller-based college automation system aimed at addressing the challenges faced in educational institutions. It replaces the conventional notice board with an automated device that allows users to both hear and read the information being announced...
This article explains how to add a 32K external crystal/clock source to the Atmel AVR microcontroller Atmega8, including a circuit diagram and a C program.
The Atmel AVR microcontroller Atmega8 is a popular choice for various embedded applications, often requiring...
While developing an infrared (IR) extender circuit, a method was required to measure the relative intensities of different infrared light sources. This circuit is the culmination of that research. It utilizes a photodiode, specifically the SFH2030, as the infrared...
A voltage-controlled oscillator (VCO) is a type of oscillator in which the frequency of output oscillations can be adjusted by varying the amplitude of an input voltage signal. VCOs are commonly utilized in frequency modulation (FM), pulse modulation (PM),...
The MFJ-4225MV is a lightweight power supply that provides approximately 25 A output, with around 20 A suitable for continuous use. It is compatible with equipment such as the IC-706GII and K3. The fan operates quietly compared to other...
We use cookies to enhance your experience, analyze traffic, and serve personalized ads.
By clicking "Accept", you agree to our use of cookies.
Learn more