Skip to content

Techmods/Grafana---Voron-0-Metrics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Grafana Voron 0 Test Data

Test dataset for Grafana containing simulated metrics from a Voron 0 3D printer. Designed for learning Grafana variables, array-indexed data visualization, and time-series analysis.

Quick Start for Grafana Cloud

Method 1: TestData with CSV Content (Recommended)

  1. Open Grafana and navigate to Connections > Data sources > TestData DB
  2. Create a new dashboard and add a panel
  3. In the query editor, select Scenario: CSV Content
  4. Copy and paste the contents from data/voron0_testdata.csv
  5. Click Apply to visualize

Method 2: Infinity Plugin with GitHub Raw URL

  1. Install the Infinity Plugin: Connections > Add new connection > Infinity
  2. Add as data source
  3. In the query configuration:
    • Type: CSV
    • Source: URL
    • URL: https://raw.githubusercontent.com/YOUR_USERNAME/Grafana-Voron-0-Metrics/main/data/voron0_testdata.csv
    • Parser: Backend
  4. Apply configuration

Method 3: Direct GitHub Raw URL

If you have the CSV Datasource Plugin installed, use the GitHub raw URL directly as the source.

Data Structure

The CSV file contains the following columns:

  • timestamp: Time in seconds (0-1233s, loops automatically)
  • array_index: Sensor index (1-32)
  • sensor_name: Human-readable sensor name
  • value: Measured value
  • unit: Unit of measurement (mm, C, %, s)

Key Metrics Reference

Variable Index Description Typical Use Case
Layer_Time 21 Time to complete each layer Track cycle times, identify bottlenecks
X_Position 1 Toolhead X-axis position Motion analysis, path visualization
Y_Position 2 Toolhead Y-axis position Motion heatmaps, travel patterns
Z_Position 3 Current build height Layer progression tracking
X_Speed 4 X-axis velocity Speed optimization analysis
Y_Speed 5 Y-axis velocity Acceleration profiling
Extruder_Temp_Actual 10 Current hotend temperature Thermal stability monitoring
Extruder_Temp_Target 11 Target hotend temperature Setpoint tracking
Bed_Temp_Actual 12 Current bed temperature Heat distribution analysis
Bed_Temp_Target 13 Target bed temperature Thermal control validation
Hotend_Fan_Speed 14 Hotend cooling fan Thermal management
Part_Cooling_Fan 15 Part cooling fan speed Print quality correlation
Layer_Number 20 Current layer count Progress tracking
Total_Time 22 Elapsed print time Duration analysis
Progress 23 Completion percentage Real-time status
Flow_Rate 24 Extrusion flow rate Material usage tracking
Extruder_Position 30 Filament fed distance Material consumption
Print_Speed 31 Current print velocity Performance monitoring
Acceleration 32 Motion acceleration Dynamics analysis

Sensor Index Categories

Index Range Category Sensors
1-5 Motion X/Y/Z position and velocity
10-15 Thermal Temperatures and fans
20-24 Process Layer info, timing, progress
30-32 Extruder Position, speed, acceleration

Creating Variables in Grafana

Example 1: Layer Time Variable

Configuration for a cycle time variable:

  1. Navigate to Dashboard Settings > Variables > Add variable
  2. Enter configuration:
    Name: cycletime
    Type: Custom
    Label: Layer Time
    
    Custom options:
    Layer Time : 21
    
  3. Optional: Enable Multi-value and Include All
  4. Save variable

Usage in query:

WHERE array_index = ${cycletime}

Example 2: Temperature Variable Group

Configuration for multiple temperature sensors:

Name: temp_sensor
Type: Custom
Label: Temperature Sensor

Custom options:
Extruder Actual : 10
Extruder Target : 11
Bed Actual : 12
Bed Target : 13

This allows selecting between different temperature measurements in a single panel.

Example 3: Position Variable

Configuration for axis position tracking:

Name: position
Type: Custom
Label: Axis Position

Custom options:
X-Position : 1
Y-Position : 2
Z-Position : 3

Panel Examples

Example 1: Creating a Temperature Monitoring Panel

Step-by-step guide:

  1. Add a new panel to your dashboard
  2. Select TestData as the data source
  3. Choose CSV Content scenario and load your data
  4. In the Transform tab:
    • Add transformation: Filter data by name
    • Select columns 10, 11, 12, 13 (temperature metrics)
    • Optional: Add transformation to rename fields for clarity
  5. In the panel options:
    • Title: "Temperature Monitoring"
    • Visualization: Time series
    • Y-axis unit: Celsius (C)
    • Y-axis min: 0, max: 250
    • Legend: Show
  6. Add thresholds:
    • Warning at 210C (red line)
    • Target at 205C (green line)
  7. Apply and save

Example 2: Layer Time Analysis Panel

