Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use ENV3: Examples, Pinouts, and Specs

Image of ENV3
Cirkit Designer LogoDesign with ENV3 in Cirkit Designer

Introduction

The ENV3 is an environmental sensor module manufactured by M5Stack. It is designed to measure key environmental parameters such as temperature, humidity, and air pressure. This module is ideal for Internet of Things (IoT) applications, enabling users to monitor and control environmental conditions in real-time. Its compact design and compatibility with popular microcontrollers make it a versatile choice for a wide range of projects.

Explore Projects Built with ENV3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino-Controlled Environmental Monitoring System with OLED Display and Sonar Level Sensing
Image of waterstoragecontroller: A project utilizing ENV3 in a practical application
This circuit is a microcontroller-based control system designed to monitor environmental parameters and control a 3-way ball valve. It uses an Arduino UNO to process inputs from a temperature sensor, a real-time clock, and a sonar sensor, and outputs control signals to solid-state relays for valve actuation. The system is capable of interfacing with high-voltage components and provides user interaction through toggle switches and an OLED display.
Cirkit Designer LogoOpen Project in Cirkit Designer
NodeMCU ESP8266 with Multiple IR Sensors and LDR-Controlled LEDs
Image of project: A project utilizing ENV3 in a practical application
This circuit uses a NodeMCU V3 ESP8266 to monitor signals from three IR sensors and ambient light levels via a photocell. It provides visual feedback using three green LEDs, which are controlled based on the inputs from the IR sensors and the photocell.
Cirkit Designer LogoOpen Project in Cirkit Designer
Environmental Sensing and Data Logging System with GPS and Wi-Fi/LoRa Connectivity
Image of Copy of Sat_2: A project utilizing ENV3 in a practical application
This circuit features a T-Deer Pro Mini LoRa Atmega328P microcontroller connected to various sensors (BMP280, Adafruit VEML6075 UV Sensor, ENS160+AHT21, GPS NEO 6M) and a SparkFun OpenLog for data logging. A step-up boost converter raises the voltage from a 3.7V battery to 5V to power an ESP32-CAM module. The circuit includes a buzzer for alerts and a rocker switch to control power flow, with all components sharing a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-S3 Based Environmental Monitoring and Control System with Data Logging
Image of ESP32: A project utilizing ENV3 in a practical application
This circuit features an ESP32-S3 microcontroller interfaced with various sensors and modules, including a DHT22 temperature and humidity sensor, an HC-SR04 ultrasonic sensor, an SGP41 VOC and NOx sensor, and an Adafruit INA260 current and power sensor. The ESP32-S3 also controls a DC motor via a relay and communicates with an SD card and an OLED display. An Arduino UNO is used to read inputs from a rotary encoder, and a step-down buck converter is used to regulate voltage from a 12V battery to power the components.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ENV3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of waterstoragecontroller: A project utilizing ENV3 in a practical application
Arduino-Controlled Environmental Monitoring System with OLED Display and Sonar Level Sensing
This circuit is a microcontroller-based control system designed to monitor environmental parameters and control a 3-way ball valve. It uses an Arduino UNO to process inputs from a temperature sensor, a real-time clock, and a sonar sensor, and outputs control signals to solid-state relays for valve actuation. The system is capable of interfacing with high-voltage components and provides user interaction through toggle switches and an OLED display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of project: A project utilizing ENV3 in a practical application
NodeMCU ESP8266 with Multiple IR Sensors and LDR-Controlled LEDs
This circuit uses a NodeMCU V3 ESP8266 to monitor signals from three IR sensors and ambient light levels via a photocell. It provides visual feedback using three green LEDs, which are controlled based on the inputs from the IR sensors and the photocell.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of Sat_2: A project utilizing ENV3 in a practical application
Environmental Sensing and Data Logging System with GPS and Wi-Fi/LoRa Connectivity
This circuit features a T-Deer Pro Mini LoRa Atmega328P microcontroller connected to various sensors (BMP280, Adafruit VEML6075 UV Sensor, ENS160+AHT21, GPS NEO 6M) and a SparkFun OpenLog for data logging. A step-up boost converter raises the voltage from a 3.7V battery to 5V to power an ESP32-CAM module. The circuit includes a buzzer for alerts and a rocker switch to control power flow, with all components sharing a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32: A project utilizing ENV3 in a practical application
ESP32-S3 Based Environmental Monitoring and Control System with Data Logging
This circuit features an ESP32-S3 microcontroller interfaced with various sensors and modules, including a DHT22 temperature and humidity sensor, an HC-SR04 ultrasonic sensor, an SGP41 VOC and NOx sensor, and an Adafruit INA260 current and power sensor. The ESP32-S3 also controls a DC motor via a relay and communicates with an SD card and an OLED display. An Arduino UNO is used to read inputs from a rotary encoder, and a step-down buck converter is used to regulate voltage from a 12V battery to power the components.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Smart home automation systems
  • Weather monitoring stations
  • Industrial environmental monitoring
  • Agricultural IoT systems
  • Air quality and HVAC control systems

