This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Nordic Thingy Bluetooth Speaker Control

Dear Nordic Development community,

I have a very interesting project going on based on bluetooth speaker controls.

In short words, i'd like to control the sound level of a speaker by Nordic Thingy's 9-axis accelerometer. For example, if you lift the Thingy from its original position the sound should go up, and if you lower down the Thingy the sound level should go down.

However, the Thingy is a barely new product and I couldn't manage to understand how to send the sensor output data to an another bluetooth device or a micro controller (Arduino+Bluetooth shield) apart from the smartphone.

Basically, I'd like to read the sensor output data from the Thingy by Arduino+Bluetooth shield in order to use for controlling the audio level of a speaker.

Thank you very much,

Erke

PS: One other important topic is the question of stream pairing. For example, i would like to use the Nordic Thingy as a medium for pairing the audio streaming source (Smartphone, PC or any bluetooth device) and an another bluetooth speaker.

  • Just a footnote: be careful, basically all Bluetooth audio applications are BT classic aka BR/EDR not LE. If you do it through some "hub" like mobile phone/tablet/PC which has both BLE and BT classic capabilities then it might work. Otherwise make sure that your "middle man" is able to connect both Nordic BLE chip in something like Thingy and wireless speakers. I would say connecting directly Thingy with some off-the-shelf BT wireless speaker or headphones won't work (also because BLE as well as BT classic are pretty much always point to point so whatever more complex must be routed through application layer meaning you need to have some programmable device - like Android phone, Arduino with some shields, Windows PC - to make such application).

  • So actually this degrades your question to "How to make transfer of Thingy sensor data to any BLE device so it can interpret it as control messages" (and then act accordingly - e.g. control volume on wireless speakers or whatever else, this is pretty irrelevant to Thingy and data transfer over BLE).

  • Thank you for the quick answers. The main question is as you summed up how to transfer sensor data from the thingy to arduino. For the scope of the project the bluetooth control is more important than controlling the sound. To be more clear, i only need to show the motion control capabilities of the Thingy. For example, if i lift the thingy, arduino should recognize it and should show the appropiate output (in this case lighting up an LED is also enough)

  • So do you have any suggestions for your question """So actually this degrades your question to "How to make transfer of Thingy sensor data to any BLE device so it can interpret it as control messages"""""

    Thank you again =)

  • Well that's a question more to Arduino community I'm afraid. I even don't know which BT add-on you want to use and how that works to fulfill basic BLE GAP&GATT roles to cooperate with opposite configuration in Thingy app. To be honest this is like high-level project question ("How to receive sensor data in Arduino over BLE") and it could be answered on 100 pages (if you also count source code projects). So I don't thing that's a good question to any internet forum. The way I would go is:

    • Learn from Nordic tutorials how BLE and nRF5x with Nordic stack work. Like really what are stack layers like LL, L2CAP, (G)ATT and GAP, what data structures live on each layer, what methods are used and what asymmetric roles defined etc.
    • Make Thingy work in basic demo without Arduino. I don't have Thingy myself but it comes with pre-installed FW and off-the-shelf scenarios described in the guide.
    • Once you know what is the profile and services on Thingy and what must be the opposite "app" on mobile then you just need to solve the question "how to make it with Arduino". To be honest I would give a s**t about Arduino but simply buy nRF52 DK for $40 which gives you bunch of examples immediately compatible and also more horse power than whatever Arduino...
Related