Giant Analog CO2 Meter




Introduction: Giant Analog CO2 Meter

The current atmosphere above a mountain in Hawaii contains about 400 ppm of Carbon Dioxide. This number is extremely important to all that live on the planets surface. We are surrounded now by either deniers of this worry or those who wring their hands in a flurry of agitated concern. But this number and the thousands of numbers that follow it in the news are hard to really comprehend on a daily basis. What is the amount of CO2 around me? How can I relate to this idea of gasses in the atmosphere causing overheating of the planet? For those interested I have built a Giant Analog CO2 meter that with the help of a 4 foot long needle will enliven this discussion of any school room or museum on how CO2 is measured and how you can become a part of this gas analysis.

From my work with analyzing the gas mixtures in snorkels: and the fun of producing giant tide clocks: I have repurposed the CO2 sensor and the sturdy servo mechanism to make a wall mount Analog CO2 meter that very accurately portrays the current level of CO2 in the air. Most of the build is 3D printed and it also offers an accurate digital output from the Adafruit feather E - Ink display. The Air sniffing horn of the sensor enclosure is the wonderful STL file from: Resize 3 inch Spiral Speaker box by iiime that was originally done for the Nautilus speaker enclosures. It runs on rechargeable batteries or wall warts of 5 volts and will record all of your data to the included SD card holder.

Step 1: Gather Your Materials

The construction materials are not cheap but add to the ultimate accuracy of the readings.

1. Adafruit 2.13" Tri-Color eInk / ePaper Display FeatherWing - Red Black White--you could use a very cheap TFT for this for $3.00 but it wouldn't show up as well in the sunlight. The drawback to this stackable screen is that it is slow to refresh.

2. Adafruit Feather 32u4 Adalogger -- the MO version of this device does not work well with the sensor. You can get by with the cheaper 32u4 plain unit without the SD card slot but this makes it easier in case you want to record all of your data.

3. Rugged Metal On/Off Switch with Blue LED Ring - 16mm Blue On/Off

4.10,000ppm MH-Z16 NDIR CO2 Sensor with I2C/UART 5V/3.3V Interface for Arduino/Raspeberry Pi by Sandbox Electronics -- a really great trouble free experience with this company make sure you follow the instructions for enabling 3 volt output -- it only runs on 5 volts

5. Standard Hub Shaft ServoBlock™ (24T Spline) ServoCity -- another great company! ( I receive no benefits from my endorsements of these companies)

6 . Standard HiTec Digital Servo that fits above.

7. 6.00” Aluminum Channel--Servo City

Step 2: 3D Print the Components

The components are all easily printed with PLA on any 3D printer. The cheap Creality CR10 that I used has a wide enough output base to enable the large size of the horn and backplate. It took a number of hours but no problems were encountered. Print with support. The horn was then sprayed with that textured paint that gives that sandy feel to the final product and covers up the fine lines of the 3D print. The back plate was designed in Fusion 360 to easily fit the window of the Feather E ink display. The other files are for the screw on mount holder for the pointer rod and the case that holds the counterweights for the bottom of the pointer.

Step 3: Build It

The construction is pretty simple. The servocity system enables you to quickly assemble the servo mechanism to the support structure. Attachments to mount the front horn with backplate that includes all the electronics are made with two bent connector plates which are E6000 glued to the back of the plate. Another connector plate extends out the back to enable solid mounting to a 90 degree wall connector. The pointer I used can be made essentially any length--mine was about 4 feet in size. I used a long driveway marker pole that you can find in a big box store for under $5. They are made of fiberglass and are nice and light for their length. In a situation with a servo even with gearbox support you must carefully counterbalance the weight and accurately center it in the mount. My counterweight was made with washers enclosed in the 3D printed housing and then sealed with the cut end of the pole in epoxy. Make sure the servo tolerates this wt and counterbalance experience by trying it out--the servo should stop whining after its reached its position in the software. If it continues to complain and move you most likely have an issue.

Step 4: Wire/Assemble

