This is an Arduino and Python library for interfacing with the SainSonic Tracer series solar charge regulators.
This was designed to work with a "SainSonic MPPT Tracer 1215RN Solar Charge Controller Regulator 12/24V INPUT 10A"
The protocol is described in Protocol Tracer MT-5 (copy here in
docs/
) and implemented in Python and Arduino. There's also a copy of the C
CRC as stated in the docs by itself with a test.
The Tracer uses an 8P8C connector (the same physical type of connector as RJ-45 Ethernet cables, but very much not an Ethernet connection).
Pin 1 is on the left when looking at the connector with the contacts facing forward and the wire down. See 8P8C for an example of the physical connector and location of pin 1.
- +12V (seems to be regulated)
- Gnd (common to both data and power)
- +12V
- Gnd
- TXD (3.3V)
- RXD (3.3V)
- Gnd
- Gnd
It communicates using TTL-232 at 9600 baud. TTL-232 in this context means +3.3V is 1 and 0V is 0 (not to be confused with RS-232 which would be +3.3V is 0 and -3.3V is 1).
The Arduino and C code is mostly incomplete and as such is placed in the public domain.
The Python library is a bit more complete and is licensed under the LGPL v3