Difference between revisions of "RDing TEMPer"
Jump to navigation
Jump to search
Uwe Hermann (talk | contribs) m (→Photos) |
|||
(25 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
== Hardware == | == Hardware == | ||
[[File:Rding temper sigrok 1.png|thumb|right|I2C, USB, LED]] | |||
[[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]) | |||
** 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''' | |||
* '''I2C EEPROM''': Unknown, yet (markings were removed), I2C slave address '''0x50''' | |||
* '''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> | |||
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> | |||
$ '''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" | |||
</small> | |||
== Photos == | == Photos == | ||
<gallery> | <gallery> | ||
File:Rding temper front.jpg | File:Rding temper front.jpg|<small>Device, front</small> | ||
File:Rding temper back.jpg | File:Rding temper back.jpg|<small>Device, back</small> | ||
File:Rding temper usb.jpg | File:Rding temper usb.jpg|<small>Device, USB</small> | ||
File:Rding temper opened.jpg | File:Rding temper opened.jpg|<small>Device, opened</small> | ||
File:Rding temper pcb front.jpg | File:Rding temper pcb front.jpg|<small>PCB, front</small> | ||
File:Rding temper pcb back.jpg | File:Rding temper pcb back.jpg|<small>PCB, back</small> | ||
File:Rding temper sensor.jpg | File:Rding temper sensor.jpg|<small>Sensor, EEPROM</small> | ||
File:Rding temper sidepads.jpg | File:Rding temper sidepads.jpg|<small>Random pads on the side</small> | ||
File:Rding temper main chip microscope.jpg | File:Rding temper main chip microscope.jpg|<small>Main chip, microscope</small> | ||
File:Rding temper sensor microscope.jpg | File:Rding temper sensor microscope.jpg|<small>Sensor, microscope</small> | ||
</gallery> | </gallery> | ||
Line 30: | Line 86: | ||
== Resources == | == Resources == | ||
* | * [https://relavak.wordpress.com/2009/10/17/temper-temperature-sensor-linux-driver/ Relavak Labs: TEMPer Temperature Sensor Linux Driver] (libusb software) | ||
* [http://www.linuxjournal.com/article/10809?page=0,0 LinuxJournal: Hack and / - Temper Temper] (article about Device::USB::PCSensor::HidTEMPer perl module) | |||
* [http://www.polarnight.co.uk/blog/temper-usb-temperature-sensor-inside/ Polarnight blog: TEMPer USB Temperature Sensor – Inside!] (a teardown of an older TEMPer version) | |||
* [https://wwwx.cs.unc.edu/~hays/archives/2010/03/entry_25.php bil: Software to support the TEMPer USB thermistor] (blog post) | |||
* [http://blog.jonathangazeley.com/2009/10/nagios-plugin-for-temper-usb-thermometer/ Jonathan Gazeley: Nagios plugin for TEMPer USB thermometer] (also: [http://www.jonathangazeley.com/wp-content/uploads/2009/10/TEMPer2.c TEMPer2.c], code for the USB-to-serial version) | |||
* [http://err.no/personal/blog/tech/2008-07-22-10-17_kernel_patches_TEMPer_thermometer.html Tollef Fog Heen's blog: Kernel patches and the TEMPer USB thermometer] (also: [http://err.no/src/TEMPer.c TEMPer.c]) | |||
* [http://www.no-feature.com/2008/01/taking-advantage-of-your-temper-device.html No Feature Left behind: Taking advantage of your TEMPer 1.0 USB device] (C#, .NET) | |||
* [http://search.cpan.org/dist/Device-USB-PCSensor-HidTEMPer/ Device::USB::PCSensor::HidTEMPer] (Perl) | |||
* [http://bailey.st/blog/2012/04/12/dirt-cheap-usb-temperature-sensor-with-python-sms-alerting-system/ Eclectic Security: Dirt cheap USB Temperature Sensor with python SMS alerting system] (also: [http://bailey.st/code/bitsofpy/Pytemp2sms/ Pytemp2sms]) | |||
* [http://www.circuitdb.com/articles/20 CircuitDB: Cheap temperature logging] | |||
* [http://www.rjl.com.au/marketplace/Articles_show.asp?a=47 RJL: Using Cacti to measure temperatures] | |||
* [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] | |||
[[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