The wiring diagram is included above. The servo pin is connected to pin 11 in this scenario. The E paper display takes up quite a few pins on the feather so don't accidentally use them. Make sure the SDA, SCL pairs are connected up correctly. Power is done through either a 5 volt wall wart (2 A) or Lipo Battery. The wall wart is routed through the ON/Off switch mounted in the top of the horn which then powers the feather computer, servo and sensor all with 5 Volts. I also attached a series of Blue LED's to the end of the horn in parallel to provide some light at the end of the tunnel. (This is not in the wiring diagram.) The laser sensor for the CO2 is mounted near the opening of the horn so you can blow into it or provide any other air mixtures up to its mouth. The digital board for it is also mounted inside the horn and the power connections are made directly to the switch. The ground wire, power wires and SDA, SCL lines are led out the back of the plate to the Feather board. The Adalogger Feather/ E paper display stack are mounted to the rear of the plate. After all connections are tested the horn is sealed to the backplate with E6000 glue overnight.

Step 5: Program It

Really easy program with the Arduino IDE. Include the various libraries for the attached machines: NDIR_I2C.h (included on the Sandbox Electronics web site), "Adafruit_EPD.h" for running the beautiful E-paper display, Servo.h for the standard servo library. Define the pins necessary for the display. Define the pin for servo output. Attach the Servo and the sensor. The loop function just reads the sensor and outputs it to the servo with a Map/Constrain function. The only tricky part is limiting your servo range so it doesn't bang into the sides of the mount. I liked the idea of the posterior mount to the servo/pointer encapsulated between the face plate and the posterior wall mount but it also has some limitations. Use the standard example sweep function to test out the angle limits to the servo and limit them in the map function. The for statements at the end are to limit the speed of the servo so the momentum of the long pointer arm counterweight does not destroy the sculpture.

Step 6: Use It

The device is easily mounted to any wall surface with a couple screws. It doesn't weight that much and since its so slow moving really doesn't swing around much. In the first GIFF you can see that it is incredibly sensitive to CO2 even in your breath. Breathing into the end of the horn raises the potential CO2 level to 4% which would be 40,000 ppm. The sensor goes off-scale at 10,000 and you can deal with this in the programming of the wand movement -- ie make output logarithmic or change the movement cycle with faster swings. Other experiments can easily be done with it including putting it in a small confined room with lots of people (church basement during a pot-luck) or outside on a windswept hillside. The lowest I got was about 410 and that was with 50 mph windstorm yesterday. The potential use of this instrument would be to familiarize people with the concept of CO2 monitoring and its importance -- not some abstract quantity that talking heads address but what we can actually measure in our classrooms or museums.

Don't resist the urge to be part of the solution to this terrible problem either by education or speaking out.

Be the First to Share


    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    5 Discussions


    1 year ago

    Very Good! I use the K30 from CO2meter and a Raspberry Pi to log outdoor CO2 levels among other things. If you live near an area with any industry you might be surprised with how your CO2 levels vary throughout the day and night. For us, it's not unusual for outdoor CO2 levels to rise overnight and remain high throughout the morning. It seems to be a very effective measurement for determining the presence of a surface inversion that can trap industrial emissions close to the ground. Particulate (PM2.5) and VOCs may ramp up as well when air currents carry the emissions our way.


    Reply 1 year ago

    While its good to know that you understand some of the CO2 cycle, but what would you like your students to learn about our environment? Watching CO2 levels can be very interesting. This project can make for a great learning tool.


    Reply 1 year ago

    Don't jump on me, I'm not disagreeing with the world CO2 problem, but just an fyi (I'm a teacher), CO2 rise at night is also a natural phenomenon. All plants give off CO2 when there is no photosynthesis. I keep a planted fish tank which I supplement with a small CO2 reactor (baking soda & citric acid). It must be turned off at night so the fish won't suffocate from too much CO2 when the plants give it off when the lights are off.


    1 year ago

    Explained Nicely.Thank you for this article..