Holiday Notice: We will be on holiday from Oct.1st to Oct.7th (GMT+8). Orders can still be placed and will be shipped right after the holiday. Read More>>

user-img

Aleksei Tertychnyi

+ Follow

pollutagNode2 - LoRaWAN Node for Air Quality Monitoring

Autonomous LoRaWAN node easily connectible via TTN/Helium networks, supporting downlinks. LaRaWAN node based on Seeed Studio' Wia-E5 module (based STM32WLE), so no additional transceiver needed - the main MCU and LoRa PHY already inside - suitable air quality monitoring, garden, intelligent home, automatization... You may connect load remotely by downlinks - via AO3400A transistor (on board). Optimized for Sensirion SEN54 sensor. MPPT and Li-Ion battery charger for power from 5V++ cheap solar panels. 10+ years of autonomic work with cheap 2W solar panel and standard 1850 Li-Ion battery expected. Sleeping current below 1 mA.

pollutagNode2 - LoRaWAN Node for Air Quality Monitoring
 
  • thumbnail-img
  • thumbnail-img
 

Tools, APP Software Used etc.

  • Cube IDE

    ST

Story

 

 

 

pollutagNode2

Overview

The LoraWAN node for air quatity monitoring based on STM32WLE and SEN54 Sensirion sensor. This LoRaWAN node is designed for continuous air quality monitoring. The node operates autonomously and support remote commands via downlinks. 

  1. LaraWAN node based on STM32WLE MCU (LORA-E5, Wio-E5), easy to integrate monitoring and control node (air quality monitoring, garden, intelligent home. etc.)
  2. You may connect load remotely by downlinks - via AO3400A transistor (on board)
  3. New Sensirion SEN54 sensor optimized
  4. MPPT and Li-Ion battery charger for power from 5V++ cheap solar panels.
  5. Sleep current as low as 0.9 mA
  6. 10+ years of autonomity with cheap 2W solar panel and standard 1850 Li-Ion battery
  7. More than 2 weeks work autonomity from fully charged 3500mA Li-Ion battery
  8. Ideal for sensor.community integration over LoRaWAN IoT, like TTN and Helium, no internet connection from your side needed!
  9. Full fledged with routed I/O ports - easy to solder - easy to add functionality (inputs, outputs, interfaces etc.)

Downlink commands supported

Reset the device via sending downlink to Port2 via LoRaWAN console:

FF FF FF FF FF FF

Set transmit period (in milliseconds) via downlink on Port2:

01 00 XX XX XX XX

(XX XX XX XX - milliseconds coded in hex (big endian), ex. for 5 minutes = 300,000 ms = 00 04 93 E0)

Set measuring period (in minutes) via downlink as for now provided together with LED_ON command in one 2-bytes downlink message on Port2: 01 XX - LED ON and measuring period = XX minutes, 00 XX - LED is OFF and measuring period = XX minutes. This LED enhanced with FET transistor, so you may connect some load (LOAD output) to be switched ON/OFF (see the schematic).

Uplink decoding / downlink encoding

The node uplink data packet containing 13 payload bytes with following data - PM1 concentration, PM2.5 concentration, PM10 concentration, temperature, humidity, volatile organic compound index (VOC), battery level related to volts, status of LED output. Decoder for payload on server side (uplink): 

 function Decoder(bytes, port, uplink_info) {
    var decoded = {};
    decoded.PM1 = ((bytes[0]*256 +  bytes[1])/10.0).toFixed(2);
    decoded.PM2_5 = ((bytes[2]*256 +  bytes[3])/10.0).toFixed(2);
    decoded.PM10 = ((bytes[4]*256 +  bytes[5])/10.0).toFixed(2);
    decoded.T = (-100.0 + bytes[6] +  bytes[7]/100.0).toFixed(2);
    decoded.RH = (bytes[8] +  bytes[9]/100).toFixed(2);
    decoded.VOC = ((bytes[10]*256 + bytes[11])/10.0).toFixed(2);
    decoded.Battery = (bytes[12]*0.0238).toFixed(2);//battery , volts
    decoded.LEDON = bytes[13];
    decoded.RSSI = normalizedPayload.gateways[0].rssi.toFixed(0);
    decoded.SNR = normalizedPayload.gateways[0].snr.toFixed(0);
    decoded.FREQUENCY = normalizedPayload.frequency;
    return decoded;
 }

Downlink payload encoder example:

function Encoder(measurements, port) {
    if(measurements.LED_ON.value) return [1];
    else return [0];
}

 

More information

Follow the project and find more information on Hackaday pollutagNode2.

Integration with Sensor.Community (will appear also on aqicn.org / waqi.info) via easy-to-use pollutants.eu API (Webhook URL) via TTN network find here.

For Helium it is an integration guide here

BOM List

