Polverine

Cutting-edge environmental sensing in a compact form factor

Available for pre-order

View Purchasing Options
Mar 03, 2025

Project update 4 of 5

Our Source Code Repository Is Growing

by Umberto Allievi

Dear Backers,
Thank you for your support. Together we can build a thriving community around the Polverine project.

This week, the Polverine board made significant progress, thanks to the public release of BOSCH Sensortec’s BMV080 SDK. This SDK lets us read particulate matter (PM) values for PM10, PM2.5, and PM1. The full list of sensed quantities includes:

As a result, we’ve added new source code for three demonstrations to our GitHub repository:

To enhance the comprehensive acquisition system we described last week, we’ve included NodeRed and MongoDB instructions to create a complete data acquisition setup.

This is the simplest application of all, but it still can be useful to verify that:

This application can also be the starting point for learning to program and debug Polverine and ESP32 with PlatformIO in Visual Studio Code.

POLVERINE_DEMO: Stream Sensor Data Over USB

A Complete Yet Simple Demo

This firmware collects sensor measurement data and transmits it using the ESP32-S3 module’s native USB connection.

Easy Data Visualization

To facilitate data analysis and visualization, a separate NodeRed "RealTime Flows" interface has been developed. This interface collects data from the USB connection and plots it in real time:

POLVERINE_FULL_MQTT_DEMO: A Complete Solution for Sensor Data Collection and Analysis

Comprehensive System Architecture

At the heart of this solution lies the POLVERINE_FULL_MQTT_DEMO firmware. This firmware collects sensor measurements and transmits them using the ESP32-S3 module’s WiFi capabilities to an MQTT broker. From there, a NodeRed "Server Flows" monitors the broker’s message queue and systematically archives all incoming data in a MongoDB database.

In addition to local sensor data, the server-side processing layer integrates with OpenWeatherMap’s API to enrich the dataset with external environmental parameters such as temperature, humidity, barometric pressure, wind speed, and cloud cover percentages.

Easy Data Visualization

To facilitate data analysis and visualization, a separate NodeRed "Client Flows" interface has been developed. This interface allows users to dynamically query the MongoDB database and then create a visualization of data directly in a web browser. Users can select metrics from individual devices or compare data from multiple units, with flexible time filters allowing detailed examination of trends over configurable periods.

We’re Making PlatformIO Easy

We have updated our support site with detailed instructions and a video tutorial. This new content guides users through the process of installing PlatformIO from the beginning, and covers compiling, uploading, and debugging the BLINK demo. We welcome your feedback to help make Polverine accessible and user-friendly for everyone.

In the upcoming weeks, we plan to refine and thoroughly document the code. Our goal is to make it easy for anyone interested to contribute to the project. If you have any questions or want to share your ideas, feel free to reach out via the Ask a Question link on our campaign page, or connect with us on social media.

Thanks again for being part of this journey. More updates coming soon!

Best,
The Polverine Team


Sign up to receive future updates for Polverine.

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects