Linux

Best Thermal Cameras for a Homelab That Work on Linux

This post contains affiliate links. If you buy through them, we may earn a small commission at no extra cost to you. Learn more.

A thermal camera finds the hot drive, the cooking VRM and the PSU in a dead air pocket in one pass along the rack. None of those shows up in smartctl until it is already a problem. The best thermal camera for a homelab is one your Linux box or Raspberry Pi can read without a phone in the loop, so it can become a permanent monitor later. Few cheap cameras manage that, because most only talk to an Android app.

Original content from computingforgeeks.com - post 182091

We compare the Topdon TC001 and its InfiRay P2 Pro sibling, a PureThermal 3 board with a FLIR Lepton 3.5, the TC001 Max and the TC004 Mini. You’ll see which ones the kernel’s uvcvideo driver turns into a v4l2 device, and why the FLIR ONE line is a poor fit. Specs, prices and Linux behaviour were checked against maker pages, Amazon and each project’s source code in November 2026.

Pick a thermal camera for your rack

Decide where the camera will live before you look at resolution. A camera you carry to the rack once a month is a different purchase from one bolted above it and feeding a Pi. Prices are the Amazon US listings on the day we checked, so treat them as bands and check the live price before you buy.

AwardPickWhy it winsApprox. price
Best for Linux and Raspberry PiTopdon TC001256×192 sensor, plain UVC, open-source Linux and Pi viewers that read real temperaturesAbout $180, check on Amazon
Best permanent rack monitorPureThermal 3 + FLIR Lepton 3.5Calibrated per-pixel temperatures, a shutter that recalibrates itself, a documented UVC boardAbout $290 for board and core bought direct
Best for documenting a buildTopdon TC001 MaxAdds a 1.5 MP visible camera, so each shot shows which drive is hotAbout $263, check on Amazon
Best gift and no-host optionTopdon TC004 MiniOwn screen and a 15-hour battery, needs no phone or computer at allAbout $160, check on Amazon

If you only want one camera and you run Linux on a desk or a Pi, buy the TC001. Each of the other three covers a job the TC001 cannot: unattended monitoring, a photo of what you scanned, or a gift for someone who will never plug it into a laptop.

Check how we picked these cameras

Sensor, range and accuracy figures come from Topdon’s product pages, the GroupGets Lepton 3.5 listing (which quotes Teledyne FLIR’s datasheet), FLIR and HIKMICRO. The P2 Pro figures come from Pergear, an authorised InfiRay seller, and the text says so where they are used.

Linux behaviour comes from code, not marketing, because GroupGets is the only maker here that claims Linux support. The USB IDs, frame layout and temperature maths come from the source of PyThermalCamera, LeoDJ’s P2Pro-Viewer, Thermal-Camera-Redux and the PureThermal firmware. We also searched the mainline uvc_driver.c and found no quirk entries for the P2 Pro or PureThermal USB IDs. The stock driver handles them like any webcam. A camera had to pass three tests to make the list:

  • Readable from Linux with the stock kernel, or no host needed at all
  • Absolute temperatures, not just a false-colour picture
  • Buyable new today from Amazon US or the maker’s store

Rule three is why the P2 Pro sits inside the TC001 section instead of getting its own award. Its only Amazon US listing was a third-party iOS one at about $500 with no reviews. Pergear asks about half that when it has stock.

Compare the cameras at a glance

The column that decides a Linux purchase is the last one. A UVC camera works with ffmpeg, OpenCV and every viewer built on them. Anything else depends on one reverse-engineered driver staying alive.

CameraThermal sensorFrame rateRangeAccuracy (maker)On Linux
Topdon TC001256×19225 fps (per PyThermalCamera)-20 to 550 C±2 C or 2%UVC, YUYV with raw temperatures
InfiRay P2 Pro256×19225 Hz-20 to 600 C (per Pergear)±2 C or 2%UVC, ID 0bda:5830, same frame layout
PureThermal 3 + Lepton 3.5160×1208.7 Hz-10 to 140 C (high gain), to 400 C (low gain)±5 C or 5% (high gain)UVC, ID 1e4e:0100, 16-bit radiometric
Topdon TC001 Max256×192 + 1.5 MP visible25 Hz-20 to 550 CNot publishedNot listed by any Linux project
Topdon TC004 Mini128×128, shown at 240×24025 Hz-20 to 450 C±2 CNot needed, standalone
FLIR ONE (Gen 3)80×608.7 Hz-20 to 120 C±3 C or 5%Not UVC, phone apps only

