Hamamatsu Dental CMOS Sensor documentation: Part 1: the Serial Number handshake

After working on the Hamamatsu sensors for some time, I was able to figure out the USB protocol.

 

USB Sensor information

For the sensor connection, you first have to know where to connect to. Here is the basic information:

Vendor code: 0661 (hex); 1633 (dec)
Product code: 4400 (hex); 17408 (dec)

It appears, that every time you want to send data to the sensor, you need to send the endpoint to endpoint #2. To get data, you need to listen in to endpoint #6.

 

Handshake request

Send the following 12 bytes of code to the sensor (hexadecimal little endian) using endpoint 2:

c8:06:01:b8:01:b5:00:00:75:30:ab:cd

Of course, make sure all 12 bytes were sent to the device.

 

Data Back

Expect to get back 16 bytes of data. Assuming we get a byte array (zero indexed) called “dataBack”, here is what appears to be the results of the data:

 

dataBack[15] = Firmware version
dataBack[14] = Sensor Type
dataBack[10] + (256 * dataBack[11]) = Sensor name

 

To make it match the serial number that your sensor came back with, you simply convert both the sensor type and the name to a hexadecimal number and then combine it to a single string of “[sensorType][sensorName]”.

Leave a Reply

Your email address will not be published. Required fields are marked *