Name Designator Quantity Manufacturer Part Manufacturer Supplier Supplier Part
Resistor 30k R11,R8,R2,R6 4 CR0603-FX-3002ELF Bourns Mouser 652-CR0603FX-3002ELF
AO3400A Q2 1 AO3400A Alpha & Omega Semiconductors Digi-Key 785-1000-1-ND
PMV41XPAR Q1 1 PMV41XPAR Nexperia Mouser 771-PMV41XPAR
Capacitor 10uF C11,C3,C2,C1,C7,C8 6 GRM188R61C106KALD Murata Electronics Mouser 81-GRM188R61C106KALD
Resistor 82k R9,R4 2 RT0603FRE0782KL KEMET Mouser 603-RT0603FRE0782KL
SM06B-GHS-TB_LF__SN_ J3 1 SM06B-GHS-TB(LF)(SN) JST  Mouser 306-SM06BGHSTBLFSN
142-0701-801 J2 1 142-0701-801 Cinch Connectivity Solutions Mouser 530-142-0701-801
Capacitor 0.1uF C10,C4,C5,C6 4 06035C104KAT2A AVX Mouser 581-06035C104KAT2A
LTST-C171YKT LED1,LED2 2 LTST-C171YKT Lite-On Mouser 859-LTST-C171YKT
Resistor 2k R1,R7,R10 3 RC0603FR-072KL Yageo Mouser 603-RC0603FR-072KL
MPQ3413GJ-5-AEC1-P IC2 1 MPQ3413GJ-5-AEC1-P Monolithic Power Systems (MPS) Mouser 946-MPQ3413GJ5AEC1P
Capacitor 0.22uF C9 1 AC0603X7R9BB224 KEMET Mouser 603-AC0603X7R9BB224
Resistor 120 Ohm R5 1 ERJ-U03J121V Panasonic Mouser 667-ERJ-U03J121V
Resistor 0.1 Ohm R3 1 CRL1206FWR100ELF Bourns Mouser 652-CRL1206FWR100ELF
Inductance 10uH L2 1 SRN3015BTA-100M Bourns Mouser 652-SRN3015BTA-100M
Inductance 2.2uH L1 1 SRN3015-2R2M Bourns Mouser 652-SRN3015-2R2M
LDCL015M33R IC3 1 LDCL015M33R STMicroelectronics Mouser 511-LDCL015M33R
PMEG2010AEH D2,D1 2 PMEG2010AEH-QX Nexperia Mouser 771-PMEG2010AEH-QX
LoRa-E5 IC1 1 317990687 SEEED STUDIO Mouser 713-317990687
CN3791 IC4 1 CN3791 Consonance LCSC C154992
61300511121 J1 1 61300511121 Wurth LCSC C6461551

 

Code
  • FW on GitHub

    https://github.com/WeSpeakEnglish/pollutag_node2
    View
Schematic and Layout
  • Schematic

    SCH_pollutagNode2_1-Schematic_2025-09-12_25477228368c48b5ce1500.png
    Download(3)
CAD-Custom parts and enclosures

pollutagNode2 - LoRaWAN Node for Air Quality Monitoring

Autonomous LoRaWAN node easily connectible via TTN/Helium networks, supporting downlinks. LaRaWAN node based on Seeed Studio' Wia-E5 module (based STM32WLE), so no additional transceiver needed - the main MCU and LoRa PHY already inside - suitable air quality monitoring, garden, intelligent home, automatization... You may connect load remotely by downlinks - via AO3400A transistor (on board). Optimized for Sensirion SEN54 sensor. MPPT and Li-Ion battery charger for power from 5V++ cheap solar panels. 10+ years of autonomic work with cheap 2W solar panel and standard 1850 Li-Ion battery expected. Sleeping current below 1 mA.

392
 
4
2
7
These revenues will go back into supporting creators, contests, and the open source ecosystem, and more.

Share your project on social media to expand its influence! Get more people to support it.

  • Comments( 2 )
  • Like( 4 )
/1000
Upload a photo:
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP

You May Also Like

View All
Add to cart
Board Type : GerberFile :
Layer : Dimensions :
PCB Qty :
Different PCB Design
PCB Thickness : PCB Color :
Surface Finish : Castellated Hole :
Copper Weight : 1 oz Production Time :
Total: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.

PCB Assembly

PCBA Qty: BomFile:
NO. OF UNIQUE PARTS: NO. of Components:
Country: Shipping Way:
Assembly Cost: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
3dPrintingFile : Size :
Unit : Volumn :
3D Printing Qty : Material :
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Acrylic Type : AcrylicFile :
Dimensions: Engrave:
Acrylic Qty :
Acrylic Thickness:
Acrylic Color:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
CNC Milling File : Size:
Unit: Volumn:
CNC Milling Qty : Material:
Type of Aluminum: Surface Finish:
Tolerance:
Surface Roughness:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Item Price Qty Subtotal Delete
Total: US $0.00
Certified Product | Supported Purchase: Full After-sales Protection