Sensor Data Logger With Daily Email Reports (No Coding Required)

by KimY21 in Circuits > Arduino

33 Views, 1 Favorites, 0 Comments

Sensor Data Logger With Daily Email Reports (No Coding Required)

Instructables cover image2.png

Introduction

This tutorial shows how to build a 24/7 automated temperature and humidity logging system in 10 minutes using drag-and-drop blocks. The system continuously logs BME280 sensor data every minute and automatically emails you a complete daily report at midnight.

Building automated data logging systems traditionally requires complex programming: implementing sensor communication protocols, managing file I/O operations, handling timestamp formatting, scheduling email tasks, configuring SMTP clients, and coordinating all these components. With Grablo, you simply arrange visual blocks to make it happen.


What You'll Build

A complete 24/7 automated data logging system featuring:

  1. Temperature & humidity measurement every minute with BME280 sensor
  2. Automatic daily file creation with date-based naming
  3. Timestamped CSV data format ready for Excel/spreadsheet analysis
  4. Scheduled email delivery at midnight with data attachment
  5. Runs independently 24/7 after setup
  6. Zero lines of code required

Supplies

결선도.png

Required Components

  1. Raspberry Pi (or BeagleBone, Jetson Nano, PC with USB-GPIO such as FT232H)
  2. BME280 Temperature & Humidity Sensor (I2C interface)
  3. Jumper wires
  4. Email account with SMTP support (Gmail, Outlook, etc.)


Wiring

BME280 Sensor (I2C):

  1. VCC → 3.3V (Pin 1)
  2. GND → GND (Pin 6)
  3. SCL → GPIO 3 (Pin 5)
  4. SDA → GPIO 2 (Pin 3)


⚠️ Important Notes:

  1. Use 3.3V, NOT 5V - BME280 is a 3.3V sensor
  2. BME280 I2C address is either 0x76 or 0x77 - check your module's specifications

Quick Start

  1. Install software: Download and install Grablo software on your controller hardware
  2. Set up hardware: Wire BME280 sensor according to circuit diagram above
  3. Get this project: Project Link
  4. Connect controller: In your project, go to "Connect Controller" and enter IP address
  5. Configure email: Go to Project Settings > Email Client and configure SMTP settings
  6. Hit RUN: Your automated logging system is now running!

💡 Want to build it yourself? Skip to Step 2 and follow the detailed tutorial

Create Project

  1. Go to https://app.grablo.co
  2. Click "Create Project"
  3. Give your project a name

Control 1 - Periodic Data Collection

2025-10-04_11-42-02.png

Create a logic and control that reads sensor data every minute

  1. Condition (Periodic): Every 1 minute (60 seconds)
  2. This triggers our data collection every 60 seconds
  3. Action 1 (I/O Device Control): Read BME280 sensor
  4. Device: BME280 Temperature & Humidity Sensor
  5. I2C Address: 0x76 or 0x77 (check your module's datasheet)
  6. Command: Read Data
  7. Store temperature in variable: Temperature
  8. Store humidity in variable: Humidity
  9. Action 2 (Read/Write File): Append data to CSV file
  10. Create new file editor
  11. Command: Append (adds new data without overwriting)
  12. File Path: Use block editor to create dynamic path
  13. Write Content: Use block editor to format CSV line

Control 2 - Midnight Email Delivery

2025-10-04_11-42-42.png

Create a control inside Control 1 that sends yesterday's file at midnight

  1. Condition (Time Range): 00:00 to 00:05
  2. Option: Rising Edge (triggers only once when midnight arrives)
  3. Action (Send Email): Email yesterday's data file
  4. Email Client: Create new SMTP client
  5. Recipient: Your email address
  6. Subject: "Daily Sensor Report"
  7. Message Body: "Attached is yesterday's temperature and humidity data."
  8. Attachment Path: Use block editor

Launch Your Project

That's It - You're Done!

Congratulations! You've just built a complete 24-hour automated data logging system using only 2 simple controls and zero lines of code. This is the power of visual programming with Grablo - what traditionally requires complex file handling, scheduling, and email programming is now accomplished with intuitive drag-and-drop blocks.


Expected Results

When you run your project:

  1. Every minute: BME280 sensor reads temperature and humidity
  2. Data logging: New readings appended to today's CSV file with timestamps
  3. At midnight: Previous day's complete data file automatically emailed
  4. New day: New CSV file created automatically
  5. CSV format: Easy to open in Excel, Google Sheets, or any spreadsheet software


Example CSV content:

2025-10-04 08:00:15,23.5,65.2
2025-10-04 08:01:15,23.6,65.1
2025-10-04 08:02:15,23.5,65.3


Run Your Project:

  1. Install software: Download and install Grablo software on your Raspberry Pi
  2. Set up hardware: Wire BME280 sensor according to circuit diagram
  3. Connect controller: In your project, go to "Connect Controller" and enter IP address
  4. Go to Project Settings > Email Client and configure email settings (SMTP server, password)
  5. Hit RUN


Video Tutorial

Sensor Logger with Email Reports

Watch the complete build process in action! This 7-minute video demonstrates every step from hardware setup to email configuration and launching your automated logging system.

Expand Your Project

Add more functionality with additional blocks:

  1. Multiple sensors: Add more BME280 sensors for multi-room monitoring
  2. Data analysis: Add blocks to calculate daily average, min, max values in email
  3. Alert conditions: Send immediate emails when temperature/humidity exceeds thresholds
  4. Weekly reports: Compile 7 days of data into weekly summary emails


Troubleshooting

  1. Sensor not detected: Verify I2C wiring, check I2C address with i2cdetect -y 1 command
  2. Email not sending: Verify SMTP credentials, check internet connection, confirm firewall settings
  3. Wrong I2C address: Try both 0x76 and 0x77 in device settings
  4. Missing attachment: Verify file path in email block matches logging file path exactly


Resources

  1. Official Website: https://grablo.co
  2. Get started: https://app.grablo.co
  3. Documentation: https://doc.grablo.co
  4. Support: support@grablo.co