diff --git a/README.md b/README.md index 7c9434b..6d95624 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,47 @@ -# MicroEnv v1.x +# MicroEnv v2.x -The MicroEnv is a compact and simplistic environmental monitoring sensor, -based on the ESP32-C3 and the Sensirion SGP41 and SHT45 sensors, using -ESPHome for integration with HomeAssistant +![MicroEnv Finished Device](images/microenv.png) -Use a MicroEnv near a source of emissions to monitor air quality, or as -a general room environmental tracking sensor. It is, in effect, a cut -down version of the environmental sensor package of my [Supersensor 2.x](https://github.com/joshuaboniface/supersensor2) -project in a much smaller footprint. +The MicroEnv is a compact and simplistic environmental monitoring sensor, based on the ESP32-C3 and the Sensirion SGP41 VOC/NOx and SHT45 temperature/humidity sensors, using ESPHome for integration with HomeAssistant. -Power is provided by USB-C, though a very slim connector is required when -using SMD soldering without a buffer. +Use a MicroEnv near a source of emissions to monitor air quality, evaluate temperatures, or as a general room environmental tracking sensor. It is, in effect, a cut down version of the environmental sensor package of my [SuperSensor](https://github.com/joshuaboniface/supersensor) project in a much smaller, standalone footprint. -The Sensirion sensors are elevated with through-hole pins, to ensure -optimal distance between the (warm) board and the sensors themselves. -You can either directly solder the sensors to the board or, as I do, -use 4-pin female sockets for easy changing should it be necessary. +Power is provided by USB-C, which is also used for initial flashing. Once running, the device connects to WiFi to provide data to Home Assistant or via the ESPHome WebUI/API. -![MicroEnv Board Design](/board/pcb.svg) +The Sensirion sensors are directly soldered onto the board along with their power management circuitry, using SMD techniques, which is in contrast to the socketed GY-form-factor sensors from [version 1.x](https://github.com/joshuaboniface/microenv/tree/v1.x). This provides more compactness and flexibility in terms of positioning to ensure the temperature sensor is properly isolated from the rest of the system. + +Version 2.x features an extended 5mm-width, 40mm-length "neck", the end of which contains the SHT45 temperature sensor, for maximum isolation from the ESP32 and SGP41 sensor, both of which produce heat which can negatively affect the SHT45 temperature. This emulates the design of many temperature probe devices which use similar long boards for isolation purposes and work quite well in this regard. + +![MicroEnv Board Design](/images/pcb.svg) + +Since this revision uses directly SMD-mounted components, it requires fine soldering using solder paste and either a hotplate or, with extreme care, hot air soldering techniques. It is strongly recommended that anyone attempting to build one read the datasheets for the [SHT45](https://sensirion.com/media/documents/33FD6951/67EB9032/HT_DS_Datasheet_SHT4x_5.pdf) and [SGP41](https://sensirion.com/media/documents/5FE8673C/61E96F50/Sensirion_Gas_Sensors_Datasheet_SGP41.pdf) sensors thoroughly to ensure they are not subject to overheating which can result in potential damage or incorrect operation. We recommend using low-temperature GA-SN solder paste for this purpose, and suggest ordering the PCB with lead-free HASL to facilitate this. ## Parts List -| Qty | Component | Cost (mid-2025 CAD, ex. shipping) | Links | -|-------|---------------------|-----------------------------------|-------| -| 1 | GY-SGP41 | $9.58 | [AliExpress](https://www.aliexpress.com/item/1005007958589642.html) | -| 1 | GY-SHT45 | $5.67 | [AliExpress](https://www.aliexpress.com/item/1005008175340220.html)* | -| 1 | ESP32-C3 | $3.12 | [AliExpress](https://www.aliexpress.com/item/1005007205044247.html) | -| 2 | Female 4-pin header | $0.37 ($14.99/40) | [Amazon](https://www.amazon.ca/dp/B08LF3S5S8) | -| 1 | Custom PCB (JLC) | $0.50 ($5.00/10) | [GitHub](https://github.com/joshuaboniface/microenv/tree/master/board) | -| **TOTAL** | | **$19.24** | | +**Note:** All prices are $CAD, as of late November 2025, excluding shipping, sales, and bulk discounts beyond those indicated. -`*` Ensure you select the correct device on the page as it shows multiple options. +**Note:** For AliExpress item links marked `*`, ensure you select the correct device; multiple different models share the page. -## Configurable Options +| Qty | PCB ID(s) | Component | Cost | Links | +|-------|-----------|------------------------------------------------|---------------------|-------| +| 1 | N/A | PCB - "MicroEnv" | $0.64 ($3.20/5) | [EasyEDA/JLCPCB](/board/microenv.easyeda.json) | +| 1 | ESP32-C3 | ESP32-C3 development board (SMD) | $2.46 ($12.28/5) | [AliExpress](https://www.aliexpress.com/item/1005007205044247.html)* | +| 1 | SHT4x | Sensirion SHT45-AD1F-R2 | $9.37 | [DigiKey.ca](https://www.digikey.ca/en/products/detail/sensirion-ag/SHT45-AD1F-R2/17180856) | +| 1 | SGP4x | Sensirion SGP41-D-R4 | $13.00 | [DigiKey.ca](https://www.digikey.ca/en/products/detail/sensirion-ag/SGP41-D-R4/15652788) | +| 1 | R1 | CR1206-FX-10R0ELFCT-ND (10Ω 1% 1/4W 1206) | $0.16 | [DigiKey.ca](https://www.digikey.ca/en/products/detail/bourns-inc/CR1206-FX-10R0ELF/2562695) | +| 1 | C1 | 399-C0805C106K8PACTUCT-ND (10μF 10V X5R 0805) | $0.19 | [DigiKey.ca](https://www.digikey.ca/en/products/detail/kemet/C0805C106K8PACTU/1090830) | +| 1 | C2 | 399-C0805C104K5RACTUCT-ND (0.1μF 50V X7R 0805) | $0.12 | [DigiKey.ca](https://www.digikey.ca/en/products/detail/kemet/C0805C104K5RACTU/411169) | +| 1 | C3 | 399-C0805C105K3RACTUCT-ND (1μF 50V X7R 0805) | $0.18 | [DigiKey.ca](https://www.digikey.ca/en/products/detail/kemet/C0805C105K3RACTU/2211765) | +| **T** | | | **$26.85** | *plus tools, solder, etc.* | -There are several UI-configurable options with the MicroEnv to help you get -the most out of the sensor for your particular use-case. +## Case -### Temperature Offset (selector, -30 to +10 @ 0.1, -5 default) +The MicroEnv also includes a case to enclose the sensor while still providing good airflow to cool the microcontroller and provide quality exposure for the sensors. This case can be printed in any material, though ABS is recommended for rigidity and strength. -Allows calibration of the SHT45 temperature sensor with an offset from -30 to +10 -degrees C. Useful if the sensor is misreporting actual ambient tempreatures. Due -to internal heating of the SHT45 by the ESP32, this defaults to -5; further -calibration may be needed for your sensors and environment. +## Calibration -### Humidity Offset (selector, -20 to +20 @ 0.1) +Due to its design explicitly considering temperature accuracy, the MicroEnv should not require any Temperature Offset corrections in normal use; the option is however still provided just in case this is required in your environment. -Allows calibration of the SHT45 humidity sensor with an offset from -20 to +20 -percent relative humidity. Useful if the sensor is misreporting actual humidity. +The heat component of the SHT45 is explicitly disabled, as this should only be required in extreme humidity conditions. -## Home Assistant View - -This image shows the various available sensors in Home Assistant. - -![MicroEnv Home Assistant](/microenv-homeassistant.png) +Like its parent SuperSensor, the MicroEnv provides several additional configurable options for a "Room Health" metric system. For more detail, see [the main SuperSensor README](https://github.com/joshuaboniface/supersensor/tree/v3.x/configuration#room-health) section on the Room Health system. diff --git a/microenv.yaml b/microenv.yaml index 512ea4d..54a0d61 100644 --- a/microenv.yaml +++ b/microenv.yaml @@ -1,7 +1,7 @@ --- ############################################################################### -# MicroEnv v1.0 ESPHome configuration +# MicroEnv v2.0 ESPHome configuration ############################################################################### # # Copyright (C) 2025 Joshua M. Boniface @@ -26,11 +26,11 @@ esphome: friendly_name: "MicroEnv Sensor" project: name: "Joshua Boniface.microenv" - version: "1.0" + version: "2.0" min_version: 2025.11.0 dashboard_import: - package_import_url: github://joshuaboniface/microenv/microenv.yaml@v1.x + package_import_url: github://joshuaboniface/microenv/microenv.yaml@v2.x esp32: board: esp32-c3-devkitm-1