Two things stand out. The 256×192 TC001 carries more than twice the pixels of the Lepton 3.5 and ten times the FLIR ONE’s, for less money than either. The Lepton earns its place anyway, even with a looser published accuracy figure. Its temperatures are calibrated per pixel by FLIR, and its shutter keeps them honest over days of unattended running. The dongles’ readings on Linux come from a reverse-engineered conversion, which matters less when you compare one drive against the drive beside it.

1. Topdon TC001

Linux thermal-imaging tools were built around the TC001, and that is why it leads this list.

Topdon TC001 USB-C thermal camera that shows up as a UVC video device on Linux and Raspberry Pi
Topdon TC001: 256×192 thermal sensor on a USB-C plug, powered by the host. Image: Topdon.

Topdon sells it as an Android and Windows accessory and makes no Linux claim. The camera still enumerates as a standard UVC device. PyThermalCamera, written for “the Topdon TC001 Thermal Camera on Linux and the Raspberry Pi”, documents two YUYV modes at 25 frames per second: 256×192 and 256×384. You want the taller one. Its top half is the false-colour picture and its bottom half holds a 16-bit raw value per pixel, so a script reads the real temperature of any point.

Topdon lists a 256×192 sensor, a -20 to 550 C range and accuracy of ±2 C or 2% of the maximum. It weighs 30 g and draws 0.35 W from the host, so a Pi 4 or Pi 5 powers it from a normal USB port. Thermal-Camera-Redux, a C++ viewer, was tested by an EEVblog user on boards from the Pi Zero 2 W up to the Pi 5. Our Raspberry Pi 5 kit picks cover the power supplies and cases for a Pi left running in a rack. The same camera earns its keep on a maker bench too, next to the tools in our electronics workbench setup guide.

Buy it if you want a thermal image on a Linux desktop or a Pi, or plan to script it later. Pass on it if you want a polished app on Linux. The viewers are hobby projects with no packaging, and the newest PyThermalCamera commit dates from July 2023. The Amazon title advertises 512×384, which is the upscaled display size, not the sensor. Expect about $180 and check the TC001 price on Amazon.

Consider the InfiRay P2 Pro for size

Linux support for this class of camera started with the P2 Pro. LeoDJ’s P2Pro-Viewer pins its USB ID as 0bda:5830 and its stream as 256×384 at 25 fps, and PyThermalCamera credits that work for its own TC001 decoding. Thermal-Camera-Redux lists the P2 Pro as a TC001 clone. Pergear gives it a 256×192 sensor, a range of -20 up to 600 C (the same listing also prints 1022 F, which is 550 C), a 9 g metal body and an optional magnetic macro lens for reading individual VRM phases.

We’d buy it over the TC001 only if size matters more than price, and only the USB-C version from an authorised seller. Pergear’s P2 Pro variants run about $239 to $279 and showed as out of stock when we checked. Neither Topdon nor InfiRay says publicly which module is inside, so “clone” is the projects’ word, not the makers’.

2. PureThermal 3 with a FLIR Lepton 3.5

Only this combination has a maker who says it works on Linux, and only this one is built to run for weeks with nobody holding it.

GroupGets PureThermal 3 USB-C board for a FLIR Lepton 3.5 thermal core, a UVC camera on Linux
PureThermal 3: USB-C UVC board with a socket for a FLIR Lepton core, sold without the core. Image: GroupGets.

GroupGets says the board’s “USB UVC works on Windows, Linux, Mac”, and its open firmware declares the USB ID 1e4e:0100. Next to a colour stream it exposes a 16-bit grey format that the GroupGets capture examples call raw IR data. With a Lepton 3.5 in the socket, that raw value is radiometric. FLIR’s TLinear mode makes every pixel a calibrated temperature, so you do not have to trust a reverse-engineered formula.

The Lepton 3.5 has 160×120 pixels, a 57 degree horizontal view and a NETD under 50 mK. Its 8.7 Hz frame rate is the export-limited speed, which is fine for watching a rack warm up. An integrated shutter closes periodically for flat-field correction, and that keeps unattended readings from drifting. High-gain accuracy is ±5 C or 5% from -10 to 140 C. That is looser than Topdon’s figure, but every drive, DIMM and VRM in a homelab sits inside that range.

You assemble it yourself, so the order has three parts:

