Wearable Vibration Devices with BLE Functionality HELP

Hi everyone,
I'm pretty new to the software side of Arduino and need some help with a project I'm working on.

I am trying to make two vibrating bracelets, these will be worn by an individual on either side of the body (both wrists).

Bracelet 1 has a Beetle BLE, a LiPo battery, and a vibration motor.
Bracelet 2 has an identical set-up with a Beetle BLE, a LiPo battery, and a vibration motor.

I used this guide to make each bracelet vibrate independently of each other however I want need the devices to vibrate in an offset fashion.

In other words:
bracelet 1 vibrates for 1 second and stops for 1 second while bracelet 2 vibrates for 1 second and rests for 1 second. So you have only one bracelet vibrating at a time.

The issue I am having is I can't find any information on how to accomplish this connection between devices.

I was hoping you kind people could point me in the right direction for research and learning resources to get some code written to make it work.

I saw a project that connect two Beetle BLE's for proximity sensing but the provided code makes zero sense to me (just lack of knowledge in the syntax) so maybe I can repurpose some of that code for what I need?

for further information on the project:
There is currently a device on the market that does this but it is very very expensive for what it is and I am hoping to add features in the future.

These devices are intended for "bi-lateral stimulation" used to help reduce anxiety and stress.

Later down the line I want to control the bracelets with an app on my phone to start and stop the devices and have different vibration patterns, or have it vibrate with songs playing on the phone but I have a friend who does app development for that side of things.

Even further down the line I want to replace the second bracelet with a smartwatch but then it gets app heavy and not so much Arduino based.

Thanks in advance for any help and insight.

With the usual generic response, We know NOTHING about what you list, because yougave NO information.
Paul

The hardware isn't exactly my issue other than the beetle BLE. The shaft-less motor and battery are just generic amazon, "associated components" are transistors, resistors, and switches to power the whole thing on and off.

I have the circuit made and the code written to vibrate either device independently but I need them to communicate with each other to get the timing of the alternating vibrations right and that's the part I need help with.

Then show the schematic of your project and the code you have that works.
Paul

THIS is where I got my schematic and base code. I have tested it and it works well.

Sorry about not being more verbose in my original post wasn't sure how much detail you all would want...

Ok, but how do you have it wired right now for the two motors you are using? That and the code you are using for the two motors.
Paul

Would you mind naming the commercial device?

I too have a similar project but my target is Essential Tremors.

1 Like

TouchPoint is the one I am referring to. They are about $180 a pair from them. If I can get my hardware to work it would be possible to make a set for around $30 and leaved it open-source for the community.

Ok, but how do you have it wired right now for the two motors you are using? That and the code you are using for the two motors.

I currently only have one motor wired to one BLE Beetle. Its the exact set up in the link I sent just with the Beetle instead of the UNO they used.

Sorry for not making that clearer.

I can write some code to run two motors in the right alternating frequency from one beetle if that helps at all.

Also HERE is the project that I saw interfacing two Beetle BLEs for proximity sensing.

This is becoming less clear all the time. I understood you were needing to alternate the use of two devices on one Arduino. Is the ultimate goal something else? And what is the power source for running all this?
Paul

This is becoming less clear all the time.

That's my fault, apologies...

I will edit my original post as well to try to clear it up but here's a (hopfully) more clear outline of what I am doing:

I am trying to make two vibrating bracelets, these will be worn by an individual on either side of the body (both wrists) so they are short-range connections and being a wearable Wi-Fi wouldn't work too well I think.

Bracelet 1 has a Beetle BLE, a LiPo battery, and a vibration motor.
Bracelet 2 has an identical set up of a Beetle BLE, a LiPo battery, and a vibration motor.

I need the bracelets to vibrate in an alternating fashion,
i.e. bracelet 1 vibrates for 1 second and stops for 1 second while bracelet 2 vibrates for 1 second and rests for 1 second. So you have only one bracelet vibrating at a time.

I need them to be synchronized and wireless from each other in order for them to perform their function.

For reference HERE is a commercial product that currently does this but for wayyy too much money.

If I am successful I want to offer an open-source version of this for the community and further down the line have a phone app to control the bracelets and perform other functions, like updates or vibrate to stereo-channel music, etc.

I hope this helps and again apologies for not being clearer from the start...

Much clearer, but please don't change your previous posts or no one will be able to follow the conversation.
First, the two devices cannot have identical programs. One must be a master and the other a slave. The master will have to tell the slave when to do it's thing and the slave will have to wait until told.
I have no experience with BLE, but can you get the two boards to link? That will be the first step. Then add code to the slave to wait for a command from the master before beginning a vibration cycle. The master will have to do a vibration cycle and then tell the slave to begin.
Paul

Glad I could clear it up.

Got it, I figured I would have to use a master to signal the slave as you said.

There is a project that manages to connect the two devices for proximity sensing (I linked it in a previous post #9) but I can't make much sense of what part of the code connects the two devices vs. what is there for proximity sensing.

I also have no experience with BLE so the connection is where I get stuck. I know how to get the vibration code working just not how to get a signal sent from bracelet1 to bracelet2. Google hasn't really been helping me as far as actual code to write. I know its possible I just can't find a clear place to learn the syntax to do it.

Thank you for the patience and help!

Did you search the forum for "BLE"?

1 Like

I did but didn't see any topics that caught my eye. I'll have to scroll through them all hoping I find some stuff that helps. I also have to see if I can use the same ESP32 stuff on the Beetle BLE or if there is a different syntax due to the firmware differences. I might resort to asking DFRobot for help directly and hope they can help.