There are several sensor boards with multiple functions, but no one sensor has all functions on one board. That is why there still is a CCS811 CO2 eCO2 TVOC sensor in the case. It has eCO2 and TVOC. The eCO2 readings of this sensor are very inaccurate, and so I bought a much more accurate MH-Z19 CO2 sensor shortly afterwards, but I wanted to keep the TVOC part (Volatile Organic Compounds). Likewise the MH-Z19 has a temp sensor, but that one is much less accurate than the sensor on the BME280. The lux sensor sits in a pocket under the hole on the top, the CCS811 in a similar pocket with a hole on the left side of the case. There also is a pocket/hole for a BME280 climate sensor on the left, but the temperature readings are too high/inaccurate if the sensor is mounted inside the case, so I attached the sensor to the USB cable at the back.
The display shows the local time, the current temp reading from the BME280 and the temp reading from my weather station outside. The CO2 reading changes color as the value increases: 400 (green) < 800 (yellow) < 1000 (orange) < 1400 (red).
The radar sensor is for presence detection and triggering the room lights when I am working at my desk. PIR sensors are not capable of detecting presence when there is very little movement and you would not want to use them for controlling the lights when you are just sitting somewhere in the room. Radar sensors are better suited for this and the lights stay on even if there is very little movement. But the lights go out if I leave the room. The radar sensor has a longer reaction time if somebody enters the room, so that is where the PIR sensor has its advantage. You can combine both sensors in an automation and have the best of both.
After assembling the ESP32 and the wire connections (just think that you get all the fun of assembling an Einsy case without having to pay for an MK3S! ;-) ) the prototype board is mounted on the bottom part of the case with 2 M2.5 screws. I used putty (blue tack) to fix the sensors and the display on the inside of the case and the radar sensor in front of the prototype board and the DuPont connectors below the display. The radar sensor works fine through the case wall.
The BH1750 lux sensor sits tight in its pocket without further attachment. The PIR sensor must be attached from the outside. You put the wires out through the hole, attach the sensor pins and press the sensor casing back into the hole. Hot glue would work as well instead of putty, but I like it if I can change things afterwards if I think of something else. The two parts of the case snap together. 4 TPU feet are glued under the base, see model files. The 3mf file for the TPU feet has settings for sequential printing, which causes less mess for multiple TPU parts.
You must experiment a bit with the sensitivity settings in Home Assistant to find the ideal values for your use case. Watch the video by Andreas Spiess and have a look into the discussion thread for Home Assistant/ESPHome for more information on the radar sensor settings/configuration (all links see attached PDF). In that thread you will also find the header file for compiling the radar sensor code as well as a YAML example for ESPHome. I have adapted the YAML from there to work with the other components in this case and have attached the YAML code that I used for my configuration in ESPHome. You still need the header file to compile the code though. I have not changed it, so you can use the original header file from the thread. In the files of this project you can also find the Fusion360 file for the design of this case. I printed the case in PLA, the top part has to be printed upside down and needs no supports.
The author marked this model as their own original creation.