Bluetooth absolute n00b seeks feasibility/sanity check

As with any technology approached from zero knowledge, BT is a bit overwhelming at first glance.

I have been dreaming for some time about "wireless sensors" for game controller applications, to get away from the tyranny of wire (and i2c bus lengths!) that make wearables and "flexibles" challenging to implement. Everybody wants mocap, but nobody wants to wear a hokey wiring harness or even a tight, sweaty jumpsuit. So of course google led me eventually to IoT and Bluetooth.

I came across a multi-sensor device "to die for" -- spendy, but (seems) very small, light, capable and energy efficient: RSL10-SENSE-GEVK

I then started googling for "Arduino bluetooth" and it seems there are several prefab boards equipped with BT capability. Plus there are various headers shields available (Adafruit Bluefruit LE Shield - Bluetooth LE for Arduino : ID 2746 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits is fairly representative) to add BT to a trad Arduino. I'm not quite sure whether the official Arduino MKR 1010 is a header shield (it looks like one) or a standalone Arduino. Anyway, there are options out there for an Arduino that speaks BT.

Now my ignorance kicks in. Could it really be as simple as "use the Arduino BLE library with an appropriate board, and your Arduino can talk to the RLS10"? Can the Arduino be either a slave or a master on the "pico-net" (new jargon to me!) and talk to any BT device(s) it detects? Are Bluetooth and BLE two different protocols, or do they inter-operate?

I've consulted a couple of "cool things you can do with Arduino and BT" online, hoping to get more clues... but they seem mostly oriented to using the Arduino to offer data to a tablet or phone app (where I assume the tablet or phone is the master). Haven't found any yet where slave wireless devices send data to the master Arduino which then uses the data to Do Stuff.

So, hoping for a short "is it feasible" answer, yes or no: if I had a couple of RSL10's and a BT-equipped Arduino, would I be ready to read sensor data without wires? If not, what else would I need?

Tazling:
Plus there are various headers available (Adafruit Bluefruit LE Shield - Bluetooth LE for Arduino : ID 2746 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits is fairly representative)

The correct term is "shield", not "header". The headers are the little metal pins that make the electrical connections. If you call shields "headers" here, it will only cause confusion. Note that that Adafruit shield doesn't come with the headers pre-soldered, so you will need a soldering iron, solder, and the ability to use them if you want to make that shield work.

Tazling:
I'm not quite sure whether the official Arduino MKR 1010 is a header (it looks like one) or a standalone Arduino.

It's a standalone Arduino board. It kind of looks like a shield because it has the pass-through headers (female headers on the top of the board, male on the bottom), but that is just a useful feature that allows you to plug it into a solderless breadboard or to chose whether you want to put a shield on the too or the bottom of the board.

@pert sorry, I do know better :slight_smile: edited post.

Tazling:
Everybody wants mocap, but nobody wants to wear a hokey wiring harness or even a tight, sweaty jumpsuit. So of course google led me eventually to IoT and Bluetooth.

Not everybody wants mocap. Quite a few of us don't even know what it is, but IoT and Bluetooth are far from the same thing. One or the other would be peripheral to whatever the real problem is.

Anyway, there are options out there for an Arduino that speaks BT.

Any Arduino can use Bluetooth. There is an ESP32 development board that has BLE on board. There may be others.

Could it really be as simple as "use the Arduino BLE library with an appropriate board, and your Arduino can talk to the RLS10"?

IF the RLS10 is a BLE compatible device, then quite likely

Can the Arduino be either a slave or a master ........ and talk to any BT device(s) it detects?

Apart from the HC-06, any Bluetooth on Arduino can be slave or master and can indeed auto-connect - even to an HC-06. Once the connection is made, it doesn't matter which is slave or master.

Are Bluetooth and BLE two different protocols, or do they inter-operate?

BLE is really bluetooth in name only. It can be backwards compatible, but it isn't a good idea,and I don't think that works with the plain-vanilla Blueteeth commonly used with Arduino.

Haven't found any yet where slave wireless devices send data to the master Arduino which then uses the data to Do Stuff.