Buy the board direct. Amazon listed it at about $250 on the day we checked, roughly twice the GroupGets price, and the core has to come from GroupGets anyway. Outside the US, GroupGets asks for an end-use statement before it ships a thermal core. Pass on this kit if you want something to point by hand. A bare PCB with no screen, no case and 160×120 pixels makes a worse handheld than the $180 TC001. GroupGets offers no software support and marks its GetThermal viewer “no longer works”, so plan on ffmpeg, OpenCV or your own script.

3. Topdon TC001 Max

The Max adds what a bare thermal image lacks a month later: a photo showing which slot you pointed at.

Topdon TC001 Max dual-lens thermal camera with a 1.5 MP visible camera for documenting a homelab rack
Topdon TC001 Max: 256×192 thermal plus a 1.5 MP visible lens, 25 Hz. Image: Topdon.

Topdon’s own Amazon listing gives the Max the same 256×192 sensor and 25 Hz rate as the TC001, with a 40 mK NETD, and its product page adds a 1.5 MP visible camera, a -20 to 550 C range, 33 g and support for USB-C iPhones and iPads as well as Android and Windows. Blending the two images makes a hot spot easy to place, which helps when you write up a fault or compare a rack before and after a fan swap. It is a phone and Windows tool first.

Linux is the weak spot. None of the three open-source Linux viewers lists the Max, so we cannot tell you it shows up as the same UVC stream as the TC001, and a second sensor makes a different USB layout likely. Topdon also publishes no accuracy figure for it. Buy the Max at about $263 (check the TC001 Max price on Amazon) for documentation from a phone, and buy the plain TC001 if Linux is the point. The older TC001 Plus does the same job with a 1 MP visible camera and a published ±2 C or 2% accuracy, but it cost more, about $300, when we checked.

4. Topdon TC004 Mini

The TC004 Mini is the gift pick, because it needs nothing else to work.

Topdon TC004 Mini standalone handheld thermal camera for a quick homelab rack sweep
Topdon TC004 Mini: standalone handheld, 128×128 sensor, 15-hour battery. Image: Topdon.

You walk up to the rack, pull the trigger and read the number on its own screen. There’s no phone to unlock and no app to pair. Topdon lists a 128×128 sensor upscaled to 240×240, 25 Hz, a -20 to 450 C range, ±2 C accuracy and a NETD under 40 mK. Add a 15-hour battery, IP54 sealing and a 2 m drop rating. Topdon recommends a working distance of 0.2 to 1.5 m, about where you’d stand in front of a 12U rack.

The 128×128 sensor is the real limit. With a third of the TC001’s pixels, it shows that a drive cage is warm but struggles to separate two adjacent 2.5-inch drives from across the room. Pass on it if you want to log anything to Linux, since Topdon documents no USB camera mode for the Mini. For PC analysis Topdon points to the bigger TC004 (256×192, 56 degree view, PC projection mode, about $299), though we found no Linux report for it either. The Mini runs about $160, so check the TC004 Mini price on Amazon.

Know what Linux sees from each camera

Every camera here that works on Linux works the same way: uvcvideo binds to it and creates a /dev/video node. That is exactly what happens with the HDMI dongles in our capture card guide. What differs is the content of the frame, and it decides whether you get temperatures or a pretty picture.

The TC001 and P2 Pro pack temperature data into the bottom half of a 256×384 YUYV frame. Decoders read each pixel’s two bytes as a 16-bit value, divide by 64 and subtract 273.15 to get Celsius. A raw value of 19,500 works out to about 31.5 C. Nothing may convert the frame to RGB on the way in, so PyThermalCamera turns off OpenCV’s colour conversion and carries a Pi-specific workaround. A tool that converts colour silently destroys the numbers while still showing a normal image.

Software has an easier time with the PureThermal board, because its grey 16-bit stream is the temperature data and nothing else. Thermal-Camera-Redux warns that a camera inside a VM guest will probably not work, because the VM can alter the USB video feed. On a Proxmox host, plug the camera into a Pi or a bare-metal box instead of passing it to a VM. Test passthrough only once you can compare its raw frames against a bare-metal read.

Skip these on a Linux box

Several well-reviewed cameras fail the Linux test, even though they do the job their makers designed them for:

  • FLIR ONE (Gen 3): 80×60 sensor, iOS and Android only
  • FLIR Edge and Edge Pro: Wi-Fi to a phone app, FLIR documents only phone apps
  • Seek CompactPRO: libusb driver only, no absolute temperatures
  • HIKMICRO Pocket2: promising, but not on Amazon US and unverified on Linux

