Home › Forums › Other Data Loggers › Serial datalogger RS485 › Reply To: Serial datalogger RS485
That looks like the converter I have. If you’re sure you have the right A & B wires, your doppler is powered, and the lights on the adapter are flashing, but you’re still not getting anything on the Mayfly, try flipping the Tx and Rx wires. Different people have different opinions on whether Tx means “the pin I’m sending out data on” or it means “the pin to connect the other guy’s outgoing data pin”.
The A & B from your ADCP are red and black? That’s not a problem; I’m just surprised. Often red and black are used for power and ground, but each manufacturer does their own thing, so you have to check that in your manual. Also, if your manual labels those wire as “to” and “from” it’s not using RS485. You should be using wires labeled A and B (or sometimes Y/Z or D+/D-.)
RS485 communication requires two wires for communication in each direction, which is why they’re usually labeled A & B and not Tx and Rx. The high and low “bits” in RS485 are counted by checking the difference in voltage between the two wires. This means an RS485 signal can make it through longer wires, but it also means that communication usually only goes in one direction at a time. TTL on the other hand reads high and low “bits” on a single wire by checking the difference between the voltage on that wire and system ground. There are often two wires used, one wire for incoming data and one wire for outgoing data, so you can be talking and listening at exactly the same time (aka full duplex). To get full duplex in RS485 you need 4 wires. The adapter translates between the RS485’s two wires and the TTL wires, with some magic circuity to get the direction right (and also some fuses and other magic to make it all less likely to blow up).
While you’re still testing out your communication, program your Mayfly with a really simple sketch that will echo everything it hears from Serial1 to Serial so you can see it on the serial port monitor:
Serial.println("Passing through data from Serial1");