Close

Isolation Boredom

A project log for Outback MATE Reverse Engineering

Reverse engineering Outback Power's Solar Chargers so I can obtain better data for logging

Jared SansonJared Sanson 04/05/2020 at 05:380 Comments


So the current global pandemic and forced self-isolation has given me a great opportunity to really dig into the Outback MATE protocol, and I have figured out all of the important details! (documented on my GitHub project)

I also started working on an Arduino-compatible library (currently far less featured) which is mostly useful as a way to convert the 9-bit MATE data to 8-bit PJON frames which mean I no longer need to use hacky methods in Python and can run things a LOT faster.

uMATE gave me a convenient way to sniff traffic between two devices and send it to Wireshark:

This has been immensely helpful for figuring out the remaining details, as I can capture & monitor traffic in real-time and compare it with the MATE readouts. It helped me discover that the MATE actually synchronizes the devices every minute or so by reading/writing specific registers - and this is how the FLEXnet DC can know the date, time, and battery temperature without actually having an RTC or temperature sensor.

I was able to discover the meaning of the remaining bytes in the MX status packet, and implemented status packets for the FLEXnet DC monitor.

For full protocol details, see this page: https://github.com/jorticus/pymate/blob/master/doc/protocol/Protocol.md
Bonus - my monitoring solution is now complete with the addition of a FLEXnet DC!Repos:

Discussions