Technical Specifications

The ENV3 module is equipped with high-precision sensors to provide reliable environmental data. Below are the key technical details:

General Specifications

Parameter Value
Manufacturer M5Stack
Part ID ENV3
Sensor Type Temperature, Humidity, Pressure
Communication Protocol I2C
Operating Voltage 3.3V - 5V
Operating Temperature -40°C to +85°C
Dimensions 24mm x 24mm x 8mm

Pin Configuration

The ENV3 module uses a Grove-compatible connector for easy integration. The pinout is as follows:

Pin Name Description Notes
VCC Power Supply (3.3V-5V) Connect to the microcontroller's power pin
GND Ground Connect to the microcontroller's ground pin
SCL I2C Clock Line Connect to the microcontroller's SCL pin
SDA I2C Data Line Connect to the microcontroller's SDA pin

Usage Instructions

Connecting the ENV3 to a Microcontroller

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. I2C Communication: Connect the SCL and SDA pins to the corresponding I2C pins on your microcontroller.
  3. Library Installation: If using an Arduino, install the M5Stack library from the Arduino Library Manager for easy integration.

Example Code for Arduino UNO

Below is an example of how to use the ENV3 module with an Arduino UNO to read temperature, humidity, and pressure data:

#include <Wire.h>
#include <M5_ENV.h> // Include the M5Stack ENV library

SHT3X sht30; // Initialize the temperature and humidity sensor
QMP6988 qmp6988; // Initialize the pressure sensor

void setup() {
  Serial.begin(115200); // Start serial communication at 115200 baud
  Wire.begin(); // Initialize I2C communication

  // Initialize the sensors
  if (!sht30.begin()) {
    Serial.println("Failed to initialize SHT3X sensor!");
    while (1); // Halt execution if initialization fails
  }
  if (!qmp6988.init()) {
    Serial.println("Failed to initialize QMP6988 sensor!");
    while (1); // Halt execution if initialization fails
  }
}

void loop() {
  // Read temperature and humidity from SHT3X
  float temperature = sht30.getTemperature();
  float humidity = sht30.getHumidity();

  // Read pressure from QMP6988
  float pressure = qmp6988.calcPressure();

  // Print the sensor readings to the Serial Monitor
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" °C");

  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.println(" %");

  Serial.print("Pressure: ");
  Serial.print(pressure);
  Serial.println(" hPa");

  delay(1000); // Wait for 1 second before the next reading
}

Important Considerations

  • Ensure the I2C address of the ENV3 module does not conflict with other devices on the same bus.
  • Use appropriate pull-up resistors on the I2C lines if not already provided by the module.
  • Avoid exposing the module to extreme environmental conditions beyond its operating range.

Troubleshooting and FAQs

Common Issues

  1. No Data from the Sensor

    • Cause: Incorrect wiring or loose connections.
    • Solution: Double-check the wiring and ensure all connections are secure.
  2. I2C Communication Failure

    • Cause: Incorrect I2C address or conflicting devices on the bus.
    • Solution: Verify the I2C address of the ENV3 module and ensure no address conflicts.
  3. Inaccurate Readings

    • Cause: Environmental interference or sensor calibration issues.
    • Solution: Place the sensor in a stable environment and ensure it is not exposed to direct heat or moisture.

FAQs

Q: Can the ENV3 module be used with 5V microcontrollers?
A: Yes, the ENV3 module supports both 3.3V and 5V power supplies, making it compatible with most microcontrollers.

Q: What is the default I2C address of the ENV3 module?
A: The ENV3 module uses multiple sensors, each with its own I2C address. Refer to the M5Stack documentation for specific addresses.

Q: How can I extend the I2C cable length?
A: Use shielded cables and add pull-up resistors to maintain signal integrity over longer distances.

Q: Is the ENV3 module waterproof?
A: No, the ENV3 module is not waterproof. Avoid exposing it to water or high humidity levels beyond its operating range.