I am working on a project in which I am designing a vehicle driving simulator.

In this project I need to measure the angular displacement of the steering wheel. The car in software simulator environment will change its direction based on the degree with which the steering wheel will be rotated.

Can someone please guide me how can I measure the angular displacement of the steering wheel?

  • 2
    \$\begingroup\$ I got a Logitech steering wheel with a joystick port at Value Village for $8. But you may have different 2nd hand stores. An optical rotary shaft encoder may be beyond your budget. \$\endgroup\$ Nov 24, 2012 at 19:27

3 Answers 3


The easy way is to use a USB steering wheel game controller. If you want to use a different wheel (even a real steering wheel from the junkyard), then it's probably still easier to replace that part of the controller than it is to duplicate the sensing and force feedback.

If you're just going for a simple DIY method, then use a potentiometer that turns with the wheel.


By using a rotary encoder or, in the simplest way possible, a potentiometer, as described in this article connected to an A/D converter (the one in your microcontroller should be enough).

There is something I am working on that will need some type of angle sensor. I am going to use a potentiometer.


Consider using an accelerometer. Some well documented and easy to interface ones include the ADXL345 and the MMA7361. The former is digital, and the latter is analog.

Essentially, what I would do is place the accelerometer at the axis of rotation of the steering wheel. For example, the axis could be the Z axis. If you place the Z axis of the accelerometer parallel to, and in line with the Z axis, then the accelerometer will return the angular displacement to you about the axis of rotation. You can interpret the measurement in radians or degrees, as per your preference/requirement(s).

  • \$\begingroup\$ Thanks a lot for your help. Can you please suggest me some link where i can find some information on its usage. Actually i have never used an accelerometer before. \$\endgroup\$ Nov 24, 2012 at 17:24
  • 2
    \$\begingroup\$ -1. An accelerometer doesn't measure angular displacement, and it won't produce any output at all on the axis of rotation. A MEMS gyro does measure angular acceleration, but it's a very expensive and complicated device for such a simple use, and the results would be less accurate than using a much simpler potentiometer or rotary encoder. \$\endgroup\$
    – Theran
    Nov 24, 2012 at 18:30
  • 1
    \$\begingroup\$ Accelerometers can certainly measure angular displacement, and are often used as the basis of inclinometers. A tri-axis accelerometer could be used as the basis for the steerimg wheel application, and the accelerometers are not prohibitively expensive in large volumes. Think Wii controller. Certainly using a USB wheel designed for gaming would be easier to do in this case.. and the description in this answer does not describe a complete accelerometer/gyro base solution - but it is certainly possible. \$\endgroup\$
    – B Pete
    Nov 25, 2012 at 22:12
  • \$\begingroup\$ @B Pete The thing is that its an academic project certainly i won't be allowed to used an already built gaming steering wheel.So if i have to use an accelerometer can you suggest me some particular model of accelerometer that can do the job for me. \$\endgroup\$ Nov 27, 2012 at 14:08
  • \$\begingroup\$ @RehanAbbasi Ya, like I mentioned. Go with the ADXL345 if you want digital outputs, or MMA7361 if you want analog. They're really simple to interface with microcontrollers as well. And I have no idea why Theran believes accelerometers can't measure angular displacement. I have personally used them for that precise application. However, I completely agree that using a potentiometer is by far the easiest and simplest possible solution. \$\endgroup\$
    – capcom
    Nov 28, 2012 at 3:01

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.