{"title":"Sensors - Current Sensor","description":"","products":[{"product_id":"currentsensoracs712elc-20a","title":"ACS712ELC-20A Current Sensor | Hall Effect 20A Module","description":"\n\u003ch2\u003eACS712ELC-20A Current Sensor - Hall-Effect Analog Current Measurement Module for Arduino\u003c\/h2\u003e\n\u003cp\u003eThe TB-ACS712 current sensor module is based on the ACS712ELC-20A Hall-effect current sensor and provides an analog voltage proportional to current through the measurement path. It is useful for DC motor current monitoring, battery projects, power experiments, and overload detection in Arduino-style systems.\u003c\/p\u003e\n\u003cp\u003eThe Allegro ACS712 family provides galvanic isolation between the sensed conductor and low-voltage signal side through Hall-effect measurement. Use it with the \u003ca href=\"https:\/\/upenelab.com\/products\/elab-nano-v3-board-ch340\"\u003eELAB Nano V3\u003c\/a\u003e, \u003ca href=\"https:\/\/upenelab.com\/products\/uno-expansion-board\"\u003eUNO R3 Prototype Expansion Board\u003c\/a\u003e, or logging projects that combine voltage and current measurement.\u003c\/p\u003e\n\u003cp\u003eFor accurate readings, calibrate zero-current offset and keep traces and terminals within the module rating. The 20A variant has a different sensitivity than 5A or 30A ACS712 boards, so use code constants for the correct version.\u003c\/p\u003e\n\n\u003ch2\u003eTechnical Specifications\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n  \u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eSKU\u003c\/td\u003e\n\u003ctd\u003eTB-ACS712\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSensor IC\u003c\/td\u003e\n\u003ctd\u003eACS712ELC-20A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMeasurement Principle\u003c\/td\u003e\n\u003ctd\u003eHall-effect current sensing\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNominal Current Variant\u003c\/td\u003e\n\u003ctd\u003e20A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput\u003c\/td\u003e\n\u003ctd\u003eAnalog voltage proportional to current\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupply\u003c\/td\u003e\n\u003ctd\u003e5V typical ACS712 module systems\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIsolation\u003c\/td\u003e\n\u003ctd\u003eHall-effect isolation between current path and signal side\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eZero Current Output\u003c\/td\u003e\n\u003ctd\u003eApproximately VCC\/2 on typical ACS712 circuits\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHost Requirement\u003c\/td\u003e\n\u003ctd\u003eADC input\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApplications\u003c\/td\u003e\n\u003ctd\u003eMotor current, power monitoring, overload detection\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch2\u003eBoard Layout \u0026amp; Label Guide\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eIP+ \/ IP-\u003c\/strong\u003e - High-current measurement path terminals.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003c\/strong\u003e - 5V sensor supply.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e - Signal ground.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT\u003c\/strong\u003e - Analog output to ADC.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eACS712 IC\u003c\/strong\u003e - Hall-effect current sensor.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCurrent Direction\u003c\/strong\u003e - Output increases or decreases depending on current direction.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCalibration Note\u003c\/strong\u003e - Measure zero-current offset before use.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSafety Note\u003c\/strong\u003e - Keep current and voltage within module limits.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eApplication Scenarios\u003c\/h2\u003e\n\u003ch3\u003e1. Arduino Current Read\u003c\/h3\u003e\n\u003cp\u003eRead analog output and convert using a 20A ACS712 sensitivity estimate.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003econst int currentPin = A0;\nconst float vcc = 5.0;\nconst float sensitivity = 0.100;\n\nvoid setup() {\n  Serial.begin(115200);\n}\n\nvoid loop() {\n  int adc = analogRead(currentPin);\n  float voltage = adc * vcc \/ 1023.0;\n  float current = (voltage - vcc \/ 2.0) \/ sensitivity;\n  Serial.println(current);\n  delay(500);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003e2. Zero Offset Calibration\u003c\/h3\u003e\n\u003cp\u003eAverage ADC readings with no current flowing.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003elong total = 0;\n\nvoid setup() {\n  Serial.begin(115200);\n  for (int i = 0; i \u0026lt; 500; i++) {\n    total += analogRead(A0);\n    delay(2);\n  }\n  Serial.println(total \/ 500.0);\n}\n\nvoid loop() {}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003e3. Overcurrent Alarm\u003c\/h3\u003e\n\u003cp\u003eTrigger an LED when measured current exceeds a threshold.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003econst int ledPin = 13;\n\nvoid setup() {\n  pinMode(ledPin, OUTPUT);\n}\n\nvoid loop() {\n  int adc = analogRead(A0);\n  digitalWrite(ledPin, adc \u0026gt; 650 || adc \u0026lt; 374 ? HIGH : LOW);\n  delay(100);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003ePacking List\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1 x ACS712ELC-20A Current Sensor Module\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eQ: What current version is this?\u003c\/strong\u003e\u003cbr\u003eA: The title identifies ACS712ELC-20A, the 20A variant.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Is output digital?\u003c\/strong\u003e\u003cbr\u003eA: No, it is analog.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it measure bidirectional current?\u003c\/strong\u003e\u003cbr\u003eA: Yes, ACS712-style output is centered around VCC\/2.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Do I need calibration?\u003c\/strong\u003e\u003cbr\u003eA: Yes, zero-current offset calibration improves accuracy.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it measure AC current?\u003c\/strong\u003e\u003cbr\u003eA: It can sense bidirectional current, but RMS calculation is required for AC.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: What ADC voltage should I expect at zero current?\u003c\/strong\u003e\u003cbr\u003eA: Approximately half the supply voltage.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I exceed 20A?\u003c\/strong\u003e\u003cbr\u003eA: No, stay within module and connector limits.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Is it isolated?\u003c\/strong\u003e\u003cbr\u003eA: The Hall-effect sensor provides isolation between conductor and signal side within IC ratings.\u003c\/p\u003e\n","brand":"OpenELAB","offers":[{"title":"Default Title","offer_id":43491356606662,"sku":"TB-ACS712","price":4.19,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/acs712-20a-ampere-stromsensor-range-modul-current-sensor-kompatibel-mit-arduino-555047_a9ae208e-b9d3-4226-91bb-f7476d45dde4.png?v=1770801004"},{"product_id":"infrared-tracking-sensor-fixed-distance","title":"Infrared Tracking Sensor | Fixed Distance | 1-20mm","description":"\u003ch2\u003eInfrared Tracking Sensor with Fixed Distance Digital Output\u003c\/h2\u003e\n\u003cp\u003eThis Infrared Tracking Sensor is built for line-following cars and reflective target detection. It uses an infrared transmitter and receiver pair with fixed threshold behavior, reducing the need for manual potentiometer adjustment during robot setup.\u003c\/p\u003e\n\u003cp\u003eThe module outputs a digital signal after reflected infrared light is processed by a Schmitt trigger or inverter circuit. It works from 3.3 V to 5 V and can connect directly to microcontroller GPIO pins or the \u003ca href=\"https:\/\/upenelab.com\/products\/sensor-shield-expansion-board-v5\" target=\"_blank\"\u003eSensor Shield Expansion Board V5\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003eMount the sensor close to the surface for best results. Reflective response depends on distance, ambient light, surface color, and the angle between the sensor and target.\u003c\/p\u003e\n\u003ch2\u003eTechnical Specifications\u003c\/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eSensor type\u003c\/td\u003e\n\u003ctd\u003eInfrared reflection tracking sensor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDetection principle\u003c\/td\u003e\n\u003ctd\u003eIR emitter and receiver reflection\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput type\u003c\/td\u003e\n\u003ctd\u003eDigital signal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating voltage\u003c\/td\u003e\n\u003ctd\u003e3.3 V to 5 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDetection distance\u003c\/td\u003e\n\u003ctd\u003e1 mm to 20 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eThreshold style\u003c\/td\u003e\n\u003ctd\u003eFixed-distance design, no routine adjustment required\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIndicator\u003c\/td\u003e\n\u003ctd\u003eBlue detection indicator LED\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eConnector\u003c\/td\u003e\n\u003ctd\u003e2.54 mm pitch 3-pin header\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePinout\u003c\/td\u003e\n\u003ctd\u003eGND, VCC, S\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRecommended use\u003c\/td\u003e\n\u003ctd\u003eLine-following robot and reflective mark detection\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDevelopment support\u003c\/td\u003e\n\u003ctd\u003eArduino, ESP32, STM32, Raspberry Pi Pico GPIO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eBoard Layout \u0026amp; Label Guide\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eIR transmitter:\u003c\/strong\u003e Sends infrared light toward the surface.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIR receiver:\u003c\/strong\u003e Reads reflected light from the target.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eG pin:\u003c\/strong\u003e Ground connection.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eV pin:\u003c\/strong\u003e Power input, 3.3 V to 5 V.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eS pin:\u003c\/strong\u003e Digital output signal.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIndicator LED:\u003c\/strong\u003e Shows active detection state.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMounting height:\u003c\/strong\u003e Keep within the 1-20 mm response range.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eApplication Scenarios\u003c\/h2\u003e\n\u003ch3\u003e1. Line Detection for Robot Chassis\u003c\/h3\u003e\n\u003cp\u003eUse Infrared Tracking Sensor as a digital line sensor. The output is commonly active-low when a reflective target is detected, so the code prints line state for calibration.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003econst int SENSOR_PIN = 2;\n\nvoid setup() {\n  pinMode(SENSOR_PIN, INPUT);\n  Serial.begin(115200);\n}\n\nvoid loop() {\n  bool activeLow = digitalRead(SENSOR_PIN) == LOW;\n  Serial.println(activeLow ? \"line_or_reflection_detected\" : \"background\");\n  delay(50);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003e2. Two-Motor Line Following Logic\u003c\/h3\u003e\n\u003cp\u003eA single sensor can be used for simple demonstrations, or duplicated left\/right for a basic line-following robot.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003econst int LEFT_SENSOR = 2;\nconst int RIGHT_SENSOR = 3;\nconst int LEFT_MOTOR = 5;\nconst int RIGHT_MOTOR = 6;\n\nvoid setup() {\n  pinMode(LEFT_SENSOR, INPUT);\n  pinMode(RIGHT_SENSOR, INPUT);\n  pinMode(LEFT_MOTOR, OUTPUT);\n  pinMode(RIGHT_MOTOR, OUTPUT);\n}\n\nvoid loop() {\n  bool left = digitalRead(LEFT_SENSOR) == LOW;\n  bool right = digitalRead(RIGHT_SENSOR) == LOW;\n  analogWrite(LEFT_MOTOR, right ? 180 : 90);\n  analogWrite(RIGHT_MOTOR, left ? 180 : 90);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003e3. Object or Mark Counter\u003c\/h3\u003e\n\u003cp\u003eCount passing marks, slots, or reflective labels with a debounce interval to prevent repeated triggers.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003econst int SENSOR_PIN = 2;\nunsigned long lastHit = 0;\nunsigned long count = 0;\n\nvoid setup() {\n  pinMode(SENSOR_PIN, INPUT);\n  Serial.begin(115200);\n}\n\nvoid loop() {\n  bool detected = digitalRead(SENSOR_PIN) == LOW;\n  if (detected \u0026amp;\u0026amp; millis() - lastHit \u0026gt; 150) {\n    count++;\n    lastHit = millis();\n    Serial.println(count);\n  }\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch2\u003ePacking List\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1 x Infrared Tracking Sensor Fixed Distance\u003c\/li\u003e\n\n\u003c\/ul\u003e\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can this module work with Arduino?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Connect VCC, GND, and the signal pin to an Arduino-compatible board or an \u003ca href=\"https:\/\/upenelab.com\/products\/sensor-shield-expansion-board-v5\" target=\"_blank\"\u003eOpenELAB Sensor Shield V5\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it work with 3.3 V controllers?\u003c\/strong\u003e\u003cbr\u003eA: Yes for the listed 3.3 V to 5 V modules, but keep analog output within the controller ADC range.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Is calibration required?\u003c\/strong\u003e\u003cbr\u003eA: For threshold or quantitative use, calibrate in the final installation and record baseline readings.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I use long wires?\u003c\/strong\u003e\u003cbr\u003eA: Shorter wires are better for analog stability; use averaging in firmware if readings fluctuate.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Does the module output precise engineering units?\u003c\/strong\u003e\u003cbr\u003eA: Most of these modules provide relative analog or digital signals, not certified measurement data.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: What should I check first if it does not trigger?\u003c\/strong\u003e\u003cbr\u003eA: Verify power, ground, pin mapping, threshold setting, and whether the signal is active-high or active-low.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Is it suitable outdoors?\u003c\/strong\u003e\u003cbr\u003eA: Only with enclosure protection. Keep connectors and electronics away from water and corrosion.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it drive a relay or motor directly?\u003c\/strong\u003e\u003cbr\u003eA: No. Use the module as an input to a controller, then drive a suitable relay or motor driver.\u003c\/p\u003e","brand":"OpenELAB","offers":[{"title":"Default Title","offer_id":44002707210438,"sku":"240806000051","price":0.76,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/09-Multipleviews_36a89184-9518-48bf-b69b-187af49c7d29.jpg?v=1770805285"},{"product_id":"grove-laser-pm2-5-dust-sensor","title":"Grove HM3301 | Laser PM2.5 Dust Sensor | I2C","description":"\u003ch2\u003eGrove HM3301 Laser PM2.5 Dust Sensor for I2C Air Quality Monitoring\u003c\/h2\u003e\n\u003cp\u003eThe Grove HM3301 Laser PM2.5 Dust Sensor measures airborne particulate matter for indoor air-quality projects. It reports PM1.0, PM2.5, and PM10-style dust concentration data and is a strong choice for smart purifier prototypes, HVAC experiments, environmental dashboards, and IoT monitoring nodes.\u003c\/p\u003e\n\u003cp\u003eThe sensor uses laser light scattering and an internal airflow path for continuous detection. Its Grove connector makes wiring quick with the \u003ca href=\"https:\/\/upenelab.com\/products\/seeed-studio-grove-base-shield-v2-0\" target=\"_blank\"\u003eSeeed Grove Base Shield V2\u003c\/a\u003e, and the \u003ca href=\"https:\/\/wiki.seeedstudio.com\/Grove-Laser_PM2.5_Sensor-HM3301\/\" target=\"_blank\"\u003eSeeed HM3301 wiki\u003c\/a\u003e provides additional library and protocol information.\u003c\/p\u003e\n\u003cp\u003eUse the sensor in locations with natural airflow and keep the air inlet unobstructed. It measures particles, not gas concentration, so combine it with CO2 or VOC sensors when a full indoor air-quality station is required.\u003c\/p\u003e\n\u003ch2\u003eTechnical Specifications\u003c\/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eSensor model\u003c\/td\u003e\n\u003ctd\u003eHM3301 laser particulate matter sensor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMeasured channels\u003c\/td\u003e\n\u003ctd\u003ePM1.0, PM2.5, PM10 concentration data\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDetection principle\u003c\/td\u003e\n\u003ctd\u003eLaser light scattering\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMinimum particle class\u003c\/td\u003e\n\u003ctd\u003e0.3 micrometer and larger class detection\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInterface\u003c\/td\u003e\n\u003ctd\u003eGrove 4-pin connector \/ I2C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eI2C address\u003c\/td\u003e\n\u003ctd\u003e0x40 commonly used by HM3301 modules\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSampling style\u003c\/td\u003e\n\u003ctd\u003eContinuous real-time dust concentration detection\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAirflow method\u003c\/td\u003e\n\u003ctd\u003eInternal fan \/ airflow path\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatible controllers\u003c\/td\u003e\n\u003ctd\u003eArduino, Seeed Grove systems, ESP32, Raspberry Pi Pico with I2C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTypical applications\u003c\/td\u003e\n\u003ctd\u003eAir purifiers, HVAC monitoring, IoT air-quality nodes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDevelopment support\u003c\/td\u003e\n\u003ctd\u003eSeeed Arduino HM330X library and I2C examples\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eBoard Layout \u0026amp; Label Guide\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eAir inlet:\u003c\/strong\u003e Keep clear so the sample air can enter the sensing chamber.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAir outlet:\u003c\/strong\u003e Do not block exhaust airflow.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLaser sensing chamber:\u003c\/strong\u003e Protect from heavy dust, condensation, and oil mist.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGrove connector:\u003c\/strong\u003e Carries VCC, GND, SDA, and SCL.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSDA line:\u003c\/strong\u003e I2C data line to the controller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSCL line:\u003c\/strong\u003e I2C clock line to the controller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMounting direction:\u003c\/strong\u003e Place the module where it samples representative room air.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eApplication Scenarios\u003c\/h2\u003e\n\u003ch3\u003e1. I2C Connection Check\u003c\/h3\u003e\n\u003cp\u003eConfirm that the HM3301 sensor answers on the I2C bus before building a full air-quality project.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e#include \u0026amp;lt;Wire.h\u0026amp;gt;\n\nconst byte HM3301_ADDR = 0x40;\n\nvoid setup() {\n  Serial.begin(115200);\n  Wire.begin();\n}\n\nvoid loop() {\n  Wire.beginTransmission(HM3301_ADDR);\n  byte error = Wire.endTransmission();\n  Serial.println(error == 0 ? \"HM3301 detected\" : \"HM3301 not found\");\n  delay(1000);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003e2. Read Raw Particle Frame\u003c\/h3\u003e\n\u003cp\u003eRead the raw I2C data frame so you can verify communication and integrate a library parser.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e#include \u0026amp;lt;Wire.h\u0026amp;gt;\n\nconst byte HM3301_ADDR = 0x40;\n\nvoid setup() {\n  Serial.begin(115200);\n  Wire.begin();\n}\n\nvoid loop() {\n  Wire.requestFrom(HM3301_ADDR, 29);\n  while (Wire.available()) {\n    byte b = Wire.read();\n    if (b \u0026lt; 16) Serial.print(\"0\");\n    Serial.print(b, HEX);\n    Serial.print(\" \");\n  }\n  Serial.println();\n  delay(1000);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003e3. Air Quality Alarm Output\u003c\/h3\u003e\n\u003cp\u003eUse a parsed PM2.5 value from your library and drive an alarm output when the reading is high.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003econst int ALARM_PIN = 8;\nint pm25 = 0; \/\/ Replace with the PM2.5 value returned by your HM3301 library.\n\nvoid setup() {\n  pinMode(ALARM_PIN, OUTPUT);\n}\n\nvoid loop() {\n  digitalWrite(ALARM_PIN, pm25 \u0026gt; 75 ? HIGH : LOW);\n  delay(1000);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch2\u003ePacking List\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1 x Grove Laser PM2.5 Dust Sensor HM3301\u003c\/li\u003e\n\n\u003c\/ul\u003e\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Does it measure CO2 or VOC?\u003c\/strong\u003e\u003cbr\u003eA: No. It measures particulate matter, not gas concentration.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: What does PM2.5 mean?\u003c\/strong\u003e\u003cbr\u003eA: PM2.5 refers to fine particulate matter around 2.5 micrometers or smaller.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it run continuously?\u003c\/strong\u003e\u003cbr\u003eA: Yes. It is designed for real-time continuous dust concentration detection.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Why do readings change near a fan or window?\u003c\/strong\u003e\u003cbr\u003eA: Airflow changes the particle concentration reaching the inlet.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Does it need cleaning?\u003c\/strong\u003e\u003cbr\u003eA: Keep the inlet clear and protect the chamber from heavy dust, moisture, and oil mist.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it work with Arduino?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Use the Grove connection and an HM3301-compatible I2C library.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Is it suitable for outdoor monitoring?\u003c\/strong\u003e\u003cbr\u003eA: Only inside a protected enclosure with controlled airflow and moisture protection.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can it trigger an air purifier?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Use PM2.5 thresholds in firmware to control a relay or fan system.\u003c\/p\u003e","brand":"OpenELAB","offers":[{"title":"Default Title","offer_id":44012021743814,"sku":"240812000071","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/httpsstatics3.seeedstudio.comseeedfile2018-11bazaar995117_perspective.jpg?v=1770805854"},{"product_id":"co2l-unit","title":"M5Stack CO2L Unit with Temperature and Humidity Sensor","description":"\u003ch2\u003eDescription\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eM5Stack CO2L Unit\u003c\/strong\u003e is a compact digital air quality unit for CO2 concentration, temperature, and humidity monitoring. It uses Sensirion's SCD41 sensor, an integrated power step-down circuit, and an I2C interface, making it easy to add environmental sensing to M5Stack controllers and automation projects.\u003c\/p\u003e\n\u003cp\u003eThe \u003cstrong\u003eCO2 temperature humidity sensor\u003c\/strong\u003e measures CO2 from 400 ppm to 5000 ppm with typical CO2 accuracy of +\/-(40 ppm + 5% of reading). Low-power single measurement support makes the \u003cstrong\u003eI2C CO2L environmental sensor\u003c\/strong\u003e useful for periodic air quality checks, indoor monitoring, and battery-conscious systems.\u003c\/p\u003e\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCO2 concentration detection:\u003c\/strong\u003e SCD41 sensor supports 400 ppm to 5000 ppm measurement range.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTemperature and humidity monitoring:\u003c\/strong\u003e reads ambient temperature from -10 to 60 degC and humidity from 0 to 95 %RH.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLow power mode:\u003c\/strong\u003e supports single measurement operation for reduced power use.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eI2C interface:\u003c\/strong\u003e communicates at address 0x62 through the HY2.0 4P Grove connector.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrated power conversion:\u003c\/strong\u003e onboard 5V to 3.3V LDO supports the sensor circuit.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMounting friendly:\u003c\/strong\u003e includes two LEGO compatible holes for quick fixture and enclosure use.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eSpecifications\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSensor\u003c\/td\u003e\n\u003ctd\u003eSCD41\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCO2 Range\u003c\/td\u003e\n\u003ctd\u003e400 to 5000 ppm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCO2 Accuracy\u003c\/td\u003e\n\u003ctd\u003e+\/-(40 ppm + 5% of reading)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eTemperature Range\u003c\/td\u003e\n\u003ctd\u003e-10 to 60 degC\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eHumidity Range\u003c\/td\u003e\n\u003ctd\u003e0 to 95 %RH\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCommunication Interface\u003c\/td\u003e\n\u003ctd\u003eI2C @0x62\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eConnector\u003c\/td\u003e\n\u003ctd\u003eHY2.0 4P\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003ePower Conversion\u003c\/td\u003e\n\u003ctd\u003eIntegrated 5V to 3.3V LDO\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eProduct Size\u003c\/td\u003e\n\u003ctd\u003e48.0 x 24.0 x 16.0mm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eProduct Weight\u003c\/td\u003e\n\u003ctd\u003e7.5g\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003ePackage Size\u003c\/td\u003e\n\u003ctd\u003e138.0 x 93.0 x 17.0mm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eGross Weight\u003c\/td\u003e\n\u003ctd\u003e12.8g\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eApplications\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eIndoor CO2 concentration detection\u003c\/li\u003e\n  \u003cli\u003eTemperature and humidity monitoring\u003c\/li\u003e\n  \u003cli\u003eSmart home air quality sensing\u003c\/li\u003e\n  \u003cli\u003eClassroom, office, and workshop ventilation monitoring\u003c\/li\u003e\n  \u003cli\u003eLow-power periodic environmental data collection\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eProduct List\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003eUnit CO2L\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003eHY2.0 connecting cable (20CM)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eOther Content\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eUnit CO2L\u003c\/strong\u003e uses a single-shot measurement mode for lower power operation. This is helpful when a project only needs periodic CO2, temperature, and humidity readings instead of continuous measurement.\u003c\/p\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003eGrove Pin\u003c\/td\u003e\n\u003ctd\u003eSignal\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBlack\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eRed\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eYellow\u003c\/td\u003e\n\u003ctd\u003eSDA\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eWhite\u003c\/td\u003e\n\u003ctd\u003eSCL\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eBefore installation, keep airflow around the sensor opening unobstructed and avoid placing the \u003cstrong\u003eCO2 temperature humidity sensor\u003c\/strong\u003e next to direct heat sources, condensation, or strong drafts that could distort environmental readings.\u003c\/p\u003e\n\u003ch2\u003eResources\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/products\/sku\/U104\" target=\"_blank\"\u003eProduct documentation\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/591\/SCH_UNIT_CO2L.pdf\" target=\"_blank\"\u003eSchematic PDF\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/591\/SCH_UNIT_CO2L_sch_01.png\" target=\"_blank\"\u003eSchematic image\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/datasheet\/unit\/co2\/SCD41.pdf\" target=\"_blank\"\u003eSCD41 datasheet\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/datasheet\/unit\/co2\/VRH3301NLX.pdf\" target=\"_blank\"\u003eVRH3301NLX datasheet\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/datasheet\/unit\/co2\/pinmap.png\" target=\"_blank\"\u003ePin map\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5Unit-ENV\/blob\/master\/examples\/Unit_CO2_M5Core\/Unit_CO2_M5Core.ino\" target=\"_blank\"\u003eArduino example for M5Core\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5Unit-ENV\/blob\/master\/examples\/Unit_CO2_M5Atom\/Unit_CO2_M5Atom.ino\" target=\"_blank\"\u003eArduino example for M5Atom\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/uiflow\/blockly\/unit\/co2l\" target=\"_blank\"\u003eUIFlow1 documentation\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/uiflow-micropython.readthedocs.io\/en\/latest\/unit\/co2l.html\" target=\"_blank\"\u003eUIFlow2 documentation\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/products\/unit\/CO2L\/CO2L%20Unit.exe\" target=\"_blank\"\u003eEasyLoader test tool\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/homeassistant\/sensor\/unit_co2_co2l_sensor\" target=\"_blank\"\u003eHome Assistant integration\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003ch3\u003eWhat does the M5Stack CO2L Unit measure?\u003c\/h3\u003e\n\u003cp\u003eIt measures CO2 concentration, ambient temperature, and relative humidity through the SCD41 sensor.\u003c\/p\u003e\n\u003ch3\u003eWhat is the I2C address?\u003c\/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eM5Stack CO2L Unit\u003c\/strong\u003e communicates through I2C at address 0x62.\u003c\/p\u003e\n\u003ch3\u003eWhen should single measurement mode be used?\u003c\/h3\u003e\n\u003cp\u003eSingle measurement mode is useful for low-power projects that only need occasional air quality readings instead of continuous sampling.\u003c\/p\u003e","brand":"M5Stack","offers":[{"title":"Default Title","offer_id":44068368416966,"sku":"M5-U104","price":60.06,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/01_m5-u104_co2l_clean_white.webp?v=1783067669"},{"product_id":"co2-unit","title":"M5Stack CO2 Unit with Temperature and humidity Sensor (SCD40)","description":"\u003ch2\u003eDescription\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eM5Stack CO2 Unit\u003c\/strong\u003e is a compact digital air environment sensor for CO2 concentration, temperature, and humidity measurement. It integrates Sensirion's SCD40 sensor, a power step-down circuit, and Grove I2C communication, making it easy to add indoor air-quality sensing to M5Stack controllers and automation projects.\u003c\/p\u003e\n\u003cp\u003eThis \u003cstrong\u003eSCD40 CO2 sensor unit\u003c\/strong\u003e measures CO2 from 400 ppm to 2000 ppm with typical accuracy of ±(50 ppm + 5% of reading), while also reporting ambient temperature and relative humidity. With I2C address 0x62, HY2.0 4P connection, and a small enclosure with LEGO-compatible mounting holes, the \u003cstrong\u003eI2C CO2 temperature humidity sensor\u003c\/strong\u003e is suited for ventilation checks, smart home dashboards, and classroom monitoring.\u003c\/p\u003e\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCO2 concentration detection:\u003c\/strong\u003e SCD40 sensor supports 400 ppm to 2000 ppm measurement range.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTemperature and humidity measurement:\u003c\/strong\u003e monitors ambient temperature from -10 to 60 °C and humidity from 0 to 95 %RH.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eI2C communication:\u003c\/strong\u003e uses Grove I2C at address 0x62 for simple host integration.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrated power conversion:\u003c\/strong\u003e onboard 5V to 3.3V DC-DC circuit supports the sensor system.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eHY2.0 4P interface:\u003c\/strong\u003e connects directly to M5Stack controllers and Grove-compatible expansion ports.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMounting friendly:\u003c\/strong\u003e two LEGO-compatible holes simplify fixtures, enclosures, and teaching demos.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eSpecifications\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSensor\u003c\/td\u003e\n\u003ctd\u003eSCD40\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCO2 Measurement Range\u003c\/td\u003e\n\u003ctd\u003e400 to 2000 ppm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCO2 Sampling Accuracy\u003c\/td\u003e\n\u003ctd\u003e±(50 ppm + 5% of reading)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eTemperature Range\u003c\/td\u003e\n\u003ctd\u003e-10 to 60 °C\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eHumidity Range\u003c\/td\u003e\n\u003ctd\u003e0 to 95 %RH\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCommunication Protocol\u003c\/td\u003e\n\u003ctd\u003eI2C @0x62\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eInterface\u003c\/td\u003e\n\u003ctd\u003eHY2.0 4P\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003ePower Conversion\u003c\/td\u003e\n\u003ctd\u003eIntegrated 5V to 3.3V DC-DC\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eEnclosure Material\u003c\/td\u003e\n\u003ctd\u003ePlastic (PC)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eProduct Size\u003c\/td\u003e\n\u003ctd\u003e48.0 x 24.0 x 16.0mm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eProduct Weight\u003c\/td\u003e\n\u003ctd\u003e7.6g\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003ePackage Size\u003c\/td\u003e\n\u003ctd\u003e138.0 x 93.0 x 17.0mm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eGross Weight\u003c\/td\u003e\n\u003ctd\u003e13.0g\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eApplications\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eIndoor CO2 concentration detection\u003c\/li\u003e\n  \u003cli\u003eTemperature and humidity monitoring\u003c\/li\u003e\n  \u003cli\u003eSmart home air-quality dashboards\u003c\/li\u003e\n  \u003cli\u003eClassroom, office, and workshop ventilation monitoring\u003c\/li\u003e\n  \u003cli\u003eEnvironmental data logging with M5Stack controllers\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eProduct List\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003eUnit CO2\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003eHY2.0 connection cable (20CM)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eOther Content\u003c\/h2\u003e\n\u003cp\u003eFor stable readings, place the \u003cstrong\u003eM5Stack CO2 Unit\u003c\/strong\u003e where air can circulate around the ventilation openings. Avoid sealing the enclosure, covering the sensing area, or mounting the unit directly beside heat sources that can distort temperature, humidity, or CO2 values.\u003c\/p\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003eGrove Pin\u003c\/td\u003e\n\u003ctd\u003eSignal\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBlack\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eRed\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eYellow\u003c\/td\u003e\n\u003ctd\u003eSDA\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eWhite\u003c\/td\u003e\n\u003ctd\u003eSCL\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThe \u003cstrong\u003eSCD40 CO2 sensor unit\u003c\/strong\u003e is useful when a project needs air-quality context together with temperature and humidity, such as checking whether a room needs ventilation or logging environmental trends over time.\u003c\/p\u003e\n\u003ch2\u003eResources\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/products\/sku\/U103\" target=\"_blank\"\u003eProduct documentation\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/590\/SCH_UNIT_CO2.pdf\" target=\"_blank\"\u003eSchematic PDF\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/590\/SCH_UNIT_CO2_sch_01.png\" target=\"_blank\"\u003eSchematic image\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/products\/unit\/co2\/%E5%B0%BA%E5%AF%B8%E5%9B%BE.jpg\" target=\"_blank\"\u003eModel size drawing\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/datasheet\/unit\/co2\/SCD40.pdf\" target=\"_blank\"\u003eSCD40 datasheet\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/m5stack.oss-cn-shenzhen.aliyuncs.com\/resource\/docs\/datasheet\/unit\/co2\/SY8089AAAC.pdf\" target=\"_blank\"\u003eSY8089AAAC datasheet\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5Unit-ENV\/blob\/master\/examples\/Unit_CO2_M5Atom\/Unit_CO2_M5Atom.ino\" target=\"_blank\"\u003eArduino example for M5Atom\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5Unit-ENV\/blob\/master\/examples\/Unit_CO2_M5Core\/Unit_CO2_M5Core.ino\" target=\"_blank\"\u003eArduino example for M5Core\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5Unit-ENV\/blob\/master\/examples\/Unit_CO2_M5Core2\/Unit_CO2_M5Core2.ino\" target=\"_blank\"\u003eArduino example for M5Core2\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/uiflow\/blockly\/unit\/co2\" target=\"_blank\"\u003eUIFlow1 documentation\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/uiflow-micropython.readthedocs.io\/en\/latest\/unit\/co2.html\" target=\"_blank\"\u003eUIFlow2 documentation\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/homeassistant\/sensor\/unit_co2_co2l_sensor\" target=\"_blank\"\u003eHome Assistant integration\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003ch3\u003eWhat does the M5Stack CO2 Unit measure?\u003c\/h3\u003e\n\u003cp\u003eIt measures CO2 concentration, ambient temperature, and relative humidity through the SCD40 sensor.\u003c\/p\u003e\n\u003ch3\u003eWhat is the CO2 range?\u003c\/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eM5Stack CO2 Unit\u003c\/strong\u003e measures CO2 from 400 ppm to 2000 ppm.\u003c\/p\u003e\n\u003ch3\u003eWhat I2C address does it use?\u003c\/h3\u003e\n\u003cp\u003eThe unit communicates through Grove I2C at address 0x62.\u003c\/p\u003e","brand":"M5Stack","offers":[{"title":"Default Title","offer_id":44070330433734,"sku":"M5-U103","price":39.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/01_m5-u103_co2_clean_white.webp?v=1783070914"},{"product_id":"m5stack-io-module-for-stamplc-ina226aidgsr","title":"M5Stack IO Module for StamPLC INA226AIDGSR","description":"\u003ch2\u003eDescription\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eM5Stack StamPLC IO module\u003c\/strong\u003e is an electrically isolated \u003cstrong\u003eIO expansion module for StamPLC\u003c\/strong\u003e. It is built for industrial environments where high-voltage and low-voltage circuits coexist, and it adds two active analog input channels, two solid-state relay outputs, and one mechanical relay output.\u003c\/p\u003e\u003cp\u003eThe StamPLC IO module uses an \u003cstrong\u003eSTM32G030F6P6\u003c\/strong\u003e controller, \u003cstrong\u003eINA226AIDGSR\u003c\/strong\u003e voltage\/current monitor, CA-IS3020S I2C isolator, and B0505M-2WR3 isolated power module. This architecture electrically separates the communication bus from the power circuit, reduces common-mode interference, and supports sensor acquisition, actuator switching, and isolated IO expansion in automation projects.\u003c\/p\u003e\u003ch2\u003eFeatures\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eStamPLC IO module\u003c\/strong\u003e for isolated industrial input and output expansion.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e2 active analog input channels\u003c\/strong\u003e for DC 0 to 10V voltage-output sensors and 0 to 20mA current-output sensors.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e2 solid-state relay channels\u003c\/strong\u003e for DC 0 to 60V, max 2.5A switching circuits.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e1 mechanical relay\u003c\/strong\u003e for AC 250V at 5A or DC 28V at 5A switching loads.\u003c\/li\u003e\n\u003cli\u003eSTM32G030F6P6 main controller with I2C communication.\u003c\/li\u003e\n\u003cli\u003eCA-IS3020S I2C isolator and B0505M-2WR3 isolated power module.\u003c\/li\u003e\n\u003cli\u003e4-position DIP switch for I2C address range 0x20 to 0x2F and multi-module cascading.\u003c\/li\u003e\n\u003cli\u003eStatus LEDs, input\/output protection circuits, DIN rail mounting, and mounting-hole installation.\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eSpecifications\u003c\/h2\u003e\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eSKU\u003c\/td\u003e\n\u003ctd\u003eM5-A176\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOfficial SKU\u003c\/td\u003e\n\u003ctd\u003eA176\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Name\u003c\/td\u003e\n\u003ctd\u003eStamPLC IO Module\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMCU\u003c\/td\u003e\n\u003ctd\u003eSTM32G030F6P6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCommunication\u003c\/td\u003e\n\u003ctd\u003eI2C at 0x20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eI2C Isolator\u003c\/td\u003e\n\u003ctd\u003eCA-IS3020S\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIsolated Power Module\u003c\/td\u003e\n\u003ctd\u003eB0505M-2WR3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePower Conversion\u003c\/td\u003e\n\u003ctd\u003eTPAP7343D-33FS4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage \/ Current Monitor\u003c\/td\u003e\n\u003ctd\u003eINA226AIDGSR\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDetection Channels\u003c\/td\u003e\n\u003ctd\u003e2 analog signal detection channels, compatible with 0 to 20mA and 0 to 10V analog acquisition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMOS Switch Output\u003c\/td\u003e\n\u003ctd\u003e2 solid-state relay outputs, MOS1 \/ MOS2, common terminal COM, DC 0 to 60V, max 2.5A switching\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRelay Output\u003c\/td\u003e\n\u003ctd\u003e1 SRD-5VDC-SL-C mechanical relay, N.C \/ COM \/ N.O terminals, AC 250V at 5A or DC 28V at 5A switching\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAddress Configuration\u003c\/td\u003e\n\u003ctd\u003e4-position DIP switch, configurable I2C address range 0x20 to 0x2F\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Interface Type\u003c\/td\u003e\n\u003ctd\u003e2 x 3P switch output \/ relay terminals, 1 x 6P input terminal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInstallation\u003c\/td\u003e\n\u003ctd\u003eDIN rail mounting \/ mounting hole\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Size\u003c\/td\u003e\n\u003ctd\u003e51.4 x 80.0 x 27.1mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Weight\u003c\/td\u003e\n\u003ctd\u003e62.1g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackage Size\u003c\/td\u003e\n\u003ctd\u003e84.0 x 56.0 x 29.0mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGross Weight\u003c\/td\u003e\n\u003ctd\u003e69.2g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003ch2\u003eApplications\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eIndustrial automation and isolated IO expansion for StamPLC systems.\u003c\/li\u003e\n\u003cli\u003e0 to 10V voltage acquisition and 0 to 20mA current sensor monitoring.\u003c\/li\u003e\n\u003cli\u003eSwitching external actuators, relay dry contacts, and low-voltage loads.\u003c\/li\u003e\n\u003cli\u003eMulti-module IO expansion through configurable I2C addresses.\u003c\/li\u003e\n\u003cli\u003eField-test panels, control-cabinet prototypes, process monitoring, and sensor power management.\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eProduct List\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e1 x StamPLC IO module\u003c\/li\u003e\n\u003cli\u003e2 x mounting bracket\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eOther Content\u003c\/h2\u003e\u003cp\u003ePlan the \u003cstrong\u003eM5Stack StamPLC IO module\u003c\/strong\u003e with clear separation between signal acquisition, relay loads, and the communication bus. For multi-module installations, set the DIP switch address before mounting. When connecting AC mains to the mechanical relay, follow proper safety procedures and use suitable electrical protection.\u003c\/p\u003e\u003cp\u003eThe official voltage wiring diagram shows how an active device under test connects to IN+ and ISO GND on an input channel.\u003c\/p\u003e\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/m5-a176-global-voltage-wiring-20260717a_1fb9f3f1-5471-491d-a2a4-d9c4347867d0.webp?v=1784271934\" alt=\"StamPLC IO voltage sensor wiring\"\u003e\u003c\/p\u003e\u003cp\u003eFor current measurement, the active device under test connects to IN+ and IN-, which is useful for 0 to 20mA industrial sensor signals.\u003c\/p\u003e\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/m5-a176-global-current-wiring-20260717a_0ae139d8-4c94-4449-972a-2be4ba3ae9c5.webp?v=1784271939\" alt=\"StamPLC IO current sensor wiring\"\u003e\u003c\/p\u003e\u003cp\u003eThe relay wiring diagram shows the mechanical relay N.C \/ COM \/ N.O contacts and MOS switch outputs. Follow proper safety procedures when working with 220V AC circuits.\u003c\/p\u003e\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/m5-a176-global-relay-wiring-20260717a_e7f96611-5753-4d9c-b98c-799f57abec92.webp?v=1784271944\" alt=\"StamPLC IO relay wiring\"\u003e\u003c\/p\u003e\u003cp\u003eThe model size drawing helps confirm DIN rail layout, enclosure clearance, and mounting-hole fit.\u003c\/p\u003e\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/m5-a176-global-model-size-20260717a.webp?v=1784271950\" alt=\"StamPLC IO model size drawing\"\u003e\u003c\/p\u003e\u003cp\u003eThe protocol overview is useful when addressing or cascading multiple StamPLC IO modules over I2C.\u003c\/p\u003e\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/m5-a176-global-protocol-20260717a.webp?v=1784271955\" alt=\"StamPLC IO I2C protocol overview\"\u003e\u003c\/p\u003e\u003ch2\u003eResources\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/docs.m5stack.com\/en\/products\/sku\/A176\" target=\"_blank\" rel=\"nofollow noopener\"\u003eOfficial StamPLC IO documentation\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/1257\/SCH_StamPLC_IO_SCH_V0.5_20260430_2026_07_02_18_04_04.pdf\" target=\"_blank\" rel=\"nofollow noopener\"\u003eStamPLC IO schematic PDF\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/1257\/A176_StamPLC_IO_model_size.pdf\" target=\"_blank\" rel=\"nofollow noopener\"\u003eStamPLC IO model size PDF\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/1257\/StamPLC_IO-I2C-Protocol-EN-V1.0.pdf\" target=\"_blank\" rel=\"nofollow noopener\"\u003eStamPLC IO I2C protocol PDF\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5StamPLC\/tree\/main\/examples\/Modules\/StamPLC_IO\" target=\"_blank\" rel=\"nofollow noopener\"\u003eM5Stack Arduino example on GitHub\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/m5stack\/M5StamPLC-IO-Internal-FW\" target=\"_blank\" rel=\"nofollow noopener\"\u003eM5Stack internal firmware on GitHub\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eFAQ\u003c\/h2\u003e\u003ch3\u003eWhat is the StamPLC IO module used for?\u003c\/h3\u003e\u003cp\u003eIt expands StamPLC projects with isolated analog inputs, solid-state relay outputs, and a mechanical relay for industrial sensor and actuator tasks.\u003c\/p\u003e\u003ch3\u003eWhich sensor signals can it acquire?\u003c\/h3\u003e\u003cp\u003eThe official specifications list DC 0 to 10V voltage-output sensors and 0 to 20mA current-output sensors.\u003c\/p\u003e\u003ch3\u003eWhat relay outputs are available?\u003c\/h3\u003e\u003cp\u003eIt provides two solid-state relay channels for DC 0 to 60V max 2.5A, plus one mechanical relay for AC 250V at 5A or DC 28V at 5A.\u003c\/p\u003e\u003ch3\u003eCan multiple StamPLC IO modules be cascaded?\u003c\/h3\u003e\u003cp\u003eYes. The 4-position DIP switch supports a configurable I2C address range from 0x20 to 0x2F.\u003c\/p\u003e\u003ch3\u003eIs the module electrically isolated?\u003c\/h3\u003e\u003cp\u003eYes. The CA-IS3020S and B0505M-2WR3 provide isolation between the communication bus and the power circuit.\u003c\/p\u003e","brand":"M5Stack","offers":[{"title":"Default Title","offer_id":46081998356678,"sku":"M5-A176","price":29.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/m5-a176-global-media-01-20260717a.webp?v=1784271961"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/collections\/imgi_83_acs712-20a-ampere-stromsensor-range-modul-current-sensor-kompatibel-mit-arduino-555047_1_c29a6c49-4f8b-4d0d-8168-2b7e3f3871b4.webp?v=1764217172","url":"https:\/\/upenelab.com\/collections\/sensors-current-sensor.oembed","provider":"OpenELAB Technology Ltd.","version":"1.0","type":"link"}