TEMPer USB thermometer

TEMPer USB thermometer

TEMPer USB thermometer

I now have a "server closet" where I keep my home server, terastation, switch, dsl modem, wifi station, ups and so on. In order to track the temperature inside the closet I ordered a "USB Thermometer" from usb.brando.com.hk. You just plug it into the USB port of a Windows computer and it will measure the ambient temperature.

The device arrived in an envelope within a few days together with a mini cd-r. That's right, not a factory made cd-rom but a normal burn-it-at-home cd-r with the software on it. And the software seems quite home made as well.

I read some review saying the device was "designed to be used in laboratories". Right.

You need two drivers to get it to work. First a USB-Serial -adapter and then a driver for the thermometer. It seems they use some old thermometer solution designed for serial-connection and simply put it on the same USB stick as a USB-to-Serial -adapter. But it works. And the temperature is very close to what my stand-alone thermometer says when placed nearby.

The software shows most of the captions in English and is capable of logging temperatures at different intervals - although only as a list on screen, not to a file. There is a "updata software" option in the software as well, but it is only a mailto: link to a suspicious looking address".

Not a great device but not very expensive either and it works. I just wish they had made logging to file available and used fewer colors in the user interface.

There are alternative programs available for this and similar devices:

All much better than the original one.

Actually, if you look at the image micsolaire posted a link to, you'll notice that there is a sensory cable (analog I presume) extending from the USB device. I did not know there is a version of this device where the sensor is not built into the USB "stick" but instead placed on the end of a sensory cable - but that is what it looks like.

Thanks for the the link.
I cannot read russian but that helps me to find this product on Amazon (extended USB)


Ce câble d'extension USB est utilisé pour se connecter à distance différents appareils qui sont compatibles avec la norme USB 1.1:

* USB caméra de surveillance et de sécurité
* Lecteurs de codes barres
* Matériel de mesure et de diagnostic
* Déploiement à distance d'un clavier ou une souris dans les halls et les salles de classe

Câble de rallonge USB va ajouter ou d'un périphérique USB 1.1 Hub USB à une distance de 5 à 30 mètres de l'ordinateur, qui dépasse largement la longueur de câble standard. La technologie brevetée permet la transmission de signaux standard USB1.1 à une distance de 30 mètres en utilisant le câble pour les réseaux informatiques locaux espace chat 5/5e/6.

Les avantages de l'USB-Extender

* USB 1.1 de transport de signaux jusqu'à 30 mètres (jusqu'à 100 mètres en très basse vitesse de mode pour les souris d'ordinateur, claviers, etc);
* Support Full Speed 12 Mo / s et à basse vitesse 1.5 Mo / s;
* Utilisez un câble réseau standard avec connecteurs RJ-45;
* Alimentation par le port USB;
* Pas besoin d'installer des pilotes supplémentaires


Pour faciliter la connexion et l'utilisation de l'appareil:

* Câble de connexion vendus via R45 (10/100 Base-T Ethernet)
* Extension se compose de deux blocs: Host-block et Dev-block

It is possible to use higher length.
Cut the original wire, then insert between cutted ends high diameter cables = higher distance higher diameter, and it will work. It is about resistance. I have successfully extended length to cca 20 meters.


I want to use one of these to monitor our server room temp via Nagios, I am going to buy the one from amazon UK@


In case the link doesn't work the model is Winter USB Thermometer "UTE-00411" [7747] my question is does the model number matter? The post suggests there are a few versions off the usb stick, and I want to use the Linux drivers created by Jason McMullan which seems to need the USB HID model of the TEMPer does anyone know if this will work or not? If not where can I get this model from.

Thanks for any help.



It would be great if the tool at : http://www.play-time.demon.co.uk/ThermoHID/index.html would also support the newer TemperHUM HID device in the near future. It sees the device but after clicking read the temp it mentions issues with the devce.


Hi itsisme,

I have just ordered a TEMPerHUM device from China so give it/me some weeks and I'll see what I can do about adding it to ThermoHID.

It would be good if you could send me an email detailing the problems you found when plugging the TEMPerHUM into ThermoHID. My email is in the Help menu of the program.



Finally got my TEMPER1 device with outside probe working on Linux with the CPAN module out there. With a bit of code tweaking also got the "resolution" a lot finer than the half a degree it was previously.

