I am looking for a way how to detect the rotation of an object that is hanging from the ceiling, attached with a rope. Since the object can freely rotate for many revolutions (until the rope is too twisted), there is no way to provide power to any sensors and/or microcontrollers if they are attached to the hanging object. Batteries are not an option since they would have to be replaced regularly. So I thought maybe I could pass the rope through a pipe, attach a magnet to the rope, and sense the position of the magnet by a magnetic sensor that is fixed on the pipe (see the diagram).

For context: this is an installation in an art exhibition. The object is freely hanging in the rope and is expected to be manually spun by the visitors. When it spins, sound effects are played on several speakers that are placed around the object. The object is firmly attached to the rope and thus pulls the rope along with it. The rotation would go several revolutions in one direction, and when the rope has aggregated enough resistance, the rotation would get slower until it starts going in the other direction.

The plate with magnets would be attached as close as possible to the object so that it could be assumed that the rotation of the plate reflects the actual rotation of the object.

enter image description here

Since the pipe is fixed, there is no problem powering the sensor and microcontroller to read it.

I found this magnetometer - HMC5883L and would like to know if that could be used to read the position of the magnet. Or maybe there is much better way to achieve what I'm looking for, with of without magnets.

  • \$\begingroup\$ Are you trying to avoid doing something when the rope is spinning and hence you need to know if the rope is spinning? Does the rope have to spin? More context. \$\endgroup\$
    – Andy aka
    Commented Mar 5, 2020 at 14:28
  • 2
    \$\begingroup\$ Hall switch is simpler than magnetometer. You could also use photo detectors with a slotted or marked disk if you want no magnets \$\endgroup\$
    – DKNguyen
    Commented Mar 5, 2020 at 14:43
  • 1
    \$\begingroup\$ @Andyaka edited the post to provide more context \$\endgroup\$
    – Passiday
    Commented Mar 5, 2020 at 15:01
  • \$\begingroup\$ Why a rope? Why not a shaft with a bearing? \$\endgroup\$
    – Dave Tweed
    Commented Mar 5, 2020 at 15:08
  • 1
    \$\begingroup\$ @Andyaka added to the post - because the rotation information is then used to play sound effects around the object. \$\endgroup\$
    – Passiday
    Commented Mar 5, 2020 at 15:14

1 Answer 1


If you use 2 magnetic sensors, spaced 90 degree apart, and one or perhaps multiple magnets around the rope, then you can use quadrature encoding/decoding to detect the amount and direction of rotation.

Painting the rope with vertical stripes and using a pair of optical sensors (maybe IR with IR LEDs) around the rope would be another option


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.