The FLIR ONE is the best-reviewed phone camera here, with about 3,700 Amazon reviews at about $250. Its 80×60 sensor and 150 mK MRDT sensitivity are still the weakest specs on this page. The best-known Linux driver for the wired FLIR One, fnoop’s flirone-v4l2, has three commits and nothing since 2017, nobody reports it working on the Gen 3, and FLIR documents no PC mode. The Edge Pro is a much better camera (160×120, 70 mK) at about $530, but it streams over its own Wi-Fi network to a phone app.

Seek cameras do run on Linux through libseek-thermal, which can even feed a loopback video device. The project states it does not support absolute temperature readings, so you would be comparing colours. HIKMICRO’s Pocket2 is more interesting: 256×192, under 40 mK, a macro mode and a spec-sheet promise of radiometric video “over UVC and Wi-Fi”. We found no independent Linux report and no Amazon US listing, so it stays off the list for now.

Read a rack scan correctly

A thermal camera measures emitted infrared, and shiny metal emits very little. Fluke puts unpainted metals below 0.6 emissivity. In its own demonstration, the shiny side of a pan read about 100 F while the coated side read about 490 F. Bare aluminium heatsinks, drive lids and PSU cans read colder than they are and reflect warm objects nearby. Put a strip of matte electrical tape on the surface you care about and read the tape. Fluke’s emissivity explainer shows the effect.

Resolution matters more than the headline range, because nothing in a rack gets near 400 C. By our arithmetic from the published horizontal fields of view, one pixel at 1 m covers about 7 mm on the Lepton 3.5 and 12 mm on the FLIR ONE. The 256×192 TC004 (the full-size handheld, not the Mini) comes to about 4 mm if its 56 degree figure is horizontal, and Topdon doesn’t say. A 100 mm drive lid is then roughly 24 pixels across on the TC004, 15 on the Lepton and 9 on the FLIR ONE. That’s the difference between one hot drive and a warm smear. NETD matters less for this job, since 40 mK against 50 mK won’t change what you find on a VRM 20 degrees above its neighbours.

Know what a bad reading looks like before you replace anything. Backblaze’s 2014 study found its drives well inside the 0 (or 5) to 60 C that manufacturers specify, mostly between 15 and 30 C, but those are SMART readings from inside the drive. A camera reads the outside of the case, often through a low-emissivity lid, so compare surfaces with each other rather than with that range. A drive much hotter than identical neighbours points at airflow rather than at the drive, so fix the airflow before you shop our NAS hard drive picks. If the hot spot sits on a PSU or a VRM instead, confirm the rail voltages with a multimeter for the bench before you order parts. After you tame the fans with our iDRAC and iLO fan tuning steps, a thermal scan shows whether you went too far.

Match the camera to where it will live

Choose by whether a person or a computer will hold the camera:

  • Handheld scans from a Linux laptop or Pi: Topdon TC001
  • A camera mounted above the rack, logging all day: PureThermal 3 + Lepton 3.5
  • Photos for a build log or a fault report: Topdon TC001 Max
  • A gift, or no computer at all: Topdon TC004 Mini

Most homelabs need only the first. Scan the rack after any hardware change and again in the hottest month. Start with the PSUs, the PDU and the UPS terminals, which Fluke lists among the data-centre hot spots to check. If your rack is still taking shape, our 12U homelab rack build and rack PDU picks cover the power gear that heats up. The $180 TC001 tells you whether you placed it well.

Keep reading

How to Upgrade Fedora 44 to Fedora 45 (GUI, CLI and Rollback) Fedora How to Upgrade Fedora 44 to Fedora 45 (GUI, CLI and Rollback) Claude Code Cheat Sheet: Commands, Shortcuts and Flags (PDF) AI Claude Code Cheat Sheet: Commands, Shortcuts and Flags (PDF) Enable RPM Fusion and Install Multimedia Codecs on Fedora 45 / 44 / 43 Fedora Enable RPM Fusion and Install Multimedia Codecs on Fedora 45 / 44 / 43 Homelab and Sysadmin Gifts by Budget: $25, $50, $100 and $250+ Networking Homelab and Sysadmin Gifts by Budget: $25, $50, $100 and $250+ Best Monitor Arms for a Multi-Monitor Developer Desk Programming Best Monitor Arms for a Multi-Monitor Developer Desk Applying Machine Learning for Business: Use Cases and Benefits How To Applying Machine Learning for Business: Use Cases and Benefits

Leave a Comment

Press ESC to close