Edit: see my main thread here Reverse-engineering asynchronous serial protocol for EcoSmart Tankless Water Heater

I'm using an EcoSmart ECO 11 electric tankless water heater in a hydronic system.

This heater has a "Remote Control" port on the side. The port is an RJ-11 jack with 4 wires.

I want to interface this unit to my house heating control system (a networked Arduino). I want to get the following information from the heater (or as much as possible):

  • Water inlet temperature
  • Water outlet temperature
  • Water flow rate
  • Temperature setting

I contacted EcoSmart to ask for protocol details, but they discontinued the remote 3 years ago and stated that there is "no information available" about it.

I can gather some basic details about it from the Amazon page:

  • There are 4 wires in the cable
  • Two remotes can be connected simultaneously on the same bus.
  • The remote displays the temperature setting, as well as providing Temperature Up, Temperature Down and Power buttons.

Does anyone have suggestions regarding the type of bus used to communicate between the unit and remotes?

I have a 4-channel o-scope with the option to decode various protocols (I2C, SPI, etc). I don't have an EcoSmart remote to test with.

Any suggestions welcome. Maybe someone knows if there are standards for this sort of thing?

I think SPI can be eliminated, because each slave requires a select line, and a 4-wire bus wouldn't provide this for 2 remote units.

I have no problem disassembling the unit if necessary, but I'm betting it uses a custom ASIC with little info. It looks pretty generic - I'd say mass produced for multiple rebrands.

Thanks for any insight or tips!

  • 1
    \$\begingroup\$ Hmm. I'd say, connect your 'scope to all four pins and power on the device. Maybe it will chirp something (to detect if any remotes are present) and from that, you can infer protocol. Could be as simple as serial TX/RX and two power wires. Doubt it would be SPI/I2C, as these are very fast and for short distances only. \$\endgroup\$
    – rdtsc
    Dec 31, 2015 at 4:30
  • \$\begingroup\$ I will try asap and see what comes up! Thx! \$\endgroup\$ Dec 31, 2015 at 4:40
  • 1
    \$\begingroup\$ RJ-11 could be anything. You should really get a remote if you can. Chirps could be for anything. My guess is it's a dual differential bus and that remote one operates on the two inner wires and the second device operates on the outer two wires. Most standard RJ-11 jacks use that type of bus wiring (DSL, POTS, etc) It could literally use POTS, which would amuse me to no end. \$\endgroup\$
    – Dave
    Dec 31, 2015 at 7:15
  • \$\begingroup\$ I hooked up the scope. It looks very much like RS-232. +12VDC, TX, RX, and GND. It only sends data when settings are changed, so it would not provide realtime flow rate and temp info, unless there was a specific query instruction to return these. \$\endgroup\$ Dec 31, 2015 at 21:12
  • \$\begingroup\$ Ryan, What did you find out? I have one of these and wanted to get a remote which they don't make anymore... I would love to make something So I could control temp from my phone (Using a pi or arduino) Did you find any info on how it works you could share? \$\endgroup\$ Jun 9, 2018 at 1:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.