Seeking device to control intensity of 6 coin vibration motors

Goal: I’m after a device that can receive information from another device (Arduino Uno WiFi Rev2) via bluetooth/wifi. I want the device to receive the information and create vibrations of variable intensity via the coin vibration motors (VC1018B001L). Please note stand alone IMU and coin vibration motor can be substituted for others.

Current understanding: The device will be required to transmit an output of voltage that is able to be increased and decreased in the range of 0-3.5V, based on the information received. And the variable voltage will supply the coin vibration motor and create variable intensity of vibration.

Application: A code will be set so 0 degrees (deg)-100deg of a certain plane assessed via Arduino Uno WiFi Rev2 will ultimately create a vibration of a coin motor 0%-100% intensity with intensity correlating to the degree .This will be set for 6 different channels (3 different planes, 2 different degree ranges).

Recap: I am after a product that I can attach Coin Vibration Motors to (ideally 6), and create a vibration intensity corresponding to the information that is being received via wifi/bluetooth from the Arduino uno WiFi Rev2.

Apologies, I do not have electrical or coding knowledge, please explain the solutions as best as you can for someone without experience in this field. Thanks in advance for your help.

1 Like

Hey Mitchell,

A Raspberry Pi Pico W ought to do the trick here:

Make sure to check the recommended essentials on the page for the expansion board, a micro-USB cable to use it, etc.

Instead of providing an analog voltage out from 0 - 3.5 V what you could do, is pulse the coin vibration motors using PWM. This just means setting a duty cycle on the pin that states how long it should be on versus how long it should be off. Essentially, you’re doing this:

PWM on Explore M3 - Tutorials

For hosting an API (Application Programming Interface, imagine a without any web content) that can be interacted with via an network connection over WiFi, see this guide:

https://projects.raspberrypi.org/en/projects/get-started-pico-w/2

From there, in MicroPython (you can use Thonny to program it to the Pico fairly easily - https://thonny.org/) you can write a simple script to listen for GET requests to an endpoint, and specify in the URL some parameters for how to control the motor/s. You can then set the PWM for each of the connected motors based off of the last request.

As a bit of parting advice, I’d highly suggest asking GPT for suggestions on this one. I know the world of AI generated information (and misinformation :sweat_smile:) taking over has some taboos associated with it, although quite frankly there is no better resource for bespoke and relatively simple project design like this on getting coding and design advice:

https://chat.openai.com/auth/login

1 Like

Welcome Mitchell!

To control the motors you’ll also need a driver, a MOSFET will work perfectly: MOSFET Power Switch Module | Core Electronics Australia

This guide here should help you connect everything: MOSFETS for Makers | Controlling Higher-Powered Components with N-channel MOSFETs - Video Tutorial Australia

1 Like