You are on page 1of 26
SENSIRION Datasheet SPS30 Particulate Matter Sensor for Air Quality Monitoring and Control * Unique long-term stability « Advanced particle size binning * Superior precision in mass concentration and number concentration sensing + Small, ultra-slim package « Fully calibrated digital output Product Summary The SPS30 Particulate Matter (PM) sensor is a technological breakthrough in optical PM sensors. Its ‘measurement principle is based on laser scattering and makes use of Sensiron's innovative contamination- resistance technology. This technology, together with high-quality and long-lasting components, enables precise ‘measurements from its first operation and throughout its lifetime of more than ten years. In addition, Sensirion's advanced algorithms provide superior precision for different PM types and higher-resolution particle size binning, opening up new possbiltis for the detection of cfferent sorts of environmental dust and other particles, With dimensions of only 41 x 41 x 12 mm, its also the perfect solution for applications where size is of paramount importance, such as wall-mounted or compact air quality devices. Content 1 Particulate Matter Sensor Specifications 2 2 Electrical Specifications 3 3 Hardware Interface Specifications 4 4 Functional Overview 5 5 Operation and Communication through the UART Interface 8 6 Operation and Communication through the I°C Interface 16 7 Mechanical Specifications 23 8 Shipping Package 24 9 Ordering Information 4 10 Revision History 24 11 Important Notices 25 12 Headquarters and Subsiaiaries 6 SENSIRION 1 Particulate Matter Sensor Specifications 1.1 Specification Overview [Parameter [conctons veto [Uns ‘Mass concentration range a Oto 11000 | ygim? Wass coneraton ss rage Pu oat 10 lum PR 031625 Jum Pie 231040 lum Pua 06100 7um Wass concontatonprasson' Tor PT ard PHS" 0 100 vain 100 o 000 yg 0 [mw ‘Mass concentration precision™? for PMA, PMTO® [010 100 agi? 25 gin TooToo a 25 [emw Tsar longo mass cancentaton preion [Do 100 it [25 |vah ear Ait it 100 to 1000 ygim’ $1.25 ‘% mv. / year Tube coneoaton range : 010 3000 [Hore umber eoncenraton size ange Pu 31005 _ um PMO 0161.0 |um PZ oa1625 Jum Pe Oste40 Jum PMO 310100 7am Taber concontaton wecsbn'?fo PHOS, PAT 010 1000 ene 00 te and PM2.5? 1000 to 3000 #icm? 410 % mv. Taber conceaton rein? fr PHA, PHTO® Oo 1000 on? sant 1000 3000 Ha 25 [mw Wasinum long om nab conconTafon pocson [01a 1000 Hon? 125 Ren year Ait ite 1000 to 3000 #/cm? 41.25 % mw. / year Senping eval : e008 “pial sap te? amber 700-3000? 18 n oncarion 300 an0qtant [16 Ts 30 100Hen? [30 Ts Serr op Sarai PZ ras oncaiaion Calbaad io TSrDvstTaR™ ORY 6538 Arb Node [POS nanberconcentaton Calta to TI 0°S 3300 | Tare 2 iy operation 310 years Rezurl iaven al 2m ra [a6 Long em acoust eniioh vel om m7 ©05 [eB yar -Adtonal T dependent mass and number Temperaure 9p. 0s %mv./°C conceiaon rein i sirens 25°C Tiegh : a0 [a + Ak letras a betvoen sar vatatn” or "Sevieo-ovice vation’ 2 Fortune etal, pleas eferta ne document "Sesion Parclte Mater Sensor Spestcaton Staten. 3 Vurtcation Aerosol fo PM25 83% sonia KC! soluton, Devan eferenceinsduneti are in eds forever sansa ata calbaton “pu ane PANO cup vais ae caested bata n dlioutonprote of ak measured partes, “Tne alr staring Meauremer-Mode un a sabe reasoner ota. * Litres pasos on muartme--aure (MTT) calculator Liste righ vary depending on ferent operating condions SENSIRION Taser waveengh mom] eo Jom (OINEN 602251 cise) || HE] Table 4: Particulate matter sensor specifications. Default conditions of 25=2 °C, 60:10% relative humidity ané § V supply vllage apply unless otherwise statod, max.’ means ‘maximum’, typ.’ means typical, m.’ means '% of measured value 4.2 Recommended Operating Conditions The sensor shows best performance when operated within recommended normal temperature and humidity range of 40:0 40 °C and 20 to 80 % RH, respectively. 2 Electrical Specifications 24 Electrical Characteristics mee condone [in| Tyo | Max | Unit Supply volage 45/50) 55) Vv | Teephode ~ | a0 [ideMode ——SOSCSC~S~S ae Supply current Measurement Mode | Measurement-Moce, fst 200ms (fan at ~ = | a0 Input high level voltage (Vii) - 231 - 55, Input Tow evel vallage (i) 5 oy foe y Ouiput igh level valtage (Vo |= 2a) 33) 337 Ouiputlow level voRage Von) [> of. [fo] | Table 2: Electical specications at 25°C. 2.2 Absolute imum and Maximum Ratings Stress levels beyond those listed in Table 3 may cause permanent damage to the device. These are stress ratings only and functional operation of the device at these conditions cannot be guaranteed. Exposure to the absolute maximum rating conditions for extended periods may affect the reliabilty ofthe device. Parameter Min Max Unit Supply voFage VOD 03 55 Interface Select SEL 03 40 v WO pins (RXISDA, TXISCL) 03 55 Max. eurrent on any VO pin “6 6 m_| Operating temperature range 0 oo I Storage temperature range 40 70 Operating hunidiy range a | _%RH Table 3: Absolute minimum and maximum ratings. 2.3 ESD/ EMC Ratings Immunity (Industria level) SENSIRION Description Standard Rating Electro State Discharge TEC 6100-42 4 KV contac, 8 air | Poner-Frequency Magnetic Field TEC 1000-48 a0AMm, S0H2 and 602 | Ratlo-Frequency EM-Field ANemodulated TEC 6100043 | GOMHz- 100M, 10Vim, 60% AM @IKHe Radic Frequency EM-Feld AN- modulated TEC 6100043 14GH2~ 6GHz, 3Vim, 80% AM @tKHZ Emission (Residential level) Description Standard Rang Emission in SAC for MHz to 230M TECICISPR 16 40dB(4Vin) OP @3m Emission in SAC for 220M to TO00MHE TEGICISPR 16 47dB(UVin) OP @am Emission in SAC for 1GHzto SGHz TEGICISPR 16 7OdB(uVim) P, SOaB(uVin) AP @m [Emission in SAC for 3GHz to 6GHz TECICISPR 16 ___|74d8(uVim) P, 544B( Vim) AP @3m 3 Hardware Interface Specifications ‘The interface connector is located at the side of the sensor opposite to the air inleVoutet. Corresponding female plug is ZHR'S from JST Sales America In. In Figure 1 a description ofthe pin layout is given. Pin | Name Description Comments + | woo Supply voltage BV 10% RX. | UART: Receiving pinfor | TTL BV and 2 communication WTTL33V SDA FO Serial datainput/ouput | compatible Tx UART:Trensmiting infor | TTLsVand a communication WHTL33v SOL_| FC: Sera cock npal compatible Leave foatng to select UART 4) se Iniefaceselect «= SRT select 5 | eno Ground Housing on GND Figure 1: The communcatan interface connectors Table 4 SPS40 pin asignment located atthe side ofthe sensor opposite tothe air outlet, ‘The SPS30 offers both a UART” and an PC interface. For connection cables longer than 20 cm we recommend using the UART interface, due to its intinsio robustness against electromagnetic interference. Note, that there is an intemal electrical connection between GND pin (6) and metal shielding, Keep this metal shielding electrically floating in order to avoid any unintended currents through this internal connection If this is not an option, proper extemal potential equalization between GND pin and any potential connected to the shielding is mandatory. Any current though the connection between GND and metal shielding may damage the product and poses a safety risk through overheating. Unio Asyntronous Roker Transmit 4 Functional Overview 4.1 Operating Modes Idle Measurement Start Measurement 45-65 mA Power on / Reset to Idle SENSIRION Sleep Sleep “85 Stop Measurement ~ 330A Wake-Up Data transmitted = [0x43, Ox7D, 0x31, Ox7F| Address The slave device address is always 0 Command In the MOS! frame the command tells the device wnat to do with the transmitted data. In the MISO frame, the slave just retums the received command, Length Length ofthe "TX Data” or “RX Data’ field (before byte-stufing). State The MISO frame contains a state byte, which allows the master to detect communication and execution errors. a [0 (EorFag Breculon evar cade Figure 5: Status byte structure The fist bt (b7) indicates that atleast one ofthe error ‘lags is set in the Device Status Register The “Execution error code" signalizes all errors which occur while processing the frame or executing the command, The following table shows the error codes which can be reported from the device. Note that some ofthese errors are system internal errors which require additional knowledge to be understood. In case of a problem, they will help Sensiron to localize and solve the issue Eror Cade ] ae Meaning 0] 0x00_Noerror 1|_|_0x04 Wrong data length for this command (too much or ite data) 2] 0x02 Unknown command 3 4 (0x03 No access right for command (x04 "egal command parameter or parameter out of allowed range 40x28 Internal function argument out of range 67_[_ 0x43 [Command not allowed in current stato Table 6 Reference table for error codes, Data SENSIRION The data has a usable size of [0...255] bytes (original data, before byte-stuffing). The meaning of the data content depends on the command. Checksum The checksum is built before byte-stufing and checked after removing stuffed bytes from the frame, The checksum is defined as follows 1 ‘Sum all bytes between start and stop (without stat and stop bytes}, 2. Take the least significant byte ofthe result and invert it. This will be the checksum. For a MOSI frame use Address, Command, Length and Data to calculate the checksum. For a MISO frame use Address, Command, State, Length and Data to calculate the checksum. Example (MOSI frame without startstop and without byte-stuffng) a_[ CHO TxDala 2 Byes CHK x00 | ox00 | ox02 0x01, 0x03 oxF9 The checksum is calculated as follows: ‘ar | 0x00 CMD | 0x00 | oxo2 Data 0 | Ox0t Data 1 | 0x03 Sum | 0x06 Least Significant Byte of Sum | 0x06 Inverted (=Checksum) | OxF9 5.3 SHDLC Commands The following table shows an overview ofthe available SHDLC commands. |_cwto [command | Read /Wite Execute _|max. Response Time __| min. required Fimware ©x00__| Star Measurement Execute 2015 vio | x01 _|Stop Measurement Execute 2078 vio | Gx03__| Read Measured Value Read 208 vio | oxi0_| Sleep Execute Sms v2.0 | Oxit Wake-up Execute Sms v2.0 | (0x66 Start Fan Cleaning Execute 205 vio | 0x80___ReadiWite Auto Cleaning Interval Read / Wire 2015 vio | ©xD0 Device Information Read 2078 vio | GxD1 Read Version Read 208 vio | (x02 __ Read Devoe Status Register Read 208 v2.2 ©x03_[Reset Execute 205 vio Table 7 Reference table for SHDLC commands. SENSIRION 5.3.1 Start Measurement (CMD: 0x00) Starts the measurement! After power up, the module is in Idle-Mode, Before any measurement values can be read, the Measurement-Mode needs to be started using this command. Most Data: Byte # [Datatype [Description (0 | uint@ | Suboommand, this value must be set to OxOT 1 uinté Measurement Output Format 0x03: Big-endian IEEE754 foat values 0x05: Big-endian unsigned 16-bitinteger values Miso Data: No data. Example Frames: Mos! | Start measurenent with output format “Big-endian TEEE7S4 Float values” @x7E @x08 x00 OxO2 OxO1 6x03 OXFO Ox7E miso | EMPEY response frame: @X7E x82 x02 Ox00 OxOO OXFF OX7E 5.3.2 Stop Measurement (CMD: 0x01) ‘Stops the measurement, Use this command to return to the inital state (Idle-Mode). MOS! Data: No data, IMiSO Data: No data, Example Frames: MOSI_[@x7E @x00 @x01 @x00 OXFE OXTE Empty response frame: Miso Ox7E 0x08 x01 OxO@ OxO2 OxFE OXx7E 5.3.3 Read Measured Values (CMD: 0x03) Reads the measured values from the module. This command can be used to poll for new measurement values. The measurement interval is 1 second. MOS! Data: No data, iSO Data: If no new measurement values are availabe, the module returns an empty response frame, If new measurement values are available, the response frame contains the measurement results, The data format depends on the selected output format, see 4.3 Measurement Output Formats. Example Frames: MOSI_[@x7E 6x00 0x03 0x00 OxFC Ox7E 1 Tas canmand can ony 0 exes ne Mode + Tris command can ony exec in Measure ot, SENSIRION Empty response frame: @X7E x08 @x03 @x00 0x00 OXFC OX7E Or response frame with new measurement values: @X7E x08 Ox03 OxO0 Ox28 Exe 2x00 OxO0 OxOO OxBB OxEE 0X00 Oxd0 OxB2 Ox0e @x@2 x22 0x02 @x00 OxAA GxB2 AxXOA OxOB EXOD AxBA AxOE OxO0 OxOe AxA2 OxEE 2x22 0x08 2x00 Ox00 @xO0 OxB@ 2x00 OxXB0 OxO0 OxBO OxE2 OxOO OxB2 OxO2 OxEE @xD4 Ox7E Miso 5.34 Sleep (CMD: Ox10)"* Enters the Sleep-Mode with minimum power consumption. This will also deactivate the UART interface, note the wake- Up sequence described at the Wake-up command, Mosi Data: No data, Miso Data: No data, Example Frames: MOS|_[@x7E 0x00 @x1@ 0x00 OxEF Ox7E MISO_[ @x7E @x00 x10 @x00 0x00 OxEF Ox7E 5.3.5 Wake-up (CMD: 0x11) Use this command to switch from Sleep-Mode to Idle-Mode. In Sleep-Mode the UART interface is disabled and must first be activated by sending a low pulse on the RX pin. This pulse is generated by sending a single byte withthe value OXF. ifthen a Wake-up command follows within 100ms, the module will switch on again and is ready for further commands in the Idle-Mode. Ifthe low pulse is not followed by the Wake-up command, the microcontroller returns to Sleep-Mode after 100ms and the interface is deactivated again The Wake-up command can be sent directly after the OxFF, without any delay. However, itis important that no other value than OxFF is used to generate the low pulse, otherwise i's not guaranteed the UART interface synchronize correctly Mosi Data: No data, ‘Miso Data: No data, Example Frames: ‘Send OxFF to generate @ low pulse in order to wake-up the interface: xr Wake-up command, within 100m: @x7E_@x00 x11 Ox00 OxEE OX7E MISO_[@x7E @x00 xii @x00 0x00 OxEE Ox7E Mos! Atematively, if the software implementation does not allow to send a single byte withthe value OxFF, the Wake-up command can be sent twice in succession. In this case the first Wake-up command is ignored, but causes the interface to be activated, 18 Tis command can ony 2 exec in le Mode SENSIRION First Wake-up command (just, activates the interface)? @X7E x08 Ox11 @x00 OXEE Ox7E MOS! | second Wake-up command, within 18ms (this finally wakes up the module) @X7E x00 Ox11 0x00 OxEE OX7E MISO [@x7E x00 @xi1 0x00 0x00 OxEE OX7E 5.366 Start Fan Cleaning (CMD: 0x56) Starts the fan-cleaning manually", For more details, note the explanations given in 4.2 Fan Auto Cleaning, Mosi Data: No data. MISO Data: No data. Example Frames: MOST @XTE 0X00 0x56 0X00 OXAD OXTE MISO ‘@x7E @x00 x56 0x00 Ox00 OxAD OXTE 5.3.7 Read/Write Auto Cleaning Interval (CMD: 0x80) Reads/Writes the interval [s] ofthe periodic fan-cleaning, For more details, note the explanations given in 4.2 Fan Auto Cleaning Mos! Data: Read Auto Cleaning Interval: Byle# [Datatype [Desorption (0 [uinté | Suboommand, this value must ba set to 0x00 Write Auto Cleaning Interval: Byte # [Datatype |Description (Oj uinte | Subcommand, this value must be set to 0x00 1.4 [uint@2 Interval in seconds as big-endian unsigned 22-bit integer value Miso Data: Read Auto Cleaning Interval: Byte # [Datatype |Description 0.3 [uinta2 [Interval in seconds as big-endian unsigned 22-bit integer value Write Auto Cleaning Interval: No data, Example Frames: Read Auto Cleaning Interval: @x7E @x02 Ox8E OXO1 Ox00 Ox7D OXSE OX7E MOSI | rite Auto Cleaning Interval to @ (disable): @x7E @x00 OxBO 0x05 Ox00 OxOO Ox 0x00 OxOO OX7A OX7E Response frane for “Read Auto Cleaning Interval”: Miso | ®X7E @x@@ exBe exoe ox04 0x00 @x00 Ox00 OxO0 0x78 OX7E Response frane for “rite Auto Cleaning Interval”: Q@x7E @x00 OxB2 x00 0x00 Ox7F OX7E is corand can ony be execu n Measurement Mode SENSIRION 5.3.8 Device Information (CMD 0xD0) This command retums the requested device information. itis defined as a string value with a maximum length of 32 ASCII characters (including terminating nul character) Mos! Data: Byte # [Datatype |Description (0 Juinte | This parameter defines which information is requested 0x00: Product Type ox01: Reserved 0x02: Reserved 0x03: Serial Number iSO Data: Byte # [Datatype |Description 0..n [sing | Requested Device information as null-erminated ASCII sting, The size ofthe string i ited to 32 ASCIL characters (including null characte) Example Frames: Product Type Recommended to use as product identifier, returns always the string “00080000" on this product. MOSI_[@x7E 0x00 @xD@ @xO1 0x00 Ox2E OX7E miso | Or ‘@x7E @x80 OxDO OxO0 OxO9 Ox30 @x30 x30 Ox38 OxI0 OXI0 0x30 Ox30 0x00 OXOB Serial Number: MOSI_[@x7E @x00 @xb@ @x01 0x03 Ox2B Ox7E Miso ‘@x7E @x00 OxDO Ox00 Ox15 Ox30 Ox30 OX30 Ox30 Ox30 OX30 0x30 Ox30 Ox30 OxIO @x3@_@x3@ 0x30 0x30 Ox30 0x30 x30 0X30 Ox30 Ox3@ OXOO OXSA OX7E Mos! Data: No data, 5.3.9 Read Version (0xD1) Gets version information about the fmware, hardware, and SHDLC protocol miso Data Byte # [Datatype | Descition 0 int6 | Frmware major version | 1 _[uinté | Fimmare minor version™ | 2 [uinté | Reserved: nays 0 3__uint8__| Hardware revision | 4 uinté Rosorved: always 0 | 3_uint6 | SHDLC protocol mejor version @_]unté _ SHDLC protocol minor version 1 Eerare rin vecion nay change winout atic, gv ful backwarts compat, SENSIRION Example Frame: MOSI | @X7E 0x00 @xD1 6x00 OX2E OX7E miso | Firmware V2.1, Hardware V6, SHOLC V2.0. @X7E @x0@ OXD1 OxO1 Ox07 OxE2 OXO1 OxXOO OxO6 OXBO X02 OXOO OxIC OX7E 5.3.10 Read Device Status Register (0xD2) Use this command to read the Device Status Register. For more details, note the explanations given in 4.4 Device Status Register Note: fone of the device status flags of type “Error is set, this is also indicated in every SHDLC response frame by the Error-Flag inthe state byt. Mos! Data: Bye # [Datatype Description o fuinté 0: Do not clear any bitin the Device Status Register ator reading 4 Clear all bits in the Device Status Register after reading, MISO Data: Byle# [Datatype Descripfon 0... _bigendian, uinf32_| Device Status Regster 4 [eine Reserved for future use Example Frame: MOSI_] @x7E @x00 @xD2 OxO1 0x00 Ox2C Ox7E MISO_[@x7E @x0@ @xD2 6x00 x05 0x00 0x00 0x00 0x00 OxOO Ox28 Ox7E 5.3.11 Device Reset (CMD: 0xD3) Soft reset command. After calling this command, the module is in the same state as after a Power-Reset. The reset is ‘executed after sending the MISO response frame, Note: To perform a reset when the sensor's in sleep mode, its required to send first a wake-up sequence to activate the interface. Mos! Data: No data. Miso Data: No data. Example Frames: MOSI_[ @x7E 0x00 OxD3 0x00 0x20 Ox7E MISO | @x7E @x00 @xD3 0x00 @x00 6x20 OX7E SENSIRION 6 Operation and Communication through the I?C Interface woo Usage: * PC address: 0x69 Rp © Max. speed: ‘standard mode, 100 kbit/s spa ‘vob (1 + Clock stretching: not used | sa SCL] comect B Connector sath SCL and SDA lines are open drain /Os. They should LY be connected to external pull-up resistors (e.g. Rp = 10 kN). -}——n0 (54 Important notice: in order to correctly select ’C as interface, the interface select (SEL) pin must be pulled to GND before or at the same time the sensor is powered up Figure 6: Typical PC application cicut ‘Some considerations should be made about the use of the °C interface. FC was originally designed to connect two chips on a PCB. When the sensor is connected to the main PCB via a cable, particular attention must be paid to electromagnetic interference and crosstalk, Use as short as possible (< 10 cm) andor well shielded connection cables. We recommend using the UART interface instead, whenever possible: itis more robust against electromagnetic, interference, especially with long connection cables. For detailed information on the 12C protocol, refer to NXP 12C-bus specification’ 641 Transfer Types Set Pointer Sets the 16-bit address pointer without witing data tothe sensor module. Itis used to execute commands, which do not require additional parameters | —12¢ tear» « —__oirtorasaross >| | HER EEE ES SAREE ECER FREER 1 potas comiocuneatslaar mansatUMt0204 gf SENSIRION Set Pointer & Read Data Sets the 16-bit address pointer and read data from sensor module. It is used to read sensor module information or measurement results. The datas ready to read immediately after the address pointers set. The sensor module transmits the data in 2-byte packets, which are protected with a checksum. = Lay -:: =e) = LF Itis allowed to read several times in succession without setting the address pointer again, This reduces the protocol overhead for periodical reading of the measured values. Set Pointer & Write Data Sets the 16-bit address pointer and writes data to the sensor module. It is used to execute commands, which require additional parameters, The data must be transmitted in 2-byte packets which are protected by a checksum. bonnet a fron of nent ofp nme | SENSIRION 6.2 Checksum Calculation The Read and Write Commands transmit the data in 2-byte packets, followed by an &-bit checksum, The checksum is calculated as follows: Property Vale 2 Name ORC-B Protected Dala read andlor write data With abit , Polynomial OS KG 1) Iialzation | OFF Reflect Input false Reflect Ou falee Final XOR ‘0x00 etaee Example [CRC(DBEEF)= 02 Please note that the checksums are used only for the 2-byte data packets. The command code itself already contains a 3.bit CRC and therefore no checksum must be appended to it. 6.3 12C Commands The following table shows an averview ofthe available l&C commands. Parameter | Response ‘Panay [Command Name |TranserType feurg — [ncdng CRC feecten ie | va }CRC [bytes] | [bytes] GOTO [SlatMeasurenent _[SelPonier &WiteDaa| 3 =

You might also like