SGP30 eCO2 & TVOC sensor

MATLAB + Arduino I2C SGP30 sensor support
257 Downloads
Updated 25 Nov 2024

View License

Support for the SGP30 eCO2 and TVOC sensor
Create an arduino object with I2C.
serialDevices = serialportlist;
a = arduino(serialDevices(end),'Nano3','Libraries',{'I2C'});
Connecting to the SGP30
sgp30obj = sgp30(a);
Read the sensor values
SGPeCO2Data = sgp30.readEquivalentCarbondioxide;
SGPTVOCData = sgp30.readTotalVolatileOrganicCompounds

Cite As

Eric Prandovsky (2026). SGP30 eCO2 & TVOC sensor (https://uk.mathworks.com/matlabcentral/fileexchange/155192-sgp30-eco2-tvoc-sensor), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2022b
Compatible with R2022b and later releases
Platform Compatibility
Windows macOS Linux
Tags Add Tags
Acknowledgements

Inspired by: MATLAB Support Package for Arduino Hardware

Version Published Release Notes
0.8.2

Implemented an attempts loop to re-attempt a command up to four times if a crcError occurs.

0.8.1

Updated to work with r2024+ where device.read() is no longer visible to the sensor and the SupportedInterfaces property has been added.

0.8