The objective was to create a remote control interface for the EcoSmart electric tankless water heater. The remote they manufactured had been discontinued and there was no documentation available on the interface protocol.
Fortunately another engineer had scoped out the I/O pins enough to bit bang some control, but I wanted to go further into the protocol.
I was able to reverse engineer the TTL protocol control and status bits using an IR library and determined which were for system on/off, Fahrenheit/Celsius, and water flow detected on/off. I implemented the protocol transceiver as a new class of that library and wrapped it in some code to connect the ESP8266 NodeMCU device to the home automation system’s MQTT broker.
This was a component of a larger project to refit the domestic hot water system in my house.
Project link: https://github.com/PhilRW/ecosmart-remote