No problem there, Bluetooth is just serial transmission. See above The only problem is that your real needs are unclear. If you want local communication with several devices, i.e. a network, you might be better off ditching Bluetooth for an NRF24 network, for which there is plenty of support around here.

Nick_Pyner:
Not everybody wants mocap. Quite a few of us don't even know what it is,

Motion Capture. Quite an ambitious project for an experienced Arduino coder.
But, if the OP develops something, I, for one, would be interested in seeing the resulting project.

(I am imagining a creative Halloween gag.)

Well -- full disclosure -- I am only a semi-experienced Arduino coder! But I did manage to turn an MTB (mountain bike) into a USB game controller. It was my first Arduino project. It was huge fun.

Youtube Video

this is version 1; I'm now riding version 2 but have not yet made a fresh video. Version 2 uses a Due and a touchscreen and the packaging looks like this:

Encouraged by the success of my first Arduino-based USB game controller, I'm now interested in the possibility of instrumenting the human rather than the bike -- which opens up possibilities for various other kinds of workouts. Full-on animation-grade mocap, nah. Too much work. But just to translate into game controls, fairly crude capture would do. Seems like an opportunity for some more serious fun.

There are some very interesting DIY mocap projects out there, but most of them feature too much exposed wire. Wireless seems like the only way to go. I will start investigating NRF24, thanks for the tip. What drew me to BLE was the low power consumption hence ability to power the transmitter with a single coin cell (lightweight, wearable). All the other IMU devices I've seen, until that RSL10, seemed too clunky for workout wear; it's the first one that made me sit up and say Aha, Doable.

Anyway, I'm off to do some miles through Arizona this evening, courtesy of American Truck Simulator and Arduino...

Tazling:
Well -- full disclosure -- I am only a semi-experienced Arduino coder! But I did manage to turn an MTB (mountain bike) into a USB game controller. It was my first Arduino project. It was huge fun.

Youtube Video

I'm impressed.........

Well I have been reading up on wearable coin-cell powered BLE IMU, and so far it's kind of discouraging. There's not a lot of low-level doco out there. Seems like the vendors want to hand developers a big, cumbersome OO SDK (for Windows, iOS or Android, sometimes OSX and Linux as well) written in C++, Python, Java, or C#...

I dug for over an hour for low-level doco on mbientlabs very cool Meta series, without finding anything useful. I was hoping for the kind of manual that tells you what bytes to send over the BLE connection to get the device to send data back, and the format of the return message. Ya know, really basic stuff like that. No such luck. It's all "how to use the tippy-topmost level of our [imho] over-objectified and labyrinthine iceberg of high-level language". Sorry, my assembly-language history is showing :slight_smile:

Perhaps the time is not quite right for what I'm looking for... the less "cooked" (packaged and wrapped up in opaque SDK) modules are still large, clunky, and power-hungry; the lean and sleek coin-cell powered wearables seem buried beneath mountains of "friendly" SDK appropriate for building smart phone and tablet apps, not talking to stripped-down MCUs like Arduino. Ah well. There's lots of upgrades on my list for USBcycle -- it's not like I really needed an ambitious new project.

[UPDATE:] well, I've decided to get some toys to play with the concept of DIY wearable BLE IMU. The core element is the Arduino Nano 33 BLE SENSE, a 3.3v Nano with built in IMU and BLE. I plan to power it with RC aircraft LiPo packs (1s, 3.7v) plus the LiPower battery regulator/charger breakout from Sparkfun

Then I'll need an add-on BLE module for a normal Arduino, and there are tons of those on Ebay from HK and China -- typical one:

I think that's enough parts to start out with: the Nano/battery unit should be light enough (battery only 4g) to attach to a wrist band or fingerless glove and start finding out what kind of response time I can get and how the IMU data look as I move it in various axes. It would also be possible to hold a wiichuck in the hand so as to have joystick and one button as well as IMU data. Ohboy, I see fun ahead.

Dunno about everyone else, but I think the prototyping and proof of concept phase is by far the best part of any project. Packaging is a drag, and maintaining/updating a finished project is tedious. But that initial rush of checking out new modules and finding the limits of the possible, that's the Joy of Techs :slight_smile: