Cryogenic Dilution Refrigerator Monitoring Dashboard built with Streamlit and Plotly.
- Displays
full range,still, andPlatine 4Kthermometer readings (K) - Interactive charts with zoom, pan, and crosshairs
- Optional logarithmic Y-axis scale
- Shows
P1,P2,P3pressure values (mbar) - Log scale enabled by default for pressure data
- Interactive charts with full zoom capabilities
- Monitors main turbo pump speed (%)
- Real-time status display
- Displays
R MMR1 1,R MMR1 2,R MMR1 3(Ω) - Optional logarithmic Y-axis scale
- Shows mixture percentage over time
- Displays On/Off status with visual indicators
- Timeline chart showing state changes
- Displays On/Off status with visual indicators
- Timeline chart showing state changes
- Visual grid display of all 39 valves (VE1-VE39)
- 🟢 Open | 🔴 Closed
- Interactive timeline chart (VE1 shown by default)
- Click legend to show/hide individual valves
- Configure webhook URL for notifications
- Send daily reports with min/max temps and rate of change
- Zoom: Click and drag to zoom in on any area (X and Y axes)
- Pan: Hold Shift and drag to pan
- Reset: Double-click to reset zoom
- Crosshairs: Hover to see values at cursor position
- Unified Hover: Shows all trace values at cursor X position
- Python 3.8.13
- Windows 7 SP1 32-bit compatible
- Edge 109 or compatible browser
conda create -n dspx_mon python=3.8.13
conda activate dspx_monOption A: Using setup.py (recommended)
pip install -e .Option B: Manual installation
pip install streamlit==1.22.0 pandas requests plotly- Open Command Prompt
- Navigate to the Dspx-Monitor directory
- Activate the conda environment:
conda activate dspx_mon
- Run the startup script:
run.bat
conda activate dspx_mon
streamlit run app.py --server.port 8501The dashboard will be available at http://localhost:8501
- Use the calendar date pickers in the sidebar to select a date range
- The app will load and combine data from all files within the selected range
- Data is cached for 5 minutes for faster subsequent loads
- Create a Slack Incoming Webhook at https://api.slack.com/messaging/webhooks
- Enter the webhook URL in the sidebar under "Slack Notifications"
- Click "Send Daily Report" to send a summary to Slack
The app reads TSV files from the data/ directory with the naming format MMDDYY.txt.
Expected columns include:
date,heures(time)full range,still,Platine 4K(temperatures in K)P1,P2,P3(pressures in mbar)Pumping turbo speed(turbo pump %)R MMR1 1,R MMR1 2,R MMR1 3(resistances in Ω)P/T(mixture percentage)Turbo AUX(OVC turbo status 0/1)PT(pulse tube status 0/1)VE1throughVE39(valve states 0/1)
Dspx-Monitor/
├── app.py # Main Streamlit dashboard
├── setup.py # Package installation script
├── run.bat # Windows startup script
├── config.json # Slack webhook URL storage
├── README.md # This file
└── data/
└── *.txt # TSV data files (MMDDYY.txt format)
- Ensure Plotly is installed:
pip install plotly - Try refreshing the page (F5)
- Data is downsampled automatically for performance
- First load may take time; subsequent loads are cached
- Reduce the date range selection
- Close other browser tabs