Difference between revisions of "RDing TEMPer"
Jump to navigation
Jump to search
(7 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
[[File:Rding temper sigrok 2.png|thumb|right|I2C/USB closeup]] | [[File:Rding temper sigrok 2.png|thumb|right|I2C/USB closeup]] | ||
* Main chip: [http://www.dz863.com/datasheet-827607263-TMU3101MS_Usb-Controller/ Tenx TMU3101MS] ([http://www.dz863.com/downloadpdf-cflolocfmpbs-TMU3101MS.pdf datasheet]) | * '''Main chip''': [http://www.dz863.com/datasheet-827607263-TMU3101MS_Usb-Controller/ Tenx TMU3101MS] ([http://www.dz863.com/downloadpdf-cflolocfmpbs-TMU3101MS.pdf datasheet]) | ||
** The markings were removed, but we're relatively sure it's this chip, due to lsusb and pin/feature matching (see below). | ** The markings were removed, but we're relatively sure it's this chip, due to lsusb and pin/feature matching (see below). | ||
* Temperature sensor: [http://www.fairchildsemi.com/pf/FM/FM75.html Fairchild FM75] ([http://www.fairchildsemi.com/ds/FM/FM75.pdf datasheet]), I2C slave address '''0x4f''' | * '''Temperature sensor''': [http://www.fairchildsemi.com/pf/FM/FM75.html Fairchild FM75] ([http://www.fairchildsemi.com/ds/FM/FM75.pdf datasheet]), I2C slave address '''0x4f''' | ||
* I2C EEPROM: Unknown, yet (markings were removed), I2C slave address '''0x50''' | * '''I2C EEPROM''': Unknown, yet (markings were removed), I2C slave address '''0x50''' | ||
* Oscillator: 6MHz | * '''Oscillator''': 6MHz | ||
'''Chip pinouts:''' | |||
<table border="0"> | |||
<tr> | |||
<th>Main chip pinout</th> | |||
<th>I2C EEPROM pinout</th> | |||
</tr> | |||
<tr style="vertical-align: top;"> | |||
| | <td> | ||
{{chip_20pin|1=SCL|2=SDA|3=5V|4=5V|5=5V|6=5V|7=GND|8=5V|9=3.3V|10=Oscillator|11=Oscillator|12=5V|13=USB D-|14=USB D+|15=LED(5V)|16=5V|17=3.3V|20=3.3V}} | |||
</td> | |||
<td> | |||
{{chip_8pin|1=GND|2=GND|3=GND|4=GND|5=SDA|6=SCL|7=GND|8=3.3V}} | |||
</td> | |||
</tr> | |||
</table> | |||
| | |||
| | |||
| 5V | |||
| | |||
| | |||
| | |||
| 5V | |||
| 3.3V | |||
| | |||
| | |||
| 3.3V | |||
I2C | See [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=i2c/rding_temper;hb=HEAD these example sigrok captures] for the I2C, USB, and LED traffic going on while the device is queried from the PC (see also screenshots on the right-hand side). | ||
'''Example usage:''' | |||
<small> | <small> | ||
$ '''sigrok-cli -i rding_temper_i2c_usb_led_sensor_5s.sr - | $ '''sigrok-cli -i rding_temper_i2c_usb_led_sensor_5s.sr -P i2c:sda=0:scl=1''' | ||
i2c: "START" | i2c: "START" | ||
i2c: "ADDRESS READ" "0x4f" | i2c: "ADDRESS READ" "0x4f" | ||
Line 108: | Line 49: | ||
i2c: "STOP" | i2c: "STOP" | ||
$ '''sigrok-cli -i rding_temper_i2c_usb_led_sensor_5s.sr - | $ '''sigrok-cli -i rding_temper_i2c_usb_led_sensor_5s.sr -P usb:dm=3:dp=4:signalling=low-speed''' | ||
usb: "SYNC INVALID!" "001001001100100" | usb: "SYNC INVALID!" "001001001100100" | ||
usb: "SYNC INVALID!" "000000000000110000000111111100100000000010001" | usb: "SYNC INVALID!" "000000000000110000000111111100100000000010001" | ||
Line 158: | Line 99: | ||
* [https://sourceforge.net/projects/utac/ SourceForge: UTAC] (C#, .NET) | * [https://sourceforge.net/projects/utac/ SourceForge: UTAC] (C#, .NET) | ||
* Github: [https://github.com/edorfaus/TEMPered TEMPered], [https://github.com/lp0/temperhum temperhum], [https://github.com/jeixav/HID-TEMPerHUM HID-TEMPerHUM], [https://github.com/elpeo/rbtemper rbtemper], [https://github.com/ssllab/TEMPer1X TEMPer1X], [https://github.com/ssllab/temper1 temper1], [https://github.com/freemed/temper temper], [https://github.com/mj/temper temper], [https://github.com/olegstepura/temper-hum-hid temper-hum-hid] | * Github: [https://github.com/edorfaus/TEMPered TEMPered], [https://github.com/lp0/temperhum temperhum], [https://github.com/jeixav/HID-TEMPerHUM HID-TEMPerHUM], [https://github.com/elpeo/rbtemper rbtemper], [https://github.com/ssllab/TEMPer1X TEMPer1X], [https://github.com/ssllab/temper1 temper1], [https://github.com/freemed/temper temper], [https://github.com/mj/temper temper], [https://github.com/olegstepura/temper-hum-hid temper-hum-hid] | ||
[[Category:Device]] | |||
[[Category:Thermometer]] | |||
[[Category:Planned]] |
Latest revision as of 18:22, 30 April 2013
The RDing TEMPer is a USB-based temperature logger.
See RDing TEMPer/Info for more details (such as lsusb -vvv output) about the device.
Hardware
- Main chip: Tenx TMU3101MS (datasheet)
- The markings were removed, but we're relatively sure it's this chip, due to lsusb and pin/feature matching (see below).
- Temperature sensor: Fairchild FM75 (datasheet), I2C slave address 0x4f
- I2C EEPROM: Unknown, yet (markings were removed), I2C slave address 0x50
- Oscillator: 6MHz
Chip pinouts:
Main chip pinout | I2C EEPROM pinout | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
See these example sigrok captures for the I2C, USB, and LED traffic going on while the device is queried from the PC (see also screenshots on the right-hand side).
Example usage:
$ sigrok-cli -i rding_temper_i2c_usb_led_sensor_5s.sr -P i2c:sda=0:scl=1 i2c: "START" i2c: "ADDRESS READ" "0x4f" i2c: "ACK" i2c: "DATA READ" "0x1d" i2c: "ACK" i2c: "DATA READ" "0x80" i2c: "ACK" i2c: "STOP"
$ sigrok-cli -i rding_temper_i2c_usb_led_sensor_5s.sr -P usb:dm=3:dp=4:signalling=low-speed usb: "SYNC INVALID!" "001001001100100" usb: "SYNC INVALID!" "000000000000110000000111111100100000000010001" usb: "SYNC INVALID!" "0000000000011100000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111001000101111" usb: "SYNC INVALID!" "000000000000001001000010011" usb: "OUT DEV 47 EP 0" "00000001100001111111010000001001" usb: "DATA1 00 00 00 00 00 00 00 00 " "000000011101001000000000000000000000000000000000000000000000000000000000000000001111110100101111" usb: "SYNC INVALID!" "00000000101001011" usb: "OUT DEV 47 EP 0" "00000001100001111111010000001001" usb: "DATA0 00 00 00 00 00 00 00 00 " "000000011100001100000000000000000000000000000000000000000000000000000000000000001111110100101111" usb: "SYNC INVALID!" "00000000101001011" usb: "IN DEV 47 EP 0" "00000001100101101111010000001001" usb: "DATA1 " "00000001110100100000000000000000" usb: "ACK " "0000000101001011"
Photos
Protocol
HID-based.
Resources
- Relavak Labs: TEMPer Temperature Sensor Linux Driver (libusb software)
- LinuxJournal: Hack and / - Temper Temper (article about Device::USB::PCSensor::HidTEMPer perl module)
- Polarnight blog: TEMPer USB Temperature Sensor – Inside! (a teardown of an older TEMPer version)
- bil: Software to support the TEMPer USB thermistor (blog post)
- Jonathan Gazeley: Nagios plugin for TEMPer USB thermometer (also: TEMPer2.c, code for the USB-to-serial version)
- Tollef Fog Heen's blog: Kernel patches and the TEMPer USB thermometer (also: TEMPer.c)
- No Feature Left behind: Taking advantage of your TEMPer 1.0 USB device (C#, .NET)
- Device::USB::PCSensor::HidTEMPer (Perl)
- Eclectic Security: Dirt cheap USB Temperature Sensor with python SMS alerting system (also: Pytemp2sms)
- CircuitDB: Cheap temperature logging
- RJL: Using Cacti to measure temperatures
- SourceForge: UTAC (C#, .NET)
- Github: TEMPered, temperhum, HID-TEMPerHUM, rbtemper, TEMPer1X, temper1, temper, temper, temper-hum-hid