I then tried to calibrate the thermometer by part freezing some water and dunking the probe into that. The response time of the probe is amazing... It shot down to zero withing seconds... But it seems the module code doesnt like temps below zero and was giving an error.. So something to go back and look at... But now I notice where before the temper device was agreeing with 3 other thermometers I have in the same area for measurement it is now showing about half a degree cooler than them all.

A little annoying.. but still for the price of the device you get a good ballpark figure I think :)



I've been using the program for awhile but then when I restarted my computer today, it will no longer minimize to the toolbar tray.

Any suggestions?



Does the TEMPer device need to be turned on via software, or will it start logging data when connected to a power supply?
In other words, could I use something like this (http://hackaday.com/2005/01/20/how-to-make-a-usb-battery/) for power, drop the device somewhere and pickup later, THEN plug it into a PC to retrieve the logged data? Or will the device not operate w/o software control?

All TEMPer devices I have seen are "dumb" devices that only reports readings when asked by a computer, in other words, the TEMPer device does not log any readings on its own but has to be connected to a computer all the time.


Hi everybody
i'm tryin the TermoHID sofware, which seems the best fit for a recent USB TEMPer termometer.
It runs fine, but my goal would be running two different alarms for two different temperatures.
I mean i want it to send an email when temperature reaches 27 degrees and to run a program when it reaches 35 (i need to shudown servers in case of air conditioning fault)

I cannot get to this, unless i use two different sensors in the same place, and i set a different alarm for each of them.

May be there's another way to do what i need with this sw, anybody can help?

thanx a lot


Is there any information available how to access the TEMPer dongle in Delphi? I scanned the Internet without success. I have contacted the manufacturer of the TEMPer stick and they sold me a DLL that does not export any functions, so it is not usable with Delphi. It was made for C# in combination with the .NET crap it seems. Any help would be very welcome!!!

Because it seems there is very little information avalilable on how to access the TEMPer USB thermometer in Delphi, I tried to work out a solution.
I have created a small DLL file, that can read the temperature in Celcius and Fahrenheit.
It is only 40 kB, and you don't need other support files.

There are 8 routines in the DLL:

procedure InitTemper; stdcall; // Initializes the USB routines
procedure CloseTemper; stdcall; // Closes the USB routines
function TemperReadC: Single; stdcall; // Read the temperature in Celcius
function TemperCtoF(Value: Single): Single; stdcall; // Convert temperature to Fahrenheit
function TemperFtoC(Value: Single): Single; stdcall; // Convert temperature to Celcius
function TemperGetCalibration: Single; StdCall; // Read the temperature offset
procedure TemperSetCalibration(Const AOffset : Single); StdCall; // Set the temperature offset
function TemperGetVersion: PChar; StdCall; // Get the TEMPer version information

The evaluation version can be found here: http://www.homesecuritysoftware.nl/Delphi/TEMPerDll.zip, a small demo is included to demonstrate the functionality.

In reply to by Frank (not verified)


Hello, thank you very much for the dll. Could you do the same for the TemperHUM version?

I would like to learn UTAC to work with this stick, but I'm not very experienced in C#.

@PedroKV: I don't have a TemperHUM at hand here, so I can't test the results, let alone: develop a DLL for it. Sorry...

In the meantime I have also written a DLL for the current version of TEMPerHUM.
It is only 42 kB, and again you don't need other support files.

There are 10 routines in the DLL:

procedure InitTemper; stdcall; // Initializes the USB routines
procedure CloseTemper; stdcall; // Closes the USB routines
function TemperReadC: Double; stdcall; // Read the temperature in Celcius
function TemperReadHum: Double; stdcall; // Read the relative humidity
procedure TemperReadTempHum(var T: Double; var H: Double); stdcall;
procedure TemperGetCalibration(var T: Double; var H: Double) stdcall;
procedure TemperSetCalibration(TOffset, HOffset : Double); stdcall;
function TemperCtoF(Value: Double): Double; stdcall; // Convert temperature to Fahrenheit
function TemperFtoC(Value: Double): Double; stdcall; // Convert temperature to Celcius
function TemperGetVersion: PChar; StdCall; // Get the TEMPer version information

The evaluation version can be found here:


A small demo is included to demonstrate the functionality.

In reply to by Frank (not verified)


can you recompile your dll for use from java? I am attempting to use java to interface the dll but getting java.lang.UnsatisfiedLinkError. I don't know much but may be that not using as intended. Email me if you have any questions

I don't work in java myself. The DLL is made and compiled with Delphi. In principle it can be used in any programming language that uses the standard calling convention ("stdcall") for DLL's. I will try to find out more about the java calling convention and maybe come up with another version.


hi all, i am a noob at vb2008 and have been trying to write a prog for the usb HidTemperHum ver10.5 ( the only version that will run it) . cant find much help anywhere. found what i thought was a vb2008 program for it but turns out its for the rs232 version of TemperHum and like i said im a noob. if i can just comunicate with with it to get the data onto my vb form

please can anybody help as i have spent many an evening scratching my head getting nowhere,
many thanks for your time

dave j

In reply to by david (not verified)


It is not completely clear which version you are using.
My DLL works with the current (HID-USB) version of TEMPerHUM.
A small demo application in VB2010 can be found here:


Hope this helps.

In reply to by Frank (not verified)


I got this message. I'm very sad, because I have HID Temper online (http://meteo.pozorka88.cz) and I would like to change it for HID TemperHUM. I have this blue device one year and it is all the year lying on my desk, because original program is unusable and UTAC, which I had slightly modified, doesn't work with HID TemperHUM device. If someone can help, source of UTAC is here: http://pedrokv.com/smeti/utac-source.rar. It is in MS VS C#. I tried some modifications to work with HID-tHUM version, but was not succesful. I'm not programmer, I did programs long time ago in DOS Pascal. Original TemperHUM V10.5 can read values with no problem.

I see what the problem is! Your USB sensor is a different (older) type. It uses HidFTDll.dll, instead of RDingUSB.dll used by the current types. It will probably use a virtual serial port. The sensors simple aren't compatible! My (rather new) sensor doesn't work with the V10.5 software. So that proves the big difference.
The newer devices will work with the current software. Unfortunately I don't support the old version, for the simple reason that I don't have one to do tests with...

Together we worked out a solution for the older version:

// Declarations for HidFTDll.dll

function EMyDetectDevice (myhwnd:longint):longint; cdecl; external 'HidFTDll.dll' name 'EMyDetectDevice';
function EMySetCurrentDev (myhwnd:longint):longint; cdecl; external 'HidFTDll.dll' name 'EMySetCurrentDev';
function EMyInitConfig (b:longbool):longbool; cdecl; external 'HidFTDll.dll' name 'EMyInitConfig';
procedure EMyReadHUM (var t: Double; var h: Double); cdecl; external 'HidFTDll.dll' name 'EMyReadHUM';

procedure TForm1.Button1Click(Sender: TObject);
var H : THandle;
nr: longint;
b : boolean;
res: double;
temp, hum : double;
H := LoadLibrary('HidFTDll.dll'); // Try to load the DLL
if H =0 then Exit; // Handle is zero, could not load DLL
nr:= EMyDetectDevice(0); // Get the number of devices
if nr=0 then
Application.Terminate; // No device found
EMySetCurrentDev(0); // Set first device active
b:=EMyInitConfig(true); // Initialize
EMyReadHUM(temp, hum); // Read temperature and humidity
FreeLibrary(H); // Free memory (Unload DLL)

In reply to by Frank (not verified)


I have some problems with HidFTDll. I use win7 64-bit vs2008(compile platform x86), and I have tried various methods, but the "EMyDetectDevice(0)" always return 0, and EMyReadTemp(true) always be 888. Did you ever meet the same problems? Thanks.

In reply to by david (not verified)


For older VB versions, try this one:


(Made in Visual Basic 6)

In reply to by Frank (not verified)


Just released a new DLL (version 1.1) that supports the following TEMPer devices:

- Temper (internal temperature sensor)
- Temper1 (external temperature sensor)
- Temper2 (internal and external temperature sensor)
- TemperNTC II (internal and two external temperature sensors)
- TemperHum (temperature and humidity sensor)

The DLL can be used with the current devices that work with Rding32USB.dll.
Older versions that use HidFTDll.dll are NOT supported!
The DLL size is 45 KB and you don't need other support files. (Rding32.dll is not needed for your own applications!)
You can download the file from this location:


File size is 245 KB. Examples in Delphi and VB6 are included. (Source and .exe) Happy programming!

Just released version 1.3 of the DLL.
New features:
- Support for Temper_1K2 thermocouple
- Improved support for multiple devices in a single application
- Temperature returned for TemperHum was incorrect, fixed
- Some small fixes
- New 'simple' demo added

Try it yourself: http://www.homesecuritysoftware.nl/Delphi/TemperHumDll3.zip
(Filesize 820 KB)


Hello, I have just started using ThermoHID and it seems very awesome! I would like to tweak the chart a bit so I can view the current temperature in an annotation, but I can't figure out how they work. The Min1/Max1 annotation was already there, but now has stopped working. It appears that somewhere else besides Edit-Chart-Tools-Annotations sets the Text, if I change the Min1/Max1 and re-read the temperature, it changes the Text back. I would like to display the 12-hour high and low, and the current temperature. Can anyone help?

BTW: I'm using the chart to be displayed in a 'camera feed' of my Android's TinyDVR app. I upload the chart (previously using UTAC) to an FTP server, then reference it from my phone's app. I could go directly to my computer but would have to open up a hole in the firewall, so this method is easier.


Is there any way of getting the Temper to talk directly to a mini android PC to cut out the laptop requirement:
see http://liliputing.com/2012/09/89-ug802-android-4-0-mini-pc-with-rk3066-chip-video-overview.html

Hi,first of all sorry about my english, and second GooD work !! im not a programmer so im impress..!! i got Usb TEMPer but the soft that came with the device is too much for that i need,, and what i need ? just only a simple .txt file with only the temperature sensed by the usb device with no time, no date.. and just one decimal data (example: 26.5 C) surelly that is posible but i dont how can do it.. my need is almost betwen your TemperHumDll4 simple and you TemperHumDll4 Multilogger; simple dont write a .txt file an i cant choose betwen Celcius and fahrenheit, Multilogger shows in the txt file multiples reads with time and data.. how can i get just only last measured temp in one txt file with no time ? could you understand my english ? my purpose is read the txt file with a program every 1 minute (could be ajustable) and take the data and put it in a tv screen, the program that im using cant select the apropiate item so thats why i need just only one data (example: 25.1 C) and the data must be update every X seconds in that txt file.. coul you help to me..? thanks in advance !!!

In reply to by CharlyG (not verified)


A lot of people have asked for an ActiveX component with the same routines and functionality of the TemperHum.dll.
We have worked on this, and at the moment there is a TemperHum.ocx available. Not all examples are translated and the helpfile has to be written.
But to give you a preview: here is an example of the new TemperHum.ocx:


Please read the Readme.txt file first!
Any comments or suggestions are welcome!

A new version of the TemperHumDLL (1.5) has been released.
It contains some small bugfixes (better compatibility with VB, measurement result for TEMPer(Gold) sensors below 0 degrees C. corrected)
Also there are 4 new routines: TemperGetAllIDs, TemperSetDeviceByIndex, TemperCount and TemperReset.
You can download the evaluation version here:

hi frank
do you have a full version of your temperHUM software? or is it possible to use your DLL to make a TempER1 1.4 work with UTAC?
thanks for your help :)

In reply to by dan (not verified)


Which UTAC you use? Original, or my? http://pedrokv.com/smeti/utac.rar

But: don't rely on UTAC, thanks to .NET it's pretty unstable, especially when CPU is busy to the 90-100%...


Hi all, I need a thermometer for measuring the temperature of hot pie displays and cupboards etc. I use a Samsung galaxy Note 2 phone and I have bought the TEMPer1 usb temperature probe. My problem is I can't find any software with which I can use it on the phone.

The phone has OTG (on the go ) capability and can use wireless mice and USB thumb drives etc.

I have read the posts relating to Linux and Java etc but not sure how to compile a program script etc.

Can anyone help with a solution ? I am surprised that these temperature units are not catered for on phones as portable temp readings must be useful for a lot of people. Especially when the probe is remote from the phone.

Ian w

Today a new version (1.6) of the TemperHum DLL was released.
Added is support for the new TemperHum 1.1 and 1.2 sensors, using the Si7005 chip. An evaluation version can be downloaded here: