Measuring Nikon DSLR IR remote signal

I just got a Nikon ML-3 equivalent IR remote for remote controlling my Nikon D3300 camera. I recently also wrote the Arduino Nikon IR remote sketch and I figured why not do some reverse engineering on the “original” remote. I took out my logic analyzer and attached an IR receiver to it.


The chinese logic analyzer is able to mimic a few different types of logic analyzers. After initially searching for USBee software I found out that the company producing it went out of bussiness… That is unfortunate as the USBee pods were really nice to use in school. I’m not sure what happened, but I guess their pricing may have contributed to that (well, some time ago the price was almost the same as a real Scope with bulitin LA).

I started a recording and pressed the button on the ML-3 a few times:2015-10-22 19_13_38-Saleae Logic Software

The receiver actually outputs already demodulated signal, so the modulation and its frequency are not visible, but timings should still be correct. The receiver ouputs logic one when no signal is detected and logic zero when a signal is detected.

Zoomed in signal of a single button press:

2015-10-22 19_18_21-Saleae Logic Software

The signal is as follows: (only signal changes are noted, 0 when transmitting, 1 when not transmitting)

The timings look pretty much the same as in my sketch, apart from the last two pulses, which seem to be missing in it… But it doesn’t seem they are that important as it works quite nicely without them also 😉

Leave a Reply

Your email address will not be published. Required fields are marked *