Ultimately I'm trying to read the battery's voltage and array current. I picked up a phone cable at the thriftshop and spliced it and alas it only has 4 connectors, the middle 4:
That tells me I have the RX, TX, CTX, RTS pins, but not ground. Any theory on whether I can just use ground from the charge controller's battery or array pins? I checked and it is a common ground between those two pins.
Also, any theory on whether a (3.3v) ESP32 will work (without level shifters), or will I need an Arduino?
As long as you are checking, what is the voltage on the devices TX pin? Most likely will kill your ARduino. Plus RS-232 is positive and negative and the negative will definitely kill your Arduino.
You need an adapter between your Arduino and the device port. Look for an RS-232 to TTL adapter board.
As long as you are checking, what is the voltage on the devices TX pin?
Nothing significant, I'm getting about 12 millivolts. I'm getting significant voltage on CTS though, around 64 volts... This is assuming pinout diagram above is correct.
You need an adapter between your Arduino and the device port. Look for an RS-232 to TTL adapter board.
Incorrect cables (and particularly ones with ground missing or in the wrong place) will frequently work due to common earth grounds or internal grounds elsewhere (USB.)
But they can also result in really mysterious and wrong behavior.
It shouldn't be that hard to hunt down a real 6-pin cable (or make one.)