Thermal camera viewer for Android

Connect your Waveshare or SenXor camera, then push Connect. Scroll down for help.

----

Use a Waveshare thermal camera on Android with no app

This page shows a live heatmap from the Waveshare Smartphone IR Thermal Imaging Camera (B). It runs in Chrome on Android. You do not install an app and you do not make an account.

The Waveshare camera uses an 80x62 SenXor sensor from Meridian Innovation. This page is an unofficial viewer. It has no connection to Waveshare or Meridian Innovation.

How to use the viewer

  1. Close the SenXor app if it is open.
  2. Unlock the phone and connect the camera to the USB-C port.
  3. If Android asks which app to open, close that dialog.
  4. Open this page in Chrome.
  5. Push Connect, select "USB Virtual COM" in the list, and push Connect in the dialog.

After the first connection, Chrome can connect the camera again when you load the page. The Rotate and Flip buttons change the image direction. The page keeps your choice on the phone.

What the heatmap shows

The color range changes with each frame to fit the minimum and maximum temperature. Thus, the same color can show a different temperature in a different frame. Read the numbers when you must compare two scenes.

The sensor reads infrared radiation from surfaces. Shiny metal and glass can give incorrect values.

Supported cameras, phones, and browsers

Troubleshooting

The camera is not in the list

Unlock the phone. Disconnect the camera, turn the plug 180 degrees, and connect it again. Then reload the page.

Nothing happens after I push Connect

Make sure that you selected "USB Virtual COM". Reload the page and try again. Do this only after you close the SenXor app.

The page shows "No frames from the camera"

The page sends the start command again every two seconds. If frames do not start, disconnect the camera and connect it again.

The image is upside down or reversed

Push Rotate and Flip until the image matches the scene. Together, the two buttons give all eight image directions.

Questions

Do I need the SenXor app?

No. This page reads the camera directly.

Why can a webcam app not read this camera?

The camera is not a UVC webcam. It is a USB serial device that sends temperature frames. Webcam apps do not read that format.

Does the image go to a server?

No. The page reads the frames in your browser. The page does not send them to a server, and it has no analytics.

Is the viewer free?

Yes. The viewer is open source under the Apache 2.0 license.

How it works

Chrome on Android gives web pages access to USB devices with the WebUSB API. The page opens the camera as a USB serial device at 115200 baud and sends a command to start the stream. Each frame has 4960 16-bit values in deci-Kelvin. The page changes them to degrees Celsius and draws them on a canvas. The protocol comes from pysenxor-lite, the Python library from Meridian Innovation.

The source code is on GitHub.

Made by James Nolan.