Camper Van Air Quality and What to Do About It

Ryan Stout
5 min readFeb 28, 2024

--

A few years ago I read about how indoor air quality affects productivity. (Specifically CO2 levels). I’ve heard a lot of claims about what affects productivity, but after digging in, most of the studies seemed to be have good sample sizes and testing methodologies. So I bought an air quality monitor and was off to the races.

Never one to rule out the placebo effect, I did notice that my productivity seemed to slow when the CO2 level got above 1,000. My home office at the time was very sealed and would get to 1500ppm, especially when working out in the same room. Opening a window corrects the problem.

The Van

My camper van gets quite a bit of use. Being the founder/CEO of a camera accessory company, myself, our videographer, and our still photographer would often do road trips to field test and film marketing material. Consistently I would wake up with headaches. In hindsight the reason was fairly obvious, but for some reason I thought it was dehydration. Once I realized it was CO2, we started leaving the ceiling fan open and partially on at night, which solved the problem.

This however created another problem. When it’s cold, we run the van’s diesel furnace for heat. The furnace is more than capable of keeping the van warm, even with the fan constantly bringing in cold air. The problem is when there is a lack of wind outside, the fumes from the diesel furnace get pulled back into the van. (Raising the VOC and particulate counts on my air meter, and generally not being great for health)

I installed a 2nd MaxxAir fan so I could pull air in through the roof and also vent it through the roof. This helped, but still let the fumes in when the outside conditions were right.

Solving the Problem

Last month I set out to solve the problem once and for all. The fan doesn’t need to be open all of the time. A good air flush once an hour is usually fine. Though it depends on how many people are in the van and the outside wind. Vehicles aren’t designed to be air tight (you don’t want them to be.)

Using some Arduino compatible micro controller, I designed a mix of a thermostat and a CO2 monitor. Both MaxxAir fans in my van have an IR receiver (and an IR remote) that can be used to open/close the fan, or set auto open/close temperature settings, fan speed, etc.. I wired up an IR receiver to the board and tried to record the remote to learn how to control the fan over IR.

It took a few IR libraries and some reverse engineering before I was able to decode the signals. The Arduino IRRemote library and some raw decoding of long signals was able to do the trick. I wired up an LED and now could open and close the fan. The fan’s remote sends all state from the remote in a sequence each time you press a button. So pushing temperature up or down will also pass the fan speed, etc..

I used the SparkFun SCD40 as a CO2 sensor. It worked great and was fairly easy to get up and running. Finally I hooked up a Adafruit MCP9808 for temperature sensing and was off to the races.

Building a Thermostat

One unique challenge of a van is that if it’s windy, the heater will constantly cycle on and off. Most off the shelf thermostats have a total of 2 degree (or less) of hysteresis. This is fine for a house, but in a van the heat can kick back on 10 minutes after it kicks off. Also, I’ve managed to make my diesel furnace fairly quite with some mufflers, but it’s still disturbs me while sleeping a bit.

So since I was building a thermostat also, I decided to up the hysteresis so the furnace kicked on less. This would mean the temperature would swing a bit more, but that’s better than it cycling too often.

The algorithm was pretty simple, if the temperature dropped more than 2 degrees below the set point, it called for heat until it reached 2 degrees above the set point. If the fan was open when the thermostat called for heat, it would close the fan, then turn on the heat. If the CO2 passed a set point, it would open the fan, and close it once CO2 dropped enough.

Pretty simple. And it worked well.

I added a 7 segment display to show the temperature, set point, and CO2 level and was off to the races.

Making it Pretty

Version 1 was built on a breadboard. I stuck the breadboard to the wall and wired it up. In my head I was done, it worked. My wife quickly pointed out however that it looked like someone had wired the van to blow.

Yea, it looks sketchy when you see it through the window.

I also was confident the breadboard wouldn’t hold the connections when I was bouncing down the road. So I moved everything to perfboard and QUIK connectors. Then I designed a simple enclosure in Fusion 360 (great program imho) and 3d printed it. The result was a little bit easier to look at and less concerning to an outsider.

It had been a few years since I used Arduino, and I had spent part of 2022 writing low level C code for an automotive microcontroller. (With terrible documentation), so I was amazed at how fast everything came together. ChatGPT was able to write a lot of the code to read out the temperature and CO2 with almost no changes.

I’ve released the source, part list, and STL files for a very basic enclosure here. Hit me up if you need any help wiring it.

--

--