Skip to content
David Tulloh edited this page Jul 3, 2015 · 3 revisions

Android Releases

1.9.1

Released: 2015-06-30

1.9.0

1.8.4

Report that update adds a large number of dead pixels http://www.eevblog.com/forum/testgear/yet-another-cheap-thermal-imager-incoming/msg628171/#msg628171

1.8.0

Camera Software: 1.3.0.0

1.7.4

Released: 2015-01-09 Camera Hardware: 0.0.0.5 Camera Software: 1.3.0.0 Application Software: 1.4.7.4 Image processing software: 1.6.0.0

Fixes gradient issues Improves fine detail Removes emissivity setting Reads 4 degrees low (target 42deg C, read 38deg C), not an issue in 1.4.0

1.6.0

Released: 2014-11-27 Camera Hardware: 0.0.0.5 Camera Software: 1.3.0.0

Claimed to address thermal gradient problem. Does not change gradient issue. All temperature measurements incorrect by large margin (30 degrees reads as 84 degrees) Was withdrawn by Seek, users reverted to 1.4.0

1.4.0

Camera Hardware: 0.0.0.5 Camera Software: 1.3.0.0 Application Software: 1.4.0.2

Software Internals

The file seekwaredevice.java provides some interesting information

numRows            = 156
numColumns         = 208
rawBitDepth        = 16
normalizedBitDepth = 16
displayBitDepth    = 8
frameRate          = 30
name               = "SeekThermal Camera"
chipID             = "#0000001"

CR  = 13
LF  = 10
TAG = "CustomRequests"

CHIP_ID_SIZE_IN_BYTES                    = 12
COMMAND_ARRAY_INFO_SIZE_IN_BYTES         = 4
COMMAND_ARRAY_SIZE_IN_BYTES              = 64
COMMAND_ARRAY_SIZE_IN_WORDS              = 32
ERROR_SIZE_IN_BYTES                      = 4
FIRMWARE_INFO_SIZE_IN_BYTES              = 4
IMAGE_BUFFER_FRAGMENT_SIZE_FOR_SURE      = 16224
IMAGE_BUFFER_SIZE_IN_BYTES               = 64896
IMAGE_BUFFER_SIZE_IN_WORDS               = 32448
IMAGE_DELAY_VALUE_IN_MILLISECONDS        = 0
IMAGE_INFO_SIZE_IN_BYTES                 = 4
MAX_FLASHABLE_AMOUNT_OF_BYTES            = 256
MEMORY_FLASHING_TIME                     = 100
NEW_IMAGE_MEMORY_LOCATION                = 0
NEW_IMAGE_SETTINGS_MEMORY_LOCATION       = 1
ONE_BYTE_DATA_COMMAND_SIZE_IN_BYTES      = 1
ONE_WORD_DATA_COMMAND_SIZE_IN_BYTES      = 2
RDAC_ARRAY_SIZE_IN_WORDS                 = 32448
TOGGLE_SHUTTER_SIZE_IN_BYTES             = 4
VDAC_ARRAY_SIZE_IN_WORDS                 = 156
TIME_OUT_IN_MILLISECONDS                 = 1000
USB_TYPE_VENDOR_TYRIAN                   = 65

URB_SUBI_BEGIN_MEMORY_WRITE              = 82
URB_SUBI_COMPLETE_MEMORY_WRITE           = 81
URB_SUBI_GET_BIT_DATA                    = 59
URB_SUBI_GET_CURRENT_COMMAND_ARRAY       = 68
URB_SUBI_GET_DATA_PAGE                   = 65
URB_SUBI_GET_DEFAULT_COMMAND_ARRAY       = 71
URB_SUBI_GET_ERROR_CODE                  = 53
URB_SUBI_GET_FACTORY_SETTINGS            = 88
URB_SUBI_GET_FIRMWARE_INFO               = 78
URB_SUBI_GET_IMAGE_PROCESSING_MODE       = 63
URB_SUBI_GET_OPERATION_MODE              = 61
URB_SUBI_GET_RDAC_ARRAY                  = 77
URB_SUBI_GET_SHUTTER_POLARITY            = 57
URB_SUBI_GET_VDAC_ARRAY                  = 74
URB_SUBI_READ_CHIP_ID                    = 54
URB_SUBI_RESET_DEVICE                    = 89
URB_SUBI_SET_BIT_DATA_OFFSET             = 58
URB_SUBI_SET_CURRENT_COMMAND_ARRAY       = 67
URB_SUBI_SET_CURRENT_COMMAND_ARRAY_SIZE  = 66
URB_SUBI_SET_DATA_PAGE                   = 64
URB_SUBI_SET_DEFAULT_COMMAND_ARRAY       = 70
URB_SUBI_SET_DEFAULT_COMMAND_ARRAY_SIZE  = 69
URB_SUBI_SET_FACTORY_SETTINGS            = 87
URB_SUBI_SET_FACTORY_SETTINGS_FEATURES   = 86
URB_SUBI_SET_FIRMWARE_INFO_FEATURES      = 85
URB_SUBI_SET_IMAGE_PROCESSING_MODE       = 62
URB_SUBI_SET_OPERATION_MODE              = 60
URB_SUBI_SET_RDAC_ARRAY                  = 76
URB_SUBI_SET_RDAC_ARRAY_OFFSET_AND_ITEMS = 75
URB_SUBI_SET_SHUTTER_POLARITY            = 56
URB_SUBI_SET_VDAC_ARRAY                  = 73
URB_SUBI_SET_VDAC_ARRAY_OFFSET_AND_ITEMS = 72
URB_SUBI_START_GET_IMAGE_TRANSFER        = 83
URB_SUBI_TARGET_PLATFORM                 = 84
URB_SUBI_TOGGLE_SHUTTER                  = 55
URB_SUBI_UPLOAD_FIRMWARE_ROW_SIZE        = 79
URB_SUBI_WRITE_MEMORY_DATA               = 80

Processing is all done in Kelvin
Temperature limits are hardcoded to 253.15F - 523.15F

Communications from Seek discuss a flat field calibration.

Communications from Seek discuss a temporal drift algorithm. This algorithm is disrupted if the operation of the shutter is interfered with.

The functions exported by the compiled libraries can be listed.

From this we can see some of the post-processing steps used by Seek.

From 1.4.0.2 we have: A Kalman filter Median filtering Bilateral filtering Histogram creation

http://www.eevblog.com/forum/testgear/yet-another-cheap-thermal-imager-incoming/msg565353/#msg565353

Performance

Temperature values, Seek vs calibrated FLIR Decent above 20 degrees, error grows below this point http://www.eevblog.com/forum/testgear/yet-another-cheap-thermal-imager-incoming/msg586977/#msg586977

Reading of objects at -18.5 degrees C are poor http://www.eevblog.com/forum/testgear/yet-another-cheap-thermal-imager-incoming/msg584884/#msg584884