The Project board is for sharing projects based on Silicon Labs' component with other community members. View Projects Guidelines ›

Hackathon Project by Juan Benavides




Have you ever wanted to get into mobile apps development but didn't have the time to learn other programming languages?

In this blog I will show you how to create your own mobile app that connects to your Bluetooth Low Energy device.

As part of a Hackathon project, I was interested in creating my own mobile app to connect to a Zigbee-based Light that doubles as a BLE Device. In other words, it is a Light that supports two protocols; Zigbee and BLE over the same radio.

I wanted to support Android and iOS and I only had a background in Embedded Systems and a couple of days to get it done. So, after a quick Google search I was lucky to find a solution that only takes 10 minutes to develop (that's including the time spent installing the tools).

The solution is called Evothings Studio and it offers a way to develop your mobile app using familiar web technologies such as HTML, CSS and JavaScript.

One of the most amazing things is that the mobile app runs live on mobile devices while you develop and you can instantly see code changes on your apps.

The process of developing the mobile app can be summarized as follows:

  1. Get a Bluetooth Device running.
  2. Install Evothings Tools in your PC and your phone.
  3. Select an example from the Evothings list of examples.
  4. Modify the example by using the UUIDs from your BLE Device. 
  5. Connect your phone to your BLE Device to control it.



Step-by-step guide to reproduce the project


Getting a Bluetooth Device running

If you already have a BLE Device running, then the only thing you need to do in this step is make note of the following Unique Identifiers (UUID):

  • BLE Unique Service Indentifier: this is the UUID of the BLE Device Service you want to control (e.g. bae55b96-7d19-458d-970c-50613d801bc9).
  • BLE Characteristic Unique Identifier: this is the UUID of the BLE Device Characteristic you want to control (e.g. 76e137ac-b15f-49d7-9c4c-e278e6492ad9).

If you don't have your BLE Device ready to go, then you can use the same one that I used from the Dynamic Multiprotocol (DMP) Light/Switch Demo. Click here and follow steps 1-5 to get it running.

Once you get it running, open the Light Project in Simplicity Studio, open the file DynamicMultiprotocolDemoLightSoc.isc, select the Bluetooth GATT tab and make note of the BLE Unique Service Identifier and the BLE Characteristic Unique Identifier as illustrated in the image below:

Figure 1
Finding your BLE Device's UUIDs in Simplicity Studio



Installing the Evothings Tools

In this step you need to install both, the Evothings Studio application in your PC and the Evothings Mobile App in your phone. Click here to install the Evothings tools and verify that everything is operational by running their Hello World example.



Select a Mobile App BLE example as a starting point

Once you verified that you can run their Hello World example, locate the example Arduino101 LED On/Off BLE and click the button Copy as shown in Figure 2:

Figure 2
Selecting one of the BLE Examples as a starting point



A window will be displayed for you to edit the project's name. You can call it dmp-light as shown in the following image:

Figure 3
Customizing the example with your own project name



Modifying the Mobile App BLE example with your own UUIDs

The next step is to edit the code. Select the tab MyApps in Evothings Studio to display your newly created example and click the button Edit and your text editor will open the folder where your example is located.

First edit the file evothings.json and replace the property uuid with your own BLE Device Service UUID as shown in Figure 4:

Figure 4
Customizing the example with your own BLE device's service UUID



Similarly, open the file index.html and replace the uuids in the functions to turn the LED On and Off, with your own BLE Device Characteristic UUID as shown in the image below:

Figure 5
Customizing the example with your own BLE device's characteristic UUID



Finally, find out what's the advertised name of your BLE Device by scanning all the BLE devices within range from your phone as shown in Figure 6:

Figure 6
Scanning BLE devices within range from your phone



Open the file index.html, locate the function app.connect and replace the advertised name of the BLE device with your own name as illustrated in Figure 7:

Figure 7
Customizing the example with your own BLE device name



Connecting your new mobile app to your BLE device

To connect to your BLE device you need to follow the same steps you made when trying their Hello World example; Start Evothings Workbench and under the Connect tab paste your Cloud Token and get a connect key using the GET KEY button. Launch Evothings Viewer on your phone, enter the connect key to hook up with your Workbench. On your computer, click the RUN button on your new DMP Light example in the Workbench.

Now you can turn the Light On/Off from your phone as shown in the image below:

Figure 8
Your new mobile app





The Evothings Studio platform is a fast and easy way to develop mobile applications for Android and iOS while supporting one single code base through the use of the three most basic web technologies (HTML, JavaScript and CSS).

For more information on how to deploy your mobile app to an app store check the following page:

For more information on how to get started developing your own Bluetooth Low Energy devices visit our website at:


  • Bluetooth Low Energy
  • Projects
  • Micrium OS
  • Wireless
  • Mighty Gecko SoCs
  • Thank you for the article. But I cannot see the images.
  • Hey Juan, truly in-depth information on "how to create BLE Mobile App in 10 minutes?", you must have done a good amount of research in finding these key prospects to incorporate in the BLE mobile application development process.

    I was wondering about the integration of IoT would be ideal with this 10 minutes of setting up, as the main purpose of BLE mobile application is bringing tech to homes and making physical devices smart to enhance the experience of using them in routine or in the professional life.

    If you are willing to emerge this with IoT tech, we would love to help, we are a mobile app development company in the USA, with the 6+ years of experience we regularly blog about the mobile app development trends and updates for the young aspirant who wants to do big in the tech development world.

    We recently shared an article on mobile app development requirements and features that as a developed we need to leverage in the application, all the components are common for mobile/web and software applications, we can tweak a bit to change their vulnerabilities.

  • Juan the one thing that intrigues me is the one app I saw on BLE Mobile Apps. The app called "iTrack", which they say was developed on Objective C helps you find the objects that you have lost. 

    It uses a Bluetooth tracking device they say. But my question is what about the range of such apps. We just don't lose things nearby right? It can be anywhere. It could be when we are on a tour or some long trip. So in such cases I feel won't it be better to develop an app for myself with the traditional mobile app development services. Here the attached agency can develop apps for me in less than 6000 dollars or a little above it. Why should I choose a BLE mobile app development company as Bluetooth range could be very less compared to the internet's availability beyond BlueTooth ranges?

  • In mobile app development user engagement is built on simple onboarding, minimalistic design, self guiding workflows and consistent performance of the application. As an Mobile app development company Hakuna Matata solution offers custom made app solutions.
  • Mobile App Development is not as easy as we think, it needs time and effort to learn about different programming languages. Software Engineers have a degree but doesn't know about how to code and structure of coding. If someone wants to develop a mobile app, then he or she contact the app development company or uses mobile app builders.
  • Hey Juan, thanks for the wonderful information. We being a mobile app development company always tries to explain these tech concepts in layman terms so that it's easier for the non-tech savvy customers. I take this opportunity to appreciate that you've covered in an easy to comprehend way, the process of a mobile app development that connects to your BLE device.
  • Scrum, an effective Agile methodology for mobile application development, Certified Scrum Master Training can solve the time management problems. It introduces a framework of so-called "sprints - short time periods, dedicated to different steps in app development. They usually vary 1 to 4 weeks, depending on the startup and the team.

  • Scrum, an effective Agile methodology for mobile application development, Certified Scrum Master Training can solve the time management problems. It introduces a framework of so-called "sprints - short time periods, dedicated to different steps in app development. They usually vary 1 to 4 weeks, depending on the startup and the team.

  • Hey Juan, your content on “How to Create a BLE Mobile App in 10 Minutes?” is worth a read. You have given detailed information about every aspect. It is very interesting and useful as it cleared many of my doubts regarding the BLE Mobile apps. However, the integration of IoT will make BLE devices smarter and better. Plus, I also feel that it’s less effective for long trips due to its probable shorter range.

    If you are looking for a more enhanced version, we would love to help you. We are one of the best mobile app development companies in USA Our highly skilled android app developers & iPhone app developers would love serving you.

  • Great Article!

    It is vital to know why mobile apps are in vogue and why mobile apps can exponentially help your business. First and the foremost, mobile apps will hike your business revenue by ameliorating the sales. Apart from this, it will enhance your brand awareness and your strategies. But creating an app from scratch can be a daunting task for you and you may get highly discouraged by various factors like cost, time, team, coding, debugging, publishing and so on.

    But at the end of this,  you will be able to create your own app because If you have an app idea burning in your brain, trust me you can easily create a scalable, trustworthy, user-ready and robust app with some planning and meticulous work.