The wiring all appears to be correct
The esp32 uses 3v logic - I haven't checked for updates since last October, but that should still be up to date - that it is happening on every board and every packet sent leads me to conclude the problem is on the ESP32 end
I have it wired s1 > tx s2 > rx, the connections all appear sound, and the data sent to the boards is getting received and processed with no issue - the platform and base is doing what it is told, but with the 10ms timeout I only get 4 frames per second of control signal, with it set to 0, the best I can get is still around 10 frames per second. Ideally I want 30, and there are other communication functions that have to occur when all that is going on, such as sending telemetry back to the server - to this end fixing the communication issues with the RoboClaws would be very useful too, as I would like to log power usage and live readings of the encoders etc.
Other things I have tried is only running the platform or base RoboClaws, and just a single board running a couple of motors with encoders
If I can't resolve the ESP32 comms issue I may have to set it up with the ESP forwarding the control vector to an Arduino nano and using the nano just to drive the drivers! Obviously this is a lot more work that should really be unnecessary, so geting the ESP32 to listen to the RoboClaws is still my ideal solution.