That's strange, when TEST is low the MAX chip should be in receive mode and the pullup resistor should hold the A line high (on my image it is low but this is probably the logic probe pulling it down) and the pulldown holds the B line low. On your trace A is behaving as expected but B is remaining high.

I used a module that looks like yours but I don't have it with me to check the exact model and MAX chip used.I'm at work and just happen to have a MAX485 chip (not module) to hand to connected it to using the same scheme and get the same results.Maybe you should try another MAX485 module/chip.

AFAIK the 3 characters after MAX485 denote the package type. ESA is 8 pin SO package.When your testing you only have them connected to the logic analyser?The Amazon link you posted has a schematic image so maybe check module matches schematic with a continuity meterMaybe the whole packet of MAX485 modules are faulty or poorly designed/built or it could just be your logic device pulls the lines high when they are floating and mine pulls them low.

AFAIK the 3 characters after MAX485 denote the package type. ESA is 8 pin SO package.When your testing you only have them connected to the logic analyser?The Amazon link you posted has a schematic image so maybe check module matches schematic with a continuity meterMaybe the whole packet of MAX485 modules are faulty or poorly designed/built or it could just be your logic device pulls the lines high when they are floating and mine pulls them low.

When testing, I've tried a couple of different combinations and they all give the same result.

CHANNEL

CONNECTED

SIGNAL AT IDLE

A

arduino and logic analyser

high

A

arduino, controller and logic analyser

high

A

mixer and logic analyser

low

A

mixer, controller and logic analyser

low

So I've ordered another, very different rs485 (https://www.amazon.co.uk/gp/product/B07B667STP) which should be turning up tomorrow so, with any luck, this will resolve the issue.

The new module doesn't have DE / RE pins, rather it relies on the TX to tell it when to switch to send / receive mode.

It does seem to properly switch back to idle though.

ALSO...After some head bashing / panicking it would appear that actually the controller is working at 9600 baud with an ODD parity bit and I'm now able to immediately add a UART decoder with no frame errors!!!

It does mean that I now need to go back and re-analyse the mixer / controller traffic but that should be fairly easy.

There was some unexpected behaviour from the mixer while all that testing was going on.At some point I noticed that the last bit from the mixer started to rise.I assume that this indicates the temperature that the water flowing through the mixer has reached but even after I turned the mixer off it continued to rise for a bit, possibly down to heat soak.

And the logic analyser is picking up all the data.It's looking like I'm going to need to use the old module to read the incoming data and the new module to write the data.I've tried using ReadBytes but that just times out after about a second or something (whatever the default is).

It looks like it's using SERIAL_8N2.Certainly, if I set the arduino to use that config then I can read all the data.sigrok seems to think that the controller is using a zero parity type but we don't have that option in arduino. So at 8N2 sigrok shows loads of parity errors from the arduino but it works dagnabbit!

On starting up the arduino with my new code using SERIAL_8N2 the screen is no longer flickering and goes into standby mode.

And I'm now able to properly communicate!!!!

It's been a long time coming and we're not there yet but this is a massive step forward and for the first time I can talk back to the blasted controller. Now I just have to add in the logic but that's the easy bit.

Massive thanks to Riva for keeping me going. ^^^ Starting to sound like an awards ceremony

Here is the info I have managed to gather about what the controller is sending:

I should have jumped forward to your last message first instead of working my way through them one at a time and then going of reading about the connection example of the RS485 modules and then trying to decode the protocol only to find you have already done it. LOL

Glad your getting consistent and predictable results now and look forward to you posting the project is finished and working as expected. Also glad to help though I don't feel I helped much apart from showing someone was listening.I would like to investigate the old MAX485 modules in more detail as I feel the boards you bought are probably just the same as the rest of them that look the same (like mine) but maybe they have faulty MAX485 chips or some other issue.

I should have jumped forward to your last message first instead of working my way through them one at a time and then going of reading about the connection example of the RS485 modules and then trying to decode the protocol only to find you have already done it. LOL

Glad your getting consistent and predictable results now and look forward to you posting the project is finished and working as expected. Also glad to help though I don't feel I helped much apart from showing someone was listening.I would like to investigate the old MAX485 modules in more detail as I feel the boards you bought are probably just the same as the rest of them that look the same (like mine) but maybe they have faulty MAX485 chips or some other issue.

Not going for the smoke blowing but even a little bit of assistance around where to look or advice about getting a logic analyser just meant that I moved that much faster. It probably stopped me from giving up altogether quite honestly.

I've been putting my code on github here: https://github.com/RucialK/vado-identity-shower-interfaceIt's not perfect but I'm definitely getting there. Needs a lot more refactoring and tidying up but I want to get it working with all the safety features and so on so and then refactor once it's working.

If you want to PM me your address I'll send you one of the rs 485 modules if you want to have a look. No pressure but definitely the least I can do. And I very much doubt I'll be using them.

If you want to PM me your address I'll send you one of the rs 485 modules if you want to have a look. No pressure but definitely the least I can do. And I very much doubt I'll be using them.

Thanks for the offer, I'm also in the UK and the cost of shipping will be way more than the item is worth.

A quick look at your github write-up and depending on what else your going to hang of the Mega I/O pins you might be okay with a Pro Micro. It is a lot smaller than the Mega and has native USB built in for serial debugging so the hardware UART could be used for the RS485. I use them for various DMX projects as like your project I needed Serial to the PC and hardware serial for RS485 (DMX is 250000 baud)