APPA 55II
The APPA 55II is a logging thermometer with two thermocouple inputs and an optical RS-232 output. It supports K,J thermocouple types.
The device sends temperature measurements at approximately 3Hz to the host, but it acquire new mesure at only approximately 1Hz.
A clone is also sold under the name RS 55II (aka RS 615-8212).
Hardware
Thermometer:
- Fujitsu MB89P485 8-bit Proprietary Microcontroller.
- Microchip 24LC512 64 KB EEPROM.
- TI ADS1242 24-Bit, 4 Ch, delta-sigma ADC with SPI interface.
- TI OPA2335 dual opamp.
- TI OPA335 single opamp.
- NXP HEF4053BT triple SPDT analog switch.
USB cable:
RS-232 cable:
Photos
Those pictures are from the RS 55II clone.
Protocol
Data is sent on the serial port at 9600 baud with 8 data bits, no parity, 1 stop bit. The thermometer can send live samples as well as memory logged samples.
Generic Packet Format
All the data sent by the thermometer is packetized following this generic format.
Byte | Description |
---|---|
0-1 | Packet synchronization pattern : 0x55 0x55 |
2 | Packet type |
3 | Content size |
4-(size+3) | Packet content |
size+4 | Packet checksum (simple sum of bytes 0 to size+3) |
Packet type 0x00 content: live data
This type of packet contains live values which are displayed on the screen, especially the primary and secondary temperature displays and the time display, as well as the related flags. It also contains the live samples from the two temperature probes, whether they are displayed or not.
Byte | Bit | Description |
---|---|---|
0 | Probe type: 1 for K type, 2 for J type | |
1 | Selected display unit: 1 for °C, 2 for °F, 3 for °K | |
2-3 | Temperature the primary display shows (16 bits signed little endian) | |
4 | 0 | Primary display temperature factor: 0 when temperature is in °, 1 when temperature is in tenth of ° |
1 | Unknown (always 0) | |
2-3 | Primary display unit: 1 for °C, 2 for °F, 3 for °K | |
4 | Primary display shows T1-T2 | |
5 | Primary display shows ---- (no probe connected, reported temperature is 0x7FFF) | |
6 | Primary display shows ---- (during boot/initialization) | |
7 | Primary display does not show a temperature (in setup menu for example) | |
5 | 0-1 | Source for the primary display: 1 for T1, 2 for T2, 3 for T1-T2 |
2-3 | Unknown (always 0) | |
4-7 | Special primary display modes: 0x10 for Setup, 0x20 for Hold, 0x50 for log recall | |
6-7 | Displayed time (16 bits little endian, representing 100*hours + minutes) | |
8 | 0-6 | Unknown (always 0) |
7 | No time is currently displayed (the displayed time value is meaningless) | |
9 | 0-3 | Unknown (always 0) |
4-7 | Source for the displayed time: 0x10 for Setup menu, 0x30 for Logging time, 0x60 for log Recall time, 0x80 for MAX/MIN/AVG time | |
10-11 | Temperature the secondary display shows (16 bits signed little endian) | |
12 | 0 | Secondary display temperature factor: 0 when temperature is in °, 1 when temperature is in tenth of ° |
1 | Unknown (always 0) | |
2-3 | Secondary display unit: 1 for °C, 2 for °F, 3 for °K | |
4 | Secondary display shows T1-T2 | |
5 | Secondary display shows ---- (no probe connected, reported temperature is 0x7FFF) | |
6 | Secondary display shows ---- (during boot/initialization) | |
7 | Secondary display does not show a temperature (in setup menu for example) | |
13 | 0-1 | Source for the secondary display: 1 for T1, 2 for T2 |
2-3 | Calculated value on the secondary display: 1 for MAX, 2 for MIN, 3 for AVG | |
4-7 | Special secondary display modes: 0x10 for Setup, 0x20 for Hold, 0x40 for Logging index, 0x70 for log Recall index | |
14-15 | Temperature from T1 even if it is not on the display (16 bits signed little endian) | |
16 | 0 | T1 temperature factor: 0 when temperature is in °, 1 when temperature is in tenth of ° (seems to be fixed to tenth of °) |
1 | Unknown (always 0) | |
2-3 | T1 unit: 1 for °C, 2 for °F, 3 for °K (seems to be fixed to °C) | |
4 | Unknown (always 0) | |
5 | No probe connected on T1 (reported temperature is 0x7FFF) | |
6 | Invalid temperature for T1 (during boot/initialization) | |
7 | Unknown (always 0) | |
17-18 | Temperature from T2 even if it is not on the display (16 bits signed little endian) | |
19 | 0 | T2 temperature factor: 0 when temperature is in °, 1 when temperature is in tenth of ° (seems to be fixed to tenth of °) |
1 | Unknown (always 0) | |
2-3 | T2 unit: 1 for °C, 2 for °F, 3 for °K (seems to be fixed to °C) | |
4 | Unknown (always 0) | |
5 | No probe connected on T2 (reported temperature is 0x7FFF) | |
6 | Invalid temperature for T2 (during boot/initialization) | |
7 | Unknown (always 0) |
Packet type 0x18 content: Logged data start
This type of packet indicate the start of logged data transfer. Live data transmission is interrupted until a logged data end packet is transmitted.
Byte | Description |
---|---|
0 | Unknown (always 0) |
Packet type 0x11 content: Log metadata
TODO
Packet type 0x14 content: Logged data
TODO
Packet type 0x19 content: Logged data end
This type of packet indicates the end of logged data transfer. Live data transmission starts again right after this packet. There is no content in this packet type (content size is 0).