# Does MAX485 (RS485) requires 3rd wire as GND

**URL:** <https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712>\
**Category:** General Discussion\
**Created:** [October 3, 2023, 5:06pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712 "2023-10-03T17:06:48Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![sachenwadekar](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/sachenwadekar/32/1098808_2.png) [@sachenwadekar](https://forum.arduino.cc/u/sachenwadekar)\
**Post date:** [October 3, 2023, 5:06pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/1 "2023-10-03T17:06:48Z")

</div>

Dear Experts,  
need some guidenance;

I am communicating Arduino Nano with ESP32 with HW-Serial through MAX485 TTL to RS485 modules  
All works fine in both ways with 2 wire i.e. A & B (not GND)  
The distance I need to cover 20 meters only  
Both modules GND are connected with microcontrollers

To be more safe, weather same 2 wires i.e. A & B are enough or i need to introduce 3rd wire for GND with it ?

TIA....

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.arduino.cc/u/awneil)\
**Post date:** [October 3, 2023, 5:16pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/2 "2023-10-03T17:16:04Z")

</div>

This is one of the advantages of using _differential_ signalling - a common reference is **not** required!

EDIT

In fact, over long distances, it can be best to avoid a common ground link - as ground potentials might differ at the two ends ...

---

<div class="post-metadata">

**Author:** ![camsysca](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/camsysca/32/1015228_2.png) [@camsysca](https://forum.arduino.cc/u/camsysca)\
**Post date:** [October 3, 2023, 5:18pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/3 "2023-10-03T17:18:51Z")

</div>

Maybe. It depends. Maybe not. It will be subject to uncertainty without. See my replies in other threads on this topic. If your power supplies at both ends are 'parasitically' grounded by any mechanism, then you'll probably be okay, barring any significant noise sources between the ends. But best practices always indicate a ground would be best. Lowering your baud rate can improve things, but a ground is almost always your best bet.

More importantly, how many nodes, what terminations, where, circuit topology, will all have a huge influence on your project success.

---

<div class="post-metadata">

**Author:** ![camsysca](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/camsysca/32/1015228_2.png) [@camsysca](https://forum.arduino.cc/u/camsysca)\
**Post date:** [October 3, 2023, 5:19pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/4 "2023-10-03T17:19:36Z")

</div>

> [@awneil](#):
>
> In fact, over long distances, it can be best to avoid a common ground link - as ground potentials might differ at the two ends ..

By exception, as I'm inferring above, this is sometimes true. This is why project details, topology, etc. are important.

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.arduino.cc/u/awneil)\
**Post date:** [October 3, 2023, 5:20pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/5 "2023-10-03T17:20:04Z")

</div>

> [@camsysca](#):
>
> It will be subject to uncertainty without

It shouldn't be - because they are _differential_ signals - therefore a common reference is not required.

EDIT:

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/d/9/9/d99b961b1c413633f0238c8ab7b0e35004ee294a.jpeg)

[https://www.cuidevices.com/blog/rs-485-serial-interface-explained](https://www.cuidevices.com/blog/rs-485-serial-interface-explained)

---

<div class="post-metadata">

**Author:** ![camsysca](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/camsysca/32/1015228_2.png) [@camsysca](https://forum.arduino.cc/u/camsysca)\
**Post date:** [October 3, 2023, 5:40pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/6 "2023-10-03T17:40:08Z")

</div>

See message 12, this thread:

> [@Arduino Uno, Max 485 simplex communication \[solved\]](https://forum.arduino.cc/t/arduino-uno-max-485-simplex-communication-solved/1165045):
>
> Hi guys, the program compiles but it doesn´t do anything, when i push the button the master should send the letter E and the slave should turn the led on, and when the push button is not pressed and the master should be sending the letter A and the led in the slave should be off. Master // C++ code // const int boton1 = 10; int estadoboton = 0; void setup() { Serial.begin(4800, SERIAL\_8E1); pinMode(10, INPUT\_PULLUP); } void loop() { estadoboton = digitalRead(boton1)…

There are many, many guides out there on the web to choose from, but the best is to go to the designers, I think.

---

<div class="post-metadata">

**Author:** ![buckfast\_beekeeper](https://avatars.discourse-cdn.com/v4/letter/b/74df32/32.png) [@buckfast\_beekeeper](https://forum.arduino.cc/u/buckfast_beekeeper)\
**Post date:** [October 3, 2023, 6:44pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/7 "2023-10-03T18:44:45Z")

</div>

> [@sachenwadekar](#):
>
> 20 meters only

That isn't that great distance. 19 200 or 38 400Bd must be possible.

On the master I use 1k between +5V and A and 1k between B and GND. On both ends of the wire 120Ω MAX3485 is the 3V3 equivalent of the MAX485.

On the master the wire shield is grounded. The nodes couple the shield together but not grounded with the node to avoid GND loops.

---

<div class="post-metadata">

**Author:** ![camsysca](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/camsysca/32/1015228_2.png) [@camsysca](https://forum.arduino.cc/u/camsysca)\
**Post date:** [October 3, 2023, 10:51pm UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/8 "2023-10-03T22:51:25Z")

</div>

One of the best ways to 'get into trouble' here is to connect a few nodes with just two wires, find that it works, and not know why, or whether, you have an inadvertent ground. There are myriad ways for computers and smaller systems to become grounded, including USB connections, printer connections, HDMI cable shields(though, most screens and TVs are two-prong now) etc. etc. Look for 3-pin power cables, it's one sign you've possibly got a grounded system. If your system happens to have such grounds, work well, and then have someone modify/remove one of those grounds without you knowing it, you can hunt for a long, long time before you'll find it. An example would be a USB connection to a UPS. Usually, connected all the time, for reporting. Someone moves the PC, or pulls the UPS for battery swap, and doesn't re-connect the USB; suddenly, the ground path through the USB shield to the UPS isn't there. Had "nothing to do" with your RS485 network, which you'll feverishly debug for ages.

My experience has been that it can work, but it will bite, particularly if your noise environment changes(e.g. AC unit turns on in spring, after a whole winter of flawless operation, and suddenly communication is hosed). So, YMMV.

Anyway, @awneil is technically correct, the web is chock-a-block full of examples where people don't add a ground, and either get away with it, or just didn't know they already had one. The web is full of other questionable advice.

---

<div class="post-metadata">

**Author:** ![mikb55](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mikb55/32/1149025_2.png) [@mikb55](https://forum.arduino.cc/u/mikb55)\
**Post date:** [October 4, 2023, 1:01am UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/9 "2023-10-04T01:01:16Z")

</div>

Have a look at the Texas Instruments "AN-1057 Ten Ways to Bulletproof RS-485 Interfaces" document.

> **[snla049b.pdf](https://www.ti.com/lit/an/snla049b/snla049b.pdf)**
>
> 248.32 KB

In particular page 10.

"Although the potential difference between the data-pair conductors determines the signal without officially involving ground, the bus needs a ground wire to provide a return path for induced common-mode noise and currents, such as the receivers' input current. A typical mistake is to connect two nodes with only two wires. If you do this, the system may radiate high levels of EMI, because the common-mode return current finds its way back to the source, regardless of where the loop takes it. An intentional ground provides a low-impedance path in a known location, thus reducing emissions."

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [April 1, 2024, 1:01am UTC](https://forum.arduino.cc/t/does-max485-rs485-requires-3rd-wire-as-gnd/1174712/10 "2024-04-01T01:01:49Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
