Phase 2 Sensors — SCD40, AS7341, MAX31855, SG90, EZO-ORP, Dosing Pump, VEML6075

Last updated March 22, 2026


Phase 2 community sensors expand the Configurator parts library with parts requested by the LoopString community across agriculture, food and beverage, manufacturing, and facilities management. These parts were added in response to real-world automation projects shared on forums, GitHub, and maker communities.


SCD40 CO₂ Sensor (I2C)

Sensirion SCD40 photoacoustic CO₂ sensor. Measures CO₂ concentration (400–5000 ppm), temperature, and relative humidity over I2C. More accurate and compact than the SCD30 it replaces in many designs.

Configuration

I2C Address — Fixed at 0x62 (not configurable on this sensor).

I2C Bus — Bus 0 or 1. Default is 1 (standard Pi I2C bus).

Measurement Interval — How often to read. Default is 5 seconds. The SCD40 has a 5-second minimum measurement cycle.

Signals

Signal

Type

Unit

Description

CO2

number

ppm

Carbon dioxide concentration (400–5000 ppm)

Temperature

value-unit

°C

On-chip temperature sensor

Humidity

number

%RH

Relative humidity (0–100%)

Use Cases

  • Grow room CO₂ enrichment monitoring with automated CO₂ injection via relay.
  • Indoor air quality monitoring for commercial facilities.
  • Mushroom fruiting chamber CO₂ depletion tracking.

AS7341 Spectral Light Sensor (I2C)

AMS AS7341 11-channel spectral sensor. Measures visible and near-infrared light across 8 spectral bands (415–680 nm) plus clear, NIR, and flicker detection.

Configuration

I2C Address — 0x39 (default, configurable).

Integration Time — Exposure time for each measurement. Longer integration gives more sensitivity in low light. Default is 100 ms.

Gain — Amplification factor (0.5x to 512x). Default is 8x.

Signals

Outputs readings for each spectral channel. Primary use in LoopString is PAR (Photosynthetically Active Radiation) estimation for grow lights by combining the visible channels.

Use Cases

  • Grow light spectrum analysis to verify LED output matches plant requirements.
  • PAR measurement for research-grade grow room monitoring.
  • Color quality assessment in food production lighting.

MAX31855 Thermocouple Sensor (SPI)

Maxim MAX31855 cold-junction compensated thermocouple-to-digital converter. Reads K-type thermocouples for high-temperature measurement (−200 °C to +1350 °C). Connects via SPI.

Configuration

SPI Bus — Bus 0 (default).

Chip Select Pin — GPIO pin for SPI chip select. Default is GPIO 8 (CE0).

Signals

Signal

Type

Unit

Description

Temperature

value-unit

°C

Thermocouple temperature (-200°C to 1350°C for K-type)

When to Use Instead of RTD/DS18B20

Use a thermocouple + MAX31855 when:

  • Temperatures exceed 200 °C (BBQ smokers, kilns, ovens, roasting).
  • You need fast response time (thermocouples respond in milliseconds vs seconds for RTD).
  • The probe must survive harsh environments (direct flame, corrosive liquids).

For temperatures below 200 °C, an RTD (PT100) or DS18B20 is usually more accurate and easier to wire.


SG90 Micro Servo (PWM)

Tower Pro SG90 micro servo motor. Provides 180-degree rotational control via PWM signal. Used for damper control, valve positioning, and small mechanical actuators.

Configuration

GPIO Pin — BCM GPIO pin for PWM output. Default is GPIO 18 (hardware PWM capable).

Min Angle — Minimum rotation angle in degrees. Default is 0.

Max Angle — Maximum rotation angle in degrees. Default is 180.

Default Position — Initial position on deploy. Default is 90 (center).

Signals

Input: number (0–180 degrees). The servo moves to the commanded angle.

Use Cases

  • Damper control for HVAC airflow regulation.
  • Small valve positioning for drip irrigation flow control.
  • Hop dropper mechanism in brewing (extend/retract).

EZO-ORP Sensor (I2C)

Atlas Scientific EZO-ORP circuit for Oxidation-Reduction Potential measurement. Measures the sanitizing or reducing capacity of water in millivolts. Connects via I2C through the EZO carrier board.

Configuration

I2C Address — Default 0x62 (configurable via Atlas Scientific protocol).

I2C Bus — Bus 0 or 1. Default is 1.

Signals

Signal

Type

Unit

Description

ORP

number

mV

Oxidation-reduction potential (-1019.9 to +1019.9 mV)

Use Cases

  • Pool and spa water sanitation monitoring.
  • Aquaponics/hydroponics nutrient solution oxidation tracking.
  • Brewing CIP (clean-in-place) rinse verification.

Dosing Pump (PWM)

Peristaltic dosing pump controlled via PWM signal. Provides variable flow rate for chemical dosing, nutrient delivery, or liquid transfer.

Configuration

GPIO Pin — BCM GPIO pin for PWM output.

Flow Rate — mL per minute at full speed. Calibrate this value for your specific pump.

Max Duty Cycle — Maximum PWM duty cycle percentage. Default is 100%.

Signals

Input: number (0–100, representing duty cycle percentage). 0 stops the pump, 100 runs at full speed.

Use Cases

  • pH adjustment in aquaponics/hydroponics (acid/base dosing).
  • Nutrient solution delivery in automated grow systems.
  • Fermentation additive injection.

VEML6075 UV Sensor (I2C)

Vishay VEML6075 UVA/UVB light sensor. Measures ultraviolet radiation intensity for UV index calculation.

Configuration

I2C Address — Fixed at 0x10.

Integration Time — 50 ms, 100 ms, 200 ms, 400 ms, or 800 ms. Default is 100 ms.

Signals

Signal

Type

Unit

Description

UVA

number

μW/cm²

UVA irradiance (315–400 nm)

UVB

number

μW/cm²

UVB irradiance (280–315 nm)

UV Index

number

Calculated UV Index (0–11+)

Use Cases

  • Reptile terrarium UV lamp monitoring to ensure adequate UVB for vitamin D synthesis.
  • Greenhouse UV exposure tracking for crop stress management.
  • Sterilization UV-C lamp intensity verification.

Troubleshooting

I2C sensor not detected

Run i2cdetect -y 1 on the Pi to verify the sensor appears at the expected address. If the address is missing: check wiring (SDA to GPIO 2, SCL to GPIO 3), verify pullup resistors are present (most breakout boards include them), and confirm I2C is enabled in raspi-config.

MAX31855 reads −0.25 °C constantly

This usually means the thermocouple is not connected or the wires are reversed. K-type thermocouples are polarized — the positive (yellow) wire connects to the T+ terminal and the negative (red) wire to T−.

Servo jitters at rest

PWM jitter is common with software PWM on the Pi. Use a hardware PWM pin (GPIO 12, 13, 18, or 19) for the SG90. If jitter persists, add a 470 µF capacitor across the servo power leads.


For temperature sensors below 200 °C, see Temperature Sensors.

For other liquid/chemical sensors (pH, EC, DO), see Liquid & Chemical Sensors.

For environmental sensors (humidity, CO₂ via SCD30, light via TSL2591), see Environmental Sensors.

scd40as7341max31855servoorpdosing pumpuv sensorcommunity