Controlling A Vibrobot With Only One Motor

A cylindrical grey robot sits on a white mat. The robot is made of three grey sections connected by a series of radially-arranged copper pillars.

The vibrobot – a vibrating motor and battery attached to the head of a brush – isn’t truly a robot, since its movement can’t be controlled, but it’s whetted the interest of many future roboticists. With a clever control method, though, it is in fact possible to drive them in any desired direction while using only one motor.

[Namaskar Mitro] based the design of this robot on this research paper; if the vibrating motor is mounted at an angle above the base of the robot, it causes the bot to rotate, and if the motor is mounted off-center from the center of mass, the robot moves in a circle. Crucially, reversing the direction of the motor’s rotation reverses the direction of the robot’s rotation. By rapidly switching the direction of rotation, the bot can move in a series of short, shallow arcs which approximate a straight line.

The robot which [Namaskar] built was based on an ESP-01F microcontroller, which let it be remote-controlled over Wi-Fi. It used a DRF8212 motor driver to control a vibrating pager motor, which was housed inside a 3D-printed enclosure. To move in a straight line, the ESP-01F switches the motor’s direction every 250 milliseconds, which still produces a slightly erratic movement. It can, however, approximately follow a traced path.

This adds to the previous vibrobot control methods we’ve seen: a pair of differentially-driven vibrating motors or a weight-shifting mechanism.

Thanks to [110y6] for the tip!

5 thoughts on “Controlling A Vibrobot With Only One Motor

  1. This is extremely cool! I love that he designed and built a physical controller too, rather than just a phone app.

    Namaskar Mitro did a great job with this project!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.