Polverine is an advanced environmental sensing board designed for a wide range of applications, from IoT devices to industrial automation and smart home systems. This compact and versatile device combines cutting-edge sensor technology with powerful processing capabilities, making it an ideal solution for comprehensive environmental monitoring.
Key Components
Sensors
BMV080 - World's Smallest PM 2.5 Sensor
- Dimensions: 4.4 x 3.0 x 3.0 mm³ (sensing element)
- Measures PM2.5 mass concentration in real-time
- Fanless design for silent and maintenance-free operation
- Measurement range: 0 to 1000 μg/m³
- Output resolution: 1 μg/m³
- Can detect particles as small as 0.5 μm
BME690 - Integrated Environmental Sensor with A.I.
- Measures air quality index, temperature, humidity, and pressure
- Incorporates artificial intelligence for enhanced sensing capabilities
Microcontroller
ESP32-S3-Mini-1 from Espressif
- Dual-core 32-bit LX7 MCU running at 240MHz
- 2.4 GHz Wi-Fi and Bluetooth Low Energy connectivity
- 8 MB of Flash memory and 0.5 MB of PSRAM
- Advanced security features: AES, SHA, RSA, ECC, RNG, Secure Boot, Flash Encryption, Digital signature, HMAC module
Board Features
Connectivity
- USB interface
- mikroBUS™ Connector
- Debug Connector (JTAG)
- Serial Connector
- Qwiic System Connector
Form Factor
- mikroBUS™ size: 25.4 x 28.6 mm
Power Supply Options
- USB interface (5V)
- mikroBUS™ 5V pin
- mikroBUS™ 3.3V pin
- 5V supplied to LDO that outputs 3.3V
Interfaces
- SPI: Used for BMV080 sensor communication
- I2C: Used for BME690 sensor communication
- UART: Available for external communication
- GPIO/PWM: Available for additional functionality
- Analog IN: For analog sensor inputs
esptool.py --chip esp32s3 --port COM5 --baud 460800 write_flash 0x10000 polverine_blink.bin
esptool.py verify_flash --diff yes 0x10000 polverine_mqtt_demo.bin
To restore an ESP32-S3 to its factory condition (virgin chip state), you need to perform a flash erase.
Execute the following command:
esptool.py --chip esp32s3 --port [YOUR_PORT] --baud 921600 erase_flash
To load the bootloader, the partition table and the blink demo execute the command:
esptool.py --chip esp32s3 --port [YOUR_PORT] --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x0 bootloader.bin 0x8000 partitions.bin 0x10000 polverine_blink.bin
If the blink application does not start, the press the reset (EN/SW2) button.
If the Polverine device resets periodically, then start the bootloader:
Polverine includes firmware that, when connected to the PC's USB port, creates a serial connection through which it writes data collected from the BMV080 sensor.
You can use any Windows terminal application (such as Termite or TeraTerm) to view the data being read. Since it's a USB connection, parameters like speed and parity are irrelevant.
If this is the first time you're connecting an ESP32 device, your computer (Windows) will need to download the appropriate drivers. This will happen automatically, and you'll receive a notification when it's ready. You can verify the presence of a new USB port in the Windows Device Manager.
Polverine is also compatible with Mac and Linux systems. If you have an Android phone or tablet, or an Apple device that supports the USB OTG standard, Polverine can be connected using an appropriate cable.
For Android devices, you can use the Serial USB Terminal app.
The USB connection also serves as a debugger. If, after connecting Polverine to the terminal, you see a request to download firmware, simply press the EN/SW2 button and restart the terminal program.