I have a project in mind for a robot which is able to recognize surfaces, and thought about including the following sensors:

  • a temperature sensor
  • a colour sensor, or a complex of electronic components to determine a colour
  • and a texture sensor, or, as above, a complex of components to fulfill the purpose

Now, I did some research on finding a(preferably small) texture sensor for soldering into an electronic circuit, similar to those little temperature sensors one can buy. I already thought that "small" would probably turn out to be not small at all before I searched. But my research has been fruitless. Not just fruitless like in "I can't find exactly what I want." but fruitless like in "I cannot find anything similar to what I want."...

Most things that turned up either were scientific papers about whole devices, or whole devices for purchase. Some company even choose "Structure Sensor" as the name of their iPad-compatible 3D scanner, which made the search utterly depressing as every second article I found is about buying some pre-built iPad device.

All I need is the electronic component, nothing else. So hope that any of you people can spare me some research time and recommend me a company/site/whatever which sells such texture sensors.

(Btw., I do know that surface sensors are probably a bit way more complex than temperature sensors, and my hope for getting what I want is low, but just because I cannot find something, ot does not mean that it doesn't exist.)


3 Answers 3


You might try a simple microphone. They're available in tiny surface mount packages:

SMD microphone

You'll need to rub it across the surface, and you should be able to recognise different surface textures by the sound they make.

Surface sounds

Do a Fourier transform on it, and you should be able to tell something about the scale of the surface textures.

You might not want to rub the microphone itself on the surface. Rather rub something else, and listen to the sound. Try dropping a blob of silicone rubber over the hole, and let it set. When the silicone rubs on a surface, the vibrations should transmit fairly efficiently into the microphone.

  • 1
    $\begingroup$ +1 for Fourier transform of a microphone signal. That should be a great way to distinguish textures. $\endgroup$
    – Ben
    Commented Nov 6, 2014 at 2:52
  • $\begingroup$ The problem I see there is, that e.g. in two equally rough pieces of plastic the...dispersion(?) of highs and lows would still be different between both, so different sound patterns would be created...I think? Still, I guess this could be solved by moving the microphone over a bigger area, to see how much of the sound pattern equals the ones in the database... But the same problem would probably exist when using the mouse sensor... $\endgroup$
    – Merlin
    Commented Nov 6, 2014 at 22:18

Texture sensing is hard. Can you be more specific on your requirements? I think texture is typically inferred from dynamics. For example, holding your finger still on a texture doesn't give you much information. You have to move your finger around on the surface to start to feel what the texture is like. You are probably feeling the friction from sheer forces, and vibrations in your finger.

You might want to check out this paper: Microgeometry Capture using an Elastomeric Sensor. They have a "portable" version which is is an 8 inch long, 3 inch diameter tube.

Some more robot tactile sensors: Takktile, SynTouch, OptoForce. They each use different sensing modalities and will have different characteristics in terms of normal forces, sheer forces, and dynamic range.

  • $\begingroup$ I don't have any necessary requirements, at the moment I'll be happy with any information I can get. I was indeed thinking about the sensor sitting at the end of the robots arm, so it can sense over the surface. Size wise, what I have been wishing for before I researched, would be in the range of a 3x1.5x0.5cm³, but I am already pretty sure that this won't be possible. Thanks for the links, I'll make sure to read up to them. $\endgroup$
    – Merlin
    Commented Nov 3, 2014 at 21:19
  • $\begingroup$ I can highly recommend the Syntouch Biotac. It can reliably distinguish between many types of surface, e.g. glass, metal, wood, leather, cloth, carpet, etc. However, it's expensive. $\endgroup$ Commented Nov 5, 2014 at 20:38
  • $\begingroup$ It indeed is...considering this is just a hobby project, it probably would be overkill...even though I must admit it would be an interesting as hell overkill... $\endgroup$
    – Merlin
    Commented Nov 6, 2014 at 22:01

This is a complete shot in the dark, but what about the sensor from an optical mouse? I mean--they are always coupled with a processor that just gives you displacement in the x and y directions, but if you interface directly with the sensor, it's essentially a low resolution camera that focuses immediately in front of it.

Edit: This link might help: http://spritesmods.com/?art=mouseeye

  • $\begingroup$ That probably wouldn't be that accurate as the camera is only laid out for making the pictures just clear enough to notice movement... But it might be possible to make a database of clearly differing common surfaces(wood, glass, fabric, rough plastic) and make the computer compare the current pictures to the ones in its database...that seems like an interesting approach for the start, I'll give it further thought... $\endgroup$
    – Merlin
    Commented Nov 6, 2014 at 21:59
  • $\begingroup$ I added a link to a project where Sprite_tm does essentially what I mentioned. I don't know if all optical mouse sensors use CCDs like the one mentioned, but some do! $\endgroup$
    – krs013
    Commented Nov 7, 2014 at 5:14
  • $\begingroup$ Pretty interesting, I think I'll try that out some time, thank you! :) $\endgroup$
    – Merlin
    Commented Nov 7, 2014 at 12:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.