VanNerd - Water Level
The Revel comes with a built in 25 gallon fresh water tank. WB provides a system to monitor the level from OnePlace. This design only uses 3 sensors glued to the tank wall to decide what level you're at. It's very vague and inaccurate. I wanted a more accurate solution. So I started looking.
My selection criteria included, easy install, not too expensive, no permanent modifications and reasonable accuracy. Turns out this was kinda a high bar.
I looked into the marketplace (internet) and found two possibilities. One, from Garnet (https://www.garnetinstruments.com/holding-tanks/), uses a better sensor technology and is good to a 0.25" of tank level. HOWEVER, you need to use their display unit and it's only available in a few configurations - none of which I wanted. It was also a bit expensive. The other, from Topargee (https://www.topargee.com.au/), is based not on tank level, but water used. It's a flow meter you need to place in the cold line. This design had few problems, you need enough line before and after the meter to create a non-turbulent flow - which forces issues around where to mount it. It also needs to be told when you fill and if you fill less than all the way - I don' t think you can figure out where empty is. There's also a plethora of float/sensor solutions, which I think are clumsy and you typically have to modify or have access to the top of the tank.
I decided to build my own. We're on a well and I have to monitor my system. I've used hydrostatic pressure sensors for years to monitor my well and holding tank levels. They're reliable, and accurate. However, they usually are expensive.
Well it turns out China makes a lot of cheap stuff and I found this sensor for < $40. (https://www.amazon.com/gp/product/B09B399GZQ). I chose the 0-2M version, but might have been OK with the 0-1M unit. This is a 4-20mA type sensor with 24v excitation requirement. I figured I would make a simple Arduino based controller if I used a 12 to 24v buck converter and a FET to turn it on and off.
A friend suggested I look into the ESP32's and I found one variant with OLED already mounted (https://www.amazon.com/dp/B07DKD79Y9) for <$20. So with the major components chosen I whipped up a little board and sent it out to OSHPark for fab.
When the board came back from fab - I populated it and tasted it out. Seems to work. (As per my usual I screwed up some components so had to do a bit of "retrofitting").
The hydrostatic sensor has a "nose cone" that protects the diaphragm. It screws on and I was able to remove it and made a pipe adaptor.
I also modified my van plumbing so that there would be a "T" basically at the drain line (lowest point). I added a ball valve after the "T" so I could fool around with my project. For the electrical side, I added a couple of pigtails to patch into the power for the water pump. So, after plumbing it in and wiring it up. I filled the tank and took an A/D reading at full.
Then emptied the water tank, one gallon at a time - till empty - taking a reading at each point. Lo and behold the resultant graph came out looking pretty good to me. I was happy to see the sensor seemed to give pretty linear and equally spaced data, implying (at least to me) that the sensor was sensitive enough for this application. If I did it again, I would probably get the 0-1M sensor.
In the simplest case, this would be a straight line. However, the shape of the tank affects the amount of water at a given depth. So this curve is specific to my tank in the Revel. The bottom portion of the tank is much smaller in cross section (as it goes over the rear of the wheel well, this makes the slope shallower in the above graph. Using Excel to curve fit the two regions yields a couple of equations
Now that I've got it installed (albeit with kinda temporary masking tape wire management), I need to take it out on the road. Hoping to do that soon so I can test it. I'll use to convert counts to gallons! If this is accurate to +/- 0.5 gal I'd be happy, but I think it might be closer to +/- 0.1 gal. I also don't know if I'll have to have a calibration for elevation. If so, it would be pretty easy (I think) to correct by adding another pressure sensor to determine atmospheric pressure.
If it works, I'll probably mount the display right in grill vent below the Nautilus in water proof manner.
After several months of using the original version - I ran into some problems. The biggest issue was I neglected to add any transient voltage suppression to the board - esp on the 12v input that is attached to the Van alternator. I think there were some serious voltage spikes on this line and fried my Arduino a couple of times. I added a power switch too!
The original design goal was to use a little power as possible, so I wanted to use the eInk as a way of reducing the draw. I also really liked the resolution and contrast. I also found the eInk display to be really slow. The only UI in the van is the display, so updating it quickly turned out to be important. Also turns out, being hooked up to house power - there's tons of power, so no real power issue. I switched to a 128x64 OLED and now can update the info a lot more frequently. It's a better UI and makes it easier to understand what's going on.
Since I can update the display more frequently - I added the concept of error messages. Shown in the pic is an error the fridge temp is high. This is fair as the fridge is off and the temp IS high.
I also had problems with 2 of my temp sensors. The original location for my outdoor sensor (between the sliding door and the kitchen cabinet) was actually too "inside". I managed to find a penetration for the hydronic lines under the kitchen cabinet, so I remounted the sensor under the van and secured it to some lines under the vehicle. My indoor sensor was mounted to the original PCB. Unfortunately this always read high - I think the uC and other stuff right there was generating heat. Also I wanted this to more or less agree with the Timberline thermostat, so I relocated the sensor to be next to the Timberline one. (I also moved the Timberline sensor to the 2022R location next to the bathroom, as it was mounted above the bench seat - in a heat island!).
The above changes has allowed the system to run with no real issues for a few months now. It survived a 10 day trip, so I think the voltage spike issues have been solved.
Next up are some updates to the iPhone app, but that's for another time.
Revel Monitor Project - VanNerd
The 2021 Winnebago Revel comes with a new Lithium Ion battery pack and Xantrex related charging hardware. There seems to be some warts in the design that cause issues. Most of them relate to temperature and charging - Li battery chemistry is sensitive to charging at low temps so Winnebago attempted to protect against this. As has been discovered by the user community, the fact that Revel alternator is INTERNALLY controlled forces the system to jump through hoops to not damage the batteries. Basically it narrows the acceptable window for charging. An alternate method of EXTERNAL control can be implemented to correct this, but Winnebago chose not to go this way (more $$).
Here was my summary of the temperature issue :
So in effect the batteries won’t charge from the alternator until the thermo switch sees 50F and since it’s attached to the metal structure of the van, it’s challenged to reach this temp on cold days.
There are other potential failure modes related to the ACR:
An additional point of confusion relates to the way the battery reports how charged it is. It's not a Winnebago or Xantrex issue really, it's about the way the state of charge is calculated. The built in battery management system watches charge going in and out and keeps track. Unfortunately it's not a terrible accurate way of doing things and you need to reset the counter by fully charging the battery. This can only be accomplished (in the Revel) with plugging in to shore power and letting it charge until the batteries won't take any more current. Neither the secondary alternator nor the solar panels can get you to 100%. So many folks think they have a full charge, but you don't because of SOC drift.
All this got me to wonder what's REALLY going on. I realized that since the BMS in the batteries have a Bluetooth LE server, I could write a little Arduino program to get at it. Well as long as you're collecting data from the house batteries, why not also get the chassis battery? And since this whole thing seems to be temperature related, why not capture a few temps?
So in the end I ended up with a little system that I've named "VanNerd" that consists of:
In order to capture and store the data, I implemented a Google Firebase backend, so the Arduino will take readings every 5 mins, then upload to Google every hour or so. You might ask, "Upload to Google, How?" Well I took two approaches - WiFI in the van and WiFi at my house. (I have the van hotspot set up, so when you're driving the Arduino could connect.) Basically the Arduino tries to connect with one, then the other. If both fail, it just tries in another hour. In the interim, it stores the data on a SD card.
Of course you can't stop here - in order to SEE the data you need a way to get it out of Firebase, so I had to write a little iPhone app to visualize the data. I had always wanted to try to write an app, so I learned enough about Flutter to do so.
Here's the prototype. At this point, all 5 temp sensors where mounted on the breadboard and I hadn't hooked up the chassis battery. I taped it down in the galley so I could drive around with it running.
The following are some pictures from the install. I've used the DS18B20 in other projects and really like it's digital and you can string a bunch of them together to quickly build a network. I found a version of them in a waterproof construction - which looked perfect.
1. Water Pump - I just zip tied it to the top. I thought about placing it on the tank output - which is close.
2. Macerator - Again I just zip tied it to the top fitting
3. Fridge - After extracting the fridge - I found there was a plastic cover over a hole used to run the refrigeration and power. I just force the sensor through and managed to tuck it behind the plastic cover on the inside. You can't really see it.
4. Outside - I just placed the sensor in the gap between the galley and sliding door. It's probably not the best placement, but it's protected and I can move it pretty easily if it turns out it's a bad idea.
5. Inside - originally I was going to mount one somewhere - but realized I could just solder it onto my pcb directly. Again - I may need to move this if it turns out the temp is too influenced by the Arduino.
I used an Arduino Nano 33 IoT as it can do Bluetooth LE and WiFi (although not at the same time). It took a long while to get this to talk to the batteries reliably. I found a cool eInk display at Adafruit that also incorporated an SD card. I was hoping to make this fairly low power.
I got my pcbs manufactured by OSHPark. I've used them before and it's works great. They will take native EagleCAD files so you don't have to mess with gerbers. For 3 boards it was about $30 and took around 2.5 weeks. I only found 2 layout errors on the finished boards - which were recoverable.
I realized the OnePlace already had connections to the house and chassis battery. I wanted to power the project from the house batteries, but wanted to monitor the chassis battery. So I fashioned an adapter pigtail to tap into these. It's a standard Molex 8 position connector.
One design idea I incorporated was to only sample the chassis battery for a few milliseconds so that I wouldn't inadvertently drain it by leaving it hooked up to the voltage divider (always a small amount of drain). The project being hooked to the house batteries is supplied by a huge battery and it's recharged via solar - so shouldn't be a problem.
Since there was an SD card, I set up a small preferences file so I can change a few parameters by changing the file - things like upload frequency, sample frequency, WiFi password, etc.
I used Google's Firebase backend for 4 main reasons.
At the moment, with 5 minute samples being uploaded every hour is running me about $1.25/day. I might be able to lower that as I'm not exactly sure which piece of the backend incurs the most costs.
Here's the final product. eInk screen, Arduino on the pcb. It's just double stick taped up above the one place. Right now there is no user interface - just a screen. There's no way to get at realtime info - it's delayed by the upload period - currently one hour.
Here's some of my first data with the van sitting in my driveway. Nothing is going on, but the fridge is turned to 4. (Yes it's hot outside -Northern California). You can see that the fridge is pulling a couple of amps very periodically. When the sun comes up around 7:30, you can see the outside temp increases and the solar panels start charging. They peak at 4 amps. Looks like around 11am the batteries get full. Also the reefer swings between 30 to 40 or so. It was empty, so I imagine this would be stable with a bunch of cold food in it.
I have some future Ideas, but right now I just want to see what I get out of it.
Well the ol' Fadal VMC 20 crapped out today. Looks like my Inverter failed. I found a replacement one on eBay - so hopefully it works.
It appears it's complaining about damaged EEPROMs.
Remote Water Pump Switch
The Revel has a sink drain switch (macerator) for the galley. However to use the sink you need to turn on the water pump. The button for this is around the corner on the One Place panel. Unfortunately this control is software driven and there is a slight delay while the One Place determines the current state of the pump (to display either On or Off). This gets to be a pain. Fortunately, WB added a solid-state water pump control relay to the pump operation which we can piggy back on to add another remote switch and state indication light. Plus you retain the macerator function too! The FB Revel site has many versions of this - it's where I got the idea.
I added 4 wires (2 for the light and 2 for the pump control), and ordered a custom switch from Rockerswitchpros.com. This is a momentary switch in both positions with an LED as well, part number VLD1-AX0B.
This the wiring diagram (stolen from the FB Revel Group):
Just to document my connections:
Pin Description (as appears in diagram above)
The water pump control is below the Nautilus control panel behind the black louvered cover plate (a pretty poor location for an electrical component - bound to get wet when you service the filter or spring a leak...).
My first attempt to mount the switch was to reuse the original bezel by cutting out the center section. That worked, but held the switch out from the cabinet by an extra 1/2" and not very securely. That led to it potentially snagging on clothing or being hit accidentally or getting ripped out. I was going to order a custom labelled switch for the pump anyway, so I decided to replace the unlabeled "mystery" switch above the fridge (its for the running board lights) as well with labels! Turns out the running board light switch uses a simple flush metal bezel, exactly what I wanted- which I was able to find on the WB parts list - part number 144363-02-CHT. So I ordered one. It's a much better solution in my opinion.
I wanted to use the built in water tank for all our water needs - instead of carrying around 5 gallons for drinking, etc. In order to do that, I felt it would be important to add an inline water filter for the galley sink. Although we filter the water when we fill, the water quality varies and more filtering is better.
I went with an Everpure ADC filter - it got good reviews, is built well, has good specs, and seemed like it would fit. I found examples on FB for installing in a Revel, but they were for earlier models with a different cabinet layout. They wouldn't work in the 2021.
I found a spot behind the lower drawer that works, but you have to mount to the wood panel located behind. This panel is only 1/2" thick and the filter is kinda heavy - esp with water. I decided to make a bracket to secure the lower portion and provide additional support. I cut about 12" off the cold line and attached that to the filter inlet. I got a 20" braided faucet line to hook the outlet up to the cold on the faucet.
It just fits!
There's a compartment behind the dinette seat that offers some additional storage. It has a nice door with a 1" hole. Others have mounted a simple cabinet lock there to provide a potential low level of security. It seemed like a good idea so I decided to work on this. The lock I could find (and it seems most of these) use a 3/4" shank. That makes them a bit small for the hole in the cabinet. The lock comes with a bezel you can use to "fill" in the gap, but I thought it looked and worked horrible. I wanted a more solid approach.
I ended up milling a part out of some aluminum to hold the lock and mount it securely to the door. It also fits snuggly so the whole thing has a more solid feel.
And here it is installed. I added a plastic tab so you can easily pull it open if you don't have the keys and it's unlocked.
I wasn't aware of this, but apparently the build quality in the RV market is notoriously poor. Supposedly Winnebago is better than most, but still leaves a lot to be desired. As I've been poking around in the van I've found a few things that I thought I would collect here.
For some reason WB uses duct tape to wrap the wire bundles. I've never seen this in a production setting.
Soln: When I'm fiddling with something I usually clean up what I can and use zip ties
Poor Controller Placement
This little guy is the controller for the water pump. Conveniently placed right near the water pump filter basket. I found that when I clean the water pump filter, water ends up dripping on the top of this. It's stared to corrode the terminals.
Soln: I cleaned things up, replaced the connectors, and sealed with dielectric grease.
In all the nooks and crannies there are metal filings, saw dust, loose screws, etc.
Soln: I tend to vacuum them up when I found them.
This is a brand new (less than 3K miles) van, and the first time we were in rain, we found a window leak.
Soln: It's going to be a warranty item - if we can get in.
Battery Tray Squeak
This thing has lots of little squeaks and rattles. Some are easy to fix (like remounting all the drawer stops so they actually close snuggly) and some are harder. We had a fairly annoying loud squeak coming from the rear garage area. It took me a while of hunting while the wife drove on bumpy roads to track it down. It turns out WB used rivets to secure the new lithium battery tray to the van wall. These do NOT hold the battery tray tightly against the van wall so they can rub.
My solution was to run some self tapping screws through them at various points. This seems to have done the trick. I'll be interested to see if it holds up. (Yes you have to remove the batteries, etc. to get at area.)
I removed the fridge to rodent proof and insulate the step area underneath. When I removed the fridge I found a few issues:
- WB mounts a retention cable to the top of the fridge (I guess this is there to keep it from flying around in an accident). The bracket for this has 4 screw holes, but mine only had two screws holding it on and they were loose.
- The Fridge is screwed into the cabinet by 4 screws accessed through the front bezel. One screw head was stripped, so I couldn't get it out with out drilling it out. Once I removed the fridge, I found two other screws had split the wood strip they were screwed into.
- There is a thin piece of wood above the fridge that is supposed to provide a barrier between the fridge and the drawer above. I found this piece of wood lodged to the side of the fridge. The screws had been ripped out of the wood.
Soln: Screw it back into place.
There are times when you want to use your cell phone, but you're a bit too far from a cell tower to make things work. You can get a cellular amplifier to help with the situation. Basically it's a roof mounted antenna, an amplifier and an interior antenna. The outside antenna is up high, away from the van and sensitive. The amplifier takes this and boosts the signal it can find. The interior antenna is small and meant to be used within a couple of feet. This is so the inside and outside antenna don't "see" each other.
I mounted the roof antenna on the roof rack with a swivel joint. I figure I put it up only when I want it so that it doesn't get snagged on stuff.
WB provided a nice roof access port on the 2021 so you can easily get the antenna cable into the dinette cabinet. I chose to run my cable behind the cabinet interior as well as wire in the power supply.
Since the power supply is permanently wired in, I needed an ON/OFF switch. I used one of the laser engraving companies to get a custom lighted switch. I milled up a bracket out of aluminum and stuck it on with some VHB. It's located just above the amplifier on the outside of the cabinet. Works for me.
Hot Water Mixer Secure
The Revel uses radiant heat and the same heat source for hot water. To regulate the temperature there's a mixer valve located under the dinette seat. It's a thoughtful and welcome addition. However, it's a kinda heavy brass valve sitting on 3 PEX "stalks" about 8-10" long. This is free to sort of wave around under the bench since it's not secured. This seems like it will put a lot of stress on the cheap plastic PEX fittings that used.
I decided to secure it.
The large hose clamp goes over the glycol reservoir, the small clamp goes around the valve and the tubing piece goes inbetween. The tubing piece was a short section of square tubing that I cut one wall out of. Took about 3 minutes.
This really seems to have solved the problem.