Configuration:

  1. Add new panel with TestData source
  2. Load CSV data
  3. Transform: Filter to column 21 (Layer_Time)
  4. Visualization: Bar chart or Time series
  5. Panel settings:
    • Title: "Layer Time Analysis"
    • Y-axis unit: seconds (s)
    • Add threshold at 10 seconds for slow layer detection
  6. Optional: Add stat panel showing average layer time

Example 3: Motion Heatmap

Configuration:

  1. Create panel with TestData source
  2. Filter columns 1 and 2 (X_Position, Y_Position)
  3. Visualization: Scatter plot or Canvas with heatmap overlay
  4. Settings:
    • Title: "Toolhead Motion Pattern"
    • X-axis: X_Position (0-120mm)
    • Y-axis: Y_Position (0-120mm)
    • Point size: Based on speed or layer time

Query Templates

Basic Filtering

For TestData CSV datasource:

WHERE array_index = 21

SQL-Style Queries

For SQL-compatible datasources:

SELECT 
  timestamp as time,
  value
FROM voron0_testdata
WHERE array_index = ${sensor}
  AND timestamp >= $__from 
  AND timestamp <= $__to
ORDER BY timestamp

Multiple Sensor Query

Query multiple related sensors:

SELECT 
  timestamp as time,
  sensor_name as metric,
  value
FROM voron0_testdata
WHERE array_index IN (10, 11, 12, 13)
ORDER BY timestamp

Aggregation Query

Calculate statistics over time windows:

SELECT 
  $__timeGroup(timestamp, '1m') as time,
  AVG(value) as avg_value,
  MAX(value) as max_value,
  MIN(value) as min_value
FROM voron0_testdata
WHERE array_index = 21
GROUP BY time
ORDER BY time

Beginner-Friendly Tips

Getting Started

  1. Start with a single metric: Begin by visualizing one temperature sensor (index 10)
  2. Add complexity gradually: Once comfortable, add more metrics to the same panel
  3. Use transformations: Learn to filter, rename, and calculate derived fields
  4. Experiment with visualizations: Try different chart types for the same data
  5. Create meaningful dashboards: Group related metrics logically

Best Practices for Data Visualization

Units and Scales

  • Always set appropriate units (C for temperature, mm for position, % for rates)
  • Don't rely on auto-scaling for temperature plots
  • Use consistent scales across related panels

Color Coding

  • Use intuitive colors: red for hot, blue for cold, yellow for warnings
  • Maintain consistency: same metric should have same color across panels
  • Use threshold colors to highlight out-of-range conditions

Panel Organization

  • Group related metrics together (all temperatures in one panel)
  • Use rows to separate categories (Motion, Thermal, Process)
  • Add text panels for context and documentation

Variable Usage

  • Create variables for frequently changed parameters
  • Use descriptive labels instead of numeric indices
  • Enable multi-value selection for comparison views

Common Use Cases

Performance Monitoring

  • Track layer times (index 21) to identify slow layers
  • Monitor speeds (indices 4, 5, 31) for optimization
  • Compare actual vs target temperatures (10 vs 11, 12 vs 13)

Quality Analysis

  • Correlate temperature stability with print quality
  • Analyze acceleration patterns during layer changes
  • Track flow rate consistency (index 24)

Troubleshooting

  • Identify thermal runaway conditions
  • Detect motion anomalies through position tracking
  • Monitor fan behavior during transitions

Dataset Details

  • Format: CSV with headers
  • Duration: 1233 seconds (20 minutes 33 seconds)
  • Data Points: Variable intervals (5-150 seconds)
  • Metrics: 15 unique sensors across 4 categories
  • Loop Behavior: Data automatically restarts after completion
  • Device: Voron 0 (120×120×120mm build volume)
  • Layers: 150 layers, 0.2mm layer height

Repository Structure

├── data/
│   └── voron0_testdata.csv     # Main CSV with all sensor data
├── docs/
│   └── sensor_mapping.md       # Detailed sensor documentation
└── README.md                   # This file

Additional Documentation

For detailed sensor specifications, value ranges, and advanced usage patterns, see docs/sensor_mapping.md.

Use Cases

This dataset is ideal for:

  • Learning Grafana query syntax and transformations
  • Understanding time-series data visualization
  • Practicing dashboard design and layout
  • Testing alert and notification configurations
  • Training sessions and workshops
  • Prototyping monitoring solutions

Technical Notes

Data Loop The dataset runs from timestamp 0 to 1233 seconds, then automatically loops back to the beginning. This simulates continuous operation for testing and demonstration purposes.

Query Performance For optimal performance with large time ranges:

  • Use appropriate time filters
  • Leverage query caching where available
  • Consider aggregation for overview panels

Variable Best Practices

  • Use meaningful variable names (e.g., temp_sensor not var1)
  • Set appropriate default values
  • Enable multi-value for comparison scenarios
  • Use query variables for dynamic sensor lists

License

This dataset is provided for educational and testing purposes. Free to use for learning, prototyping, and demonstrations.


Ready to start visualizing? Load the CSV into Grafana and explore the data!

About

Voron 0 Metrics test for Grafana

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •