Comovis Mini (all-in-one CO2 BOX)
by Nayel Khouatra in Circuits > Arduino
957 Views, 7 Favorites, 0 Comments
Comovis Mini (all-in-one CO2 BOX)
"Keep your home safe and healthy with the compact version of Comovis!. The Comovis Mini is all in one Temperature, Humidty and CO2 sensor, you can check this paramters via Home Assistant. Let Comovis give you peace of mind when it comes to the air you breathe at home!"
Story:
As someone who struggles to find a reliable product that can monitor the air quality in my home for less than 20 euros it was clear that I had to find a way to create one. I know how imperative it is to maintain a healthy living environment. That's why I created COMOVIS, an all-in-one temperature, humidity and CO2 sensor.
This small box sensor was the ideal choice for me. It measures temperature, humidity, and CO2 levels, providing me with accurate and reliable data about the quality of the air in my home. However, we had to use two sensors, which increased the cost of the product from 20 euros to 30 euros. Also, it was a bit bulky.
That's why today I am presenting another version called COMOVIS MINI. This device can easily monitor and, which can help prevent mold growth, improve air quality, and promote overall health and wellness.
The COMOVIS MINI is even easier to use than its old version. It has the same compact and stylish design as its predecessor, but in a mini version. With this version you can hang it on a wall. This will enable you to quickly check the readings via the LEDs strips present on the device or on a phone with the companion app Home Assistant. Instead of two sensors, it uses just one, which is more economical, more stable, easier to update and more eco-friendly.
Downloads
Supplies
Here's the furniture list with all the components that we need:
- Smart LED Strip Lighting: You can use WS2812 LED strips to add smart lighting to your furniture. You can control the colors and brightness of these LED strips using a D1 mini, a small and inexpensive Wi-Fi enabled microcontroller.
- WS2812 LED Strip: https://www.adafruit.com/product/1138
- D1 Mini: https://www.adafruit.com/product/3777
- Air Quality Monitor: To monitor the air quality around your furniture, you can use the SCD40 sensor. It can measure the CO2, temperature and humidity in your room. You can also connect it to the D1 mini to send real-time data to your phone or laptop.
- SCD40 Sensor: https://www.adafruit.com/product/4867
- USB Type-C Connection: If you want to connect your D1 mini to your laptop or power source, you can use a USB Type-C Breakout board. This board allows you to connect to downstream devices and provides a stable power supply to your D1 mini.
- USB Type-C Breakout Board: https://www.adafruit.com/product/4090
Schematics
In this Part, I will explain how the different components of this product are linked together. By understanding the connections between each component, you will be able to better understand how the product works as a whole. Let's begin!
- SCD40 Sensor : The SCD40 Sensor is the main component of this product, responsible for measuring temperature, humidity, and CO2 levels. The board includes a temperature and humidity sensor, as well as a CO2 sensor. These sensors measure the respective values and send the data to the microcontroller. to connect this part you need to find the SDA (D2) and SCL (D1) pins in the D1 Mini .
- Microcontroller: The microcontroller is responsible for receiving data from the sensor board and processing it. It is the brain of the system, using the data to determine the correct output for the LEDs. The microcontroller sends this output to the LED driver.
- LED Strips: There are three LED strips on the product, each corresponding to a different measurement. The first strip represents humidity, the second represents temperature, and the third represents CO2 levels. The LED strips are connected to the LED driver and receive their input from it. In order to connect the three LEDs strips solder together all the paower cables of the three LEDs strips and make sure that one of the three led strips has the two power cables. and then connect the data cable of the LEDs in this order : first strips on D5, second strips on D4 and the last on D3 and don't forget to connect the power cable on the USB C breakout board on the GND and VBUS !
- Power Supply: The power supply provides the necessary power for the product to operate. It is connected to the sensor board, microcontroller, LED driver, and LED strips, ensuring that each component has the power it needs to function. Now you need to take all the power cable that you have such as the sensor power cable, LED strips and the D1 Mini and connect it on the Vbus and GND of the break out board
Programation
Note: I won't do another tutorial on the setup of EspHome and Home Assistant, since I already did one on the previous version the step are exactly the same.
The programation of the comovis Mini is write on the .YAML of the devices :
esphome:
name: "led-strips"
esp8266:
board: d1_mini
framework:
version: 2.7.4
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Replace !"
password: "Replace !"
i2c:
sda: GPIO4
scl: GPIO5
scan: true
id: bus_a
sensor:
- platform: scd4x
i2c_id: bus_a
co2:
id: CO2
name: "CO2"
on_value_range:
- below: 1400
then:
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 1
red: 0%
green: 50%
blue: 0%
- above: 1400
below: 1600
then:
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 3
red: 25%
green: 50%
blue: 0%
- above: 1600
below: 1800
then:
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 4
red: 50%
green: 50%
blue: 0%
- above: 1800
below: 1900
then:
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 8
red: 50%
green: 25%
blue: 0%
- above: 1900
below: 2100
then:
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 9
red: 50%
green: 0%
blue: 0%
- above: 2100
then:
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 50%
green: 0%
blue: 0%
temperature:
name: "Temperature"
id: Temp
on_value_range:
- below: 10
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 1
red: 0%
green: 0%
blue: 50%
- above: 10
below: 17
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 3
red: 0%
green: 50%
blue: 50%
- above: 17
below: 22
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 4
red: 0%
green: 50%
blue: 0%
- above: 22
below: 27
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 6
red: 50%
green: 50%
blue: 0%
- above: 27
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 50%
green: 0%
blue: 0%
humidity:
name: "Humidity"
id: Hum
on_value_range:
- below: 35
then:
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 1
red: 50%
green: 0%
blue: 0%
- above: 35
below: 45
then:
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 2
red: 50%
green: 50%
blue: 0%
- above: 45
below: 65
then:
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 4
red: 0%
green: 50%
blue: 0%
- above: 65
below: 75
then:
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 7
red: 50%
green: 50%
blue: 0%
- above: 75
then:
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 7
red: 50%
green: 0%
blue: 0%
update_interval: 1s
light:
- platform: fastled_clockless
chipset: WS2812b
id: Strip_CO2
pin: GPIO13
num_leds: 10
rgb_order: GRB
name: "Strip_CO2"
- platform: fastled_clockless
chipset: WS2812b
id: Strip_Temp
pin: GPIO14
num_leds: 10
rgb_order: GRB
name: "Strip_Temp"
- platform: fastled_clockless
chipset: WS2812b
id: Strip_Hum
pin: GPIO12
num_leds: 10
rgb_order: GRB
name: "Strip_Hum"
3D Modeling on Fusion360
Conclusion and Results
In conclusion, the new version of this product represents a significant improvement over the previous version. The accuracy of the results has greatly increased, providing a more reliable measurement of temperature, humidity, and CO2 levels. The inclusion of the three LED strips on the product also allows for a quick and easy visual representation of these important metrics.
The comparison between the two photos of home assistant clearly shows the effectiveness of the new version of the product. The improved accuracy and visualization of the data will undoubtedly be valuable for those in various industries, including agriculture, construction, and home automation.
Overall, the new version of this product has demonstrated its effectiveness and usefulness. With its improved capabilities and features, it is sure to be a valuable tool for anyone in need of accurate temperature, humidity, and CO2 measurements.
I hope this tutorial has been helpful in understanding how the different components of this product are linked together. If you have any questions or comments, feel free to ask!