I am connecting a 2.5mm TRS jack to an Arduino Mega to monitor for data from a remote.

The remote conforms to LANC standard, viewable here: http://www.boehmel.de/lanc.htm

So in short, the Tip is LANC itself, the Ring is 5V power and the sleeve is GND.

What do I connect to what on the Arduino to monitor serial communications?

If the Tip is LANC in its entirety, what do I use as TX and RX? As far as I can tell, the same wire alternates between transmitting and receiving.



1 Answer 1


You will need a way to share an input and an output over the one LANC pin.

Here is an example that shows how this can be done. enter image description here

In this diagram, 15 is the data going to your Arduino (RX), and 17 is the data your Arduino is sending (TX.) 18 is ground.

So, wire things up as shown and connect to your two serial pins on the Arduino.

Your Arduino will probably receive its own sent data. You'll have to program around that.

Given that LANC isn't truly RS232 compatible, you may end up programming your own library to do some bit banging to implement the protocol. In that case, ignoring your echoed output is easy - just don't read the RX line while doing TX. If you find you can use some standard RS232 library, then you'll have to find another way to ignore the echo.

To just receive, you only need to connect the LANC line to your serial in on the Arduino.

To use the normal RX/TX lines on your Arduino, try following the instructions from the Arduino Serial reference. Ground is fine, and use digital pin 0 for the RX.

While looking for info on the signal levels for LANC, I found this article. Looks like someone has already gone to the trouble of figuring all this out and documenting it.

  • \$\begingroup\$ Programming's not a concern, I'm a good programmer, I'll find my way around that. Wiring is the bit I'm worried about, and looking at that it's not going to be possible for me to do since I can't get a transistor delivered to me within a week. Will it be possible to just receive data in the meantime and work with that? \$\endgroup\$ Commented Nov 12, 2015 at 13:25
  • \$\begingroup\$ Should be OK. Just don't wire the TX and transistor and you should be able to read anything sent from the remote. \$\endgroup\$
    – JRE
    Commented Nov 12, 2015 at 13:26
  • \$\begingroup\$ Awesome. So what pins on the Arduino do I plug these into? I currently have the GND running straight to the ground pin under the "Power" section of the Arduino. The "5V" pin connected to a digital pin set to OUTPUT at HIGH. And the "protocol" pin to digital pin 0 rx. And that doesn't seem to be doing anything \$\endgroup\$ Commented Nov 12, 2015 at 13:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.