Skip to content

jb-xl-rnd/PyThermalCamera

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyThermalCamera

MLX90640 / Topdon TC001 thermal camera streaming for Raspberry Pi.

Web Interface

Features

  • Web streaming via FastAPI with MJPEG
  • Pygame direct display for kiosk mode (lower CPU)
  • Hybrid mode - toggle between local display and remote streaming
  • Multiple colormaps, contrast control, snapshots, recording
  • Raspberry Pi 5 support with Wayland compatibility

Quick Start

# Install dependencies
sudo apt-get install python3-opencv python3-fastapi python3-uvicorn

# Run
python3 src/main.py

Web UI at http://<pi-ip>:8000

Display Modes

Mode Use Case CPU Usage
Web only Remote viewing Low
Pygame Local kiosk display Medium
Hybrid Both with toggle button Higher

Kiosk Deployment

Systemd services in deploy/ for auto-start:

# Copy services
sudo cp deploy/thermal-*.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable thermal-camera-app.service
sudo systemctl start thermal-camera-app.service

See deploy/ and RPI Specific Noncamera/ for full kiosk setup with Chromium.

Controls

Button Action
Colormap Cycle color schemes
HUD Toggle stats overlay
Record Start/stop video recording
Snapshot Save PNG image
Contrast +/- Adjust contrast
Switch Display Toggle local/remote mode

Fork Status

This project originated as a fork of Les' Laboratory PyThermalCamera but has diverged significantly with a rewritten codebase focused on:

  • FastAPI web streaming (replacing OpenCV window)
  • Raspberry Pi 5 kiosk deployment
  • Hybrid local/remote display modes

Temperature extraction based on LeoDJ's P2Pro-Viewer.

About

Python Software to use the Topdon TC001 Thermal Camera on Linux and the Raspberry Pi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 96.7%
  • Shell 3.3%