Skip to main content

Rheem Pronto Tankless Water Heater Repair

Appliance failure #2! The culprit was our Rheem Tankless Water Heater and took a fair amount of spelunking through the web, service documents, and a good old fashioned teardown to resolve the issues - plural as there were actually two error codes generated.

Error Code "76"

The first error code indicated communication failure between the "Remote" (HMI device which attaches to the wall next to the water heater) and "PCB" (as there is only one printed circuit board in the unit, Rheem refers to it as "PCB").

Upon examination of the PCB, I noted a few of the capacitors had bulged. Typically one would desolder and replace with comparably rated parts, but with 1/2" of potting compound encasing the board, it would be quite the operation to selectively remove and re-pot.

I came across a random post on Amazon which mentioned resolving the issue by shorting the communication terminals with a capacitor - this implies that degradation of the capacitor(s) allows noise to propagate on the communication lines, shorting with a capacitor is a common technique to filter noise. I pulled out an assortment of ceramic capacitors I had on-hand and started with 4.7 nF, working my way to 220 nF at which point communication was reliable though a new error code appeared...

Error Code "C7 13"

With the communication issue resolved the remote indicated a new error "C7 13" - insufficient oxygen in the combustion chamber.

At this point I performed a full teardown of the heart of the system to understand the theory of operation and search for obvious issues.

Corrosion Buildup

The most obvious issue was the accumulation of blue-white powdery debris within the combustion chamber, heat exchanger, and exhaust. Buildup of debris in the exhaust or air intake systems could prevent sufficient air (oxygen) in the combustion chamber. Having dealt with my fair share of corroded batteries and acid cleaning of assorted copper parts, my first thought was copper corrosion due to the blue hues in the powder. With the amount of copper tubing above the combustion chamber, this was a fair assumption. The minute deposits from propane combustion are quite corrosive and it's likely that over time leads to some corrosion of the copper. A thorough cleaning with the shop vac took care of the mess.

"Oxygen Sensor"

The water heater uses a simple method for sensing oxygen - when in operation, an orifice expels a calibrated amount of gas within a chamber, at the end of this chamber sits a thermocouple which measures the temperature of the flame generated. If there is insufficient oxygen, the flame will burn at a lower temp and thus trigger a system shutoff.

As I had everything apart, I dealt with the low hanging fruit - 
  • Combustion product buildup preventing proper sensing of temperature - gentle cleaning of the thermocouple probe with 1,000 grit sandpaper
  • Combustion product buildup on the gas orifice preventing proper flow - gentle cleaning of the orifice with 1,000 grit standpaper
It's important that a high grit sandpaper is used as damage to the thermocouple or orifice will throw off the somewhat fine balance of the system.


With the various fixes in place, I carefully reassembled the unit and commenced a quick combustion check followed by a 10 minute hot water test - success!


Popular posts from this blog

Building Custom Beeswax Molds with 3D Printed PETG and Silicone Resin

Through my beekeeping operation I accumulate dozens of spent frames from which I salvage beeswax.

Until recently I created candles as a means of storage for refined wax, though it reached a point where candle creation exceeded consumption.

I decided to cast the refined wax into blocks for long term storage and began the process of creating molds. I pursued a number of concepts before settling on one which fit my needs; this post is will hopefully save others a fair amount of time as little information is available on the web for fabricating custom beeswax molds.

Guidelines for the project:
Use materials on-hand:3D Printed PLA or PETGSilicone ResinMust be capable of reliably imprinting fine detail; minor defects are acceptable so long as it fits within the definition of "rustic"Technique must be adaptable across a range of sizes: 1/4 Lb to 5 LbsPreheating of molds prior to casting not requiredMold release agent (silicon spray) not required PETG Mold My first attempts were prin…

GE Profile Microwave Oven - 3D Printed Turntable Wheel Repair

With the COVID-19 lockdowns in effect we're tapping our frozen reserves of past harvests and prepared foods more frequently. The microwave has certainly seen an uptick in meal prep. Unfortunately one of the turntable wheels on our GE Profile dislocated and became damaged beyond use which prevents rotation while cooking -  game over for achieving reasonable cooking performance.

Lengthy shipping delays and complete shutdown of business is the norm at the moment so I decided to 3D print a replacement. With such a simplistic part, reverse engineering one of the working wheels took only a few minutes as did whipping up a model in SolidWorks.

Print took ~15 minutes then snapped on and rotated like an OEM part.

For those in a similar situation, I'm releasing the STL file for fabrication on your own 3D printer - hopefully there's someone out there who's life got a tad easier during these crazy times.

Particle Connectivity Agent Library

Particle's default connectivity agent is great for rapid benchtop protos, though becomes problematic for scenarios which require long-term connectivity and non-blocking operation.
Spotty WiFi will cause the agent to eventually go offline indefinitely; requiring a power cycleInternal clock is not automatically synchronized and drifts considerably over the course of a few daysUpon boot, the Setup() will not be invoked until WiFi connectivity is established - preventing initialization of IOCloud connection related functions will block execution of the application
Due to these issues, I built my own class to manage connectivity with the Particle Cloud. Basic usage is simple: set the system mode to manual, instantiate the class, and call Process() during loops.

Check it out on GitHub -

Install via Particle CLI `particle library install Particle-Connectivity-Agent`