Introduction: Solving LinkIt ONE’s Bluetooth Connectivity

As many of you should know by now, the LinkIt ONE has quite a lot of features, including internal WiFi, bluetooth, GSM and GPRS, but in a few of the Instructables here, I saw that people were using the external HC-05 bluetooth module, in place of the LinkIt ONE’s internal bluetooth. This was because few Android apps are compatible with the LinkIt ONE’s bluetooth.

I myself could not connect my LinkIt ONE via bluetooth to the BlueTerm application, so then I had to find an alternate one. Using the hints in the Mediatek Developers Guide, I modified the Bluetooth chat sample app and made an application which could interact with the LinkIt ONE.

Note: The main change which enables BT apps to work with the LinkIt ONE is given in the developers guide. I have attached a screen-shot of that above. You can look at that and change it in your own apps, as advised by Instructable user "IAmBruce". Along with that, I have also changed the interface of the bluetooth chat application according to the material design guidelines, which is completely optional if you want to make your apps work with the LinkIt ONE's internal bluetooth.

In this Instructable, I will tell you how to overcome the connection problem, by using my bluetooth terminal Android application for the LinkIt ONE. This way, you will not need to connect other external bluetooth modules to your LinkIt ONE, rather you can use the LinkIt ONE’s internal bluetooth, as intended by MediaTek.

Step 1: Installing the Application

Download the attached apk and then install it. Make sure you have enabled installing 3rd party applications, in your device settings.

Note: This application will work only with Android 4.0.3 and above.

Once you have installed the application successfully, move on.

Step 2: Testing the Application

We need a way to test the application. For that, take out your LinkIt ONE and upload the attached code to it. Do not forget to connect the WiFi/BT antenna to your LinkIt ONE.

The code will make the LinkIt ONE initialize a bluetooth server and when a connected client sends “On” or “Off”, the LED on pin 13 will be switched on and off respectively. I have commented on nearly each line of the code to help you understand it, so that you can make modifications to it as necessary.

Remember to select the correct COM Port, by confirming it from the Device Manager first, before uploading it otherwise it will not work. Open the serial monitor after the code is uploaded and then if you see retrying, read on

Note: Pair your LinkIt ONE with your Android device before opening my application.

Open the application your Android Device. It will prompt you to switch on bluetooth, if it is not already on. Allow it to do so. Then touch the bluetooth icon on the top right of the screen. I will show you a list of your paired devices, select the Linkit ONE from that. It should be “My_BTServer”, if you have not modified my code. It will connect and then you will see “Connected to My_BTServer”. Then type “On” and press ‘Send’. Hopefully, the LED on LinkIT ONE will light up and you will receive a message from the LinkIt that the “LED is on”. Sending “Off” will switch off the LED and you will receive a message that the “LED is off”.

So this was pretty easy and it provides you with an application which in my opinion looks better than the BlueTerm app’s blue and white interface and small font.

Because this is an Android application, and Android devices vary a lot, I cannot guarantee that this will work for everyone perfectly. So if you have any problems, please leave a comment and I will help you out.

Comments

author
KRolander (author)2017-05-04

Hy, I tried your app, it works pretty well, I realy liked it:) Actually I have to do an project at the University and I realy interested about how you made the android app. Could You send me the sourc code of your android app? Or just explain me how to make bluetooht connection with an android app... Thank you for your answer :)

author
abdullahsadiq7 (author)KRolander2017-05-04

Good to know that you liked the app!
First, check out the official Android Bluetooth chat documentation here:
https://developer.android.com/samples/BluetoothChat/index.html
This will tell you how to make an app for an Android phone with which you can chat, via Bluetooth.
The second one is the MediaTek LinkIt ONEs developer guide found on their website which explains how to modify the official Android Bluetooth app to work with the Linkit ONE.
That should be enough to get you working towards your own app

author
KRolander (author)abdullahsadiq72017-05-04

Thank You, very much it's gentel of You :) You helped me a lot :)

author
Jonathanrjpereira (author)2015-12-18

I followed all the steps, But after I complete these steps "Then touch the bluetooth icon on the top right of the screen. I will show you a list of your paired devices, select the Linkit ONE from that. It should be “My_BTServer” ", instead of getting “Connected to My_BTServer”, I get "Unable to connect". Help needed

author

First of all try again. If it does not work, unpair your LinkIt ONE and then pair it again. It should work. Please tell me about the result

author

I tried again but face the same problem.I dont even see the 'retrying' message

author

Firstly, you should not see any 'retrying' message as it was not coded to retry again. By retrying, I meant to click the BT icon at the top right of the screen and then touching "My_BTServer" manually.
I had found during testing this application that when we search for BT connections, on an Android device, we get 2 devices named as "My_BTServer". We are able to pair with either of them, but only one of them works with the app.
So you can do one thing. Unpair the LinkIt ONE from your Android device and search for available BT devices. Let the search complete. Hopefully, you too should see 2 devices, pair with one of them and note which one is that. Open my app, try to connect for a few times. If it says connected, congratulations. Otherwise, unpair with the presently paired one and then try again with the other one. This one should work.
Check this and tell me the results.

author
Just4Fun Media (author)2015-12-15

Thanks for the tips! This totally solved my Bluetooth bugs.

Have a great day! :-)

author

You're welcome!

author
IAmBruce (author)2015-12-14

Can you say what changes you had to make so that other developers can try making similar changes to their BT apps and get them to work with the built in BT module? If there were a lot of changes then consider posting them somewhere (or here in an archive)

author
abdullahsadiq7 (author)IAmBruce2015-12-14

That is a good idea! I have edited my Instructable to include that.

About This Instructable

2,316views

33favorites

License:

More by abdullahsadiq7:Smart Home Controller With PSoC and LinkIt ONEC StudySolving LinkIt ONE’s bluetooth connectivity
Add instructable to: