RS485 board/A real bus/11. When nothing arrives
A real bus · 11 of 11

When nothing arrives

Almost every RS485 fault is one of six, and each has a symptom that points at it: TX to TX, A and B crossed, a direction pin never set, the wrong board for the microcontroller, no ground wire, or too many 120 Ω resistors. Start from the symptom.

Symptom first

Where to look first
TX and RX, then the direction pin
Symptom
Look at
TX and RX, then the direction pin
Nothing arrives. Swap the two wires. Then check the talker's pin goes HIGH to send: a pin that is never set leaves the driver off.

A meter goes a long way

Three measurements find most of these without a scope:

MeasureWithExpect
A to B, at any terminalpower offabout 60 Ω on a bus, 120 Ω on a lone board
5V or 3V3 to GND, on each boardpower onthe board's own voltage
DE to GND, on a listening boardpower on0 V: listening

A listening board's DE should read 0 V; if it reads the supply, that board is holding the bus and nobody else can be heard. If every DE is right and nothing moves while the other side sends, look at the talker: its direction pin, its RX wire, and whether its bytes reach A and B at all.

Change one thing at a time

Go back to two boards on a short wire, with both 120 Ω fitted and a sketch that prints what it hears, and get that working first. Then add length, then boards, then your own protocol. A fault that appears at one step belongs to that step.

When it does not work

I have checked everything and nothing arrives.

Test the suspect board against one you trust: run the two-board ESP32 build from this book with the suspect board as board B. If it hears the good board, the fault is in the other microcontroller's wiring or sketch, not the board.

The power LED is off on one board.

That board has no supply: the LED sits across it through 5.1 kΩ. Check the wire to its 5V or 3V3 hole and its GND.

It worked, then stopped after I added more boards.

Each new board brought its own 120 Ω. Measure across A and B with the power off: under about 50 Ω means too many are fitted. Take the resistor off every board that is not at an end of the cable.

Only the first character of every message is wrong.

The listener's UART caught a stray edge on the idle bus and was part-way through a false byte when the real message began. Have the talker raise its direction pin a moment before sending, and discard anything before the start of a message.

Where this goes next

The reference page: both boards, their specifications and downloads.

RS485 transceiver boards

Edit this page — content/books/rs485/when-nothing-arrives.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

This page covers several products. Choose yours to see the right discussions.

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum