I’m currently involved in a project to set up a solar powered wireless station and wanted to remotely monitor the battery charge process. I looked into a number of charge controllers to see if any of them could be connected to a computer. Many of the controllers have ethernet and built in web servers, but these come at a cost.
The (relatively) cheap chinese made EP Solar Tracer MPPT Solar charge controllers have an RJ45 interface for an MT5 remote display which means that there must be some way to get data out of the charge controller.
A couple of google searches for things like:
Brought up all sorts of documentation, much of the protocol information conflicted, but it all seemed to infer that the interface was serial of some sort.
I purchased the 40 Amp Tracer and borrowed a MT5 remote display and started snooping on the interface with a multimeter, oscilloscope and logic analyzer.
I was able to quickly verify the physical interface pin out.
Here’s the pin out of the RJ45 interface.
WARNING: Pins 1 and 3 of the interface supply 12 volts DC. I’m unsure if these are fused, so be very careful not to short them to ground. Note that pin 4 is a ground, so it would be relatively easy to short pins 3 and 4 together.
The pin order is defined as: plug-oriented touch-sided view of the direction of the cable down, from left to right order of 1 to 8…. Or at least that’s how one of the translated Chinese documents describes the pin order.
Here’s a picture (courtesy of wikipedia) for clarication.
The serial interface runs at 9600/8-N-1 (9600 baud, 8 data bits, No parity bit and 1 stop bit) on 3.3 Volt TTL Logic.
A FTDI TTL-232R-3V3 USB to TTL serial adapter works well for testing purposes.
I want to interface the charge controller to a Raspberry Pi which is convenient as the RPi UART also works on 3.3Volt TTL logic levels.
I haven’t fully worked out the protocol yet.
The MT5 continually sends the packet
0xAA 0x55 0xAA 0x55 0xAA 0x55 0xEB 0x90 0xEB 0x90 0xEB 0x90 0x16 0xA0 0x00 0xB1 0xA7 0x7F
which loosely matches some of the documentation I’ve found online.
It looks like the response is a number of 16 bit integers (Least significant byte first) and 8 bit bool values. I’m still working on this and hope to have a result soon.
Any news on reverse engineering the protocol? I have one next to raspberry also, although cannot access it in next 6 months (abandoned in island for winter).
congratulations for your posted findings concernig this project!
I’m pretty new with the RPi but I’m also trying to connect the rj.45 cable from the controller to a a RPi, not only to log it but also o access it remotely.
have you made any progress?
Working on a similar project with an Arduino as the remote monitor for the EPSolar MPPT. I used the site below as a reference. i’m also interested in a Pi solution.
Here is web page with much more information, including the protocol:
great work guys!! I’ve just had one fitted to the boat and was told the remote wasn’t available but really wanted the rPi interface. Is there any info you can publish or is the above thread enough?
I also have an epsolar tracer (3215RN) and I just finished my data logger: Arduino connected to tracer display (resp. data) port saving a set of values every 5 seconds to a mySQL database. Two arduinos showing everything on 4 OLED displays (SSD1306) in a ‘black box’. And 2 web pages for live and day view. Here’re some pictures:
Tracer and Black Box: http://www.oliver-witte.de/solar/tracer_blackbox.jpg
Black Box only: http://www.oliver-witte.de/solar/blackbox.jpg
Wire plan: http://www.oliver-witte.de/solar/wire_plan.jpg (made with Fritzing)
Live view: http://www.oliver-witte.de/solar/live_view.jpg
Day view: http://www.oliver-witte.de/solar/day_view.jpg
If anyone wants more details, just let me know…
Have sun 🙂
Hey I have the EPEVER 80a mppt 200v controller and the 100 amp 200v controller EPEVER I want to know how to network the 2 controllers so they communicate together I have 4 300 watt 32voc panels in series to 100 amp and 3 300 watt 31voc connected to 80 amp do I just plug a 8 pin ethernet cable from one to the other?