Let's Make Robots!

Joystick Bump Sensor

Gives a more real "sense of touch"

Here a little tip i use to put on all of my robots:


It is a revisited bump sensor, just using one or two pins, one pin to have just an axe, two pins to have X  and Y axes.

A kind of 3D bump sensor.

You need just a joystick from any analog console or pc controller and some paperclips, obviously soldering skills and tools are needed.

Why to use this kind of sensor?

  • if you need more resolution on bumps you catch
  • if you have just a pin to use and want to sense two sides
  • if you want to sense also the height of the obstacle
  • if you ever dreamed a robot with mouse whiskers

Let's begin:


Take apart your old controller to scavenge the joystick


Desolder from PCB and see what we have here: cener pin is signal,as you can see the joystick is made of two separate potentiometers, so treat them as that.

Here is the schematized single axe of the joystick and how to wire it.

Make your PCB or just "flying" cables.


Now it's the time for the whisker:


Take away the gum from this piece, so we can use glue.


Build your whisker. I suggest to use carbon fiber rod, but paperclips are more reliable.


Make your whisker as you think is better, feel free to experiment.

Just remember to make a frontal deflector so we won't stuck into front obstacles!


Mine looks like this.


Now everithing is ready to be wired up to our robot:

So, here it is!

I hope this helps.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

glad to see you liked it, if anyone needs i can  also post an arduino example.

Interesting idea.

I think there's an edge detector in there somewhere. It might take a different shape of bumper to detect both edges (drop offs) and other obstacles. Something (for me) to think about.

I always like analog sensors over on/off sensors.


Wonderful idea! By adding weight to the tip of the whisker it could be forced to stay on the floor, when it is on an edge it goes further down giving the "oh no i'm falling!" signal.

Thank you all for reply, posting here those sensors will improve them with your ideas and will be better for us all :)

If an elegant way to detect edges will be successful, i think those kind of sensors will be a must have on every robot!

Thank YOU all :)


Instead of adding a weight to the end of the whisker, you could add a small bead/wheel/ball so that the whisker can run along the ground without dragging. Then you angle the joystick mount downwards so the springs inside it will hold the whisker down on the ground.

That has more sense! I have already did it but not tested, i'm busy with reordering cables in my huge robot.

I was also thinking (and started writting) a code for PIC12F675 to give an output ping-sensor like(a varing PWM, the more the contact on axe the more the stimulus on the pin).

So could be used also in a very cheap micro without any A/D or i²C/UART interface.

Would be not so bad also using the metal whisker as in the photos as a GND to make auxiliary bump sensors.

Pretty neat! Thanks for sharing this!