Arduino LED On/Off BLE

Control The Arduino From An App Using BLE. This example shows how to make an app that controls an Arduino board.

Communication with the Arduino is made using Bluetooth Low Energy (BLE). Your Arduino board therefore needs a BLE shield for this example to work.

Source code

You can browse the source code for this example at the Evothings GitHub repository

The file index.html is the entry point of the app. File arduinoble.js contains functions for writing to the Arduino.

The file arduinoledonoffble/arduinoledonoffble.ino contains the Arduino BLE server code that listens for commands from the app.

What you need

This example runs in Evothings Viewer on Android or iOS.

You need to run the example in Evothings Viewer. Alternatively, you can make a Cordova application if you wish to distribute the app. You then need to include the Cordova plugin com.evothings.ble. Read more in the documentation of the Evothings Viewer.

An iOS device or an Android device with support for Bluetooth 4.0 (which includes BLE) is required. In addition Android 4.3 or later is needed. Please note that BLE support on Android is still not fully mature. As a result, you may experience difficulties running this example. If the app stops working, restart Evothings Viewer and/or reset Bluetooth on the device.

For the Arduino setup, you need:

  • LED
  • Resistor 220 Ohm
  • BLE shield
  • Install BLE libraries in the Arduino IDE library folder. Go to the page Getting Started with BLE Shield and follow the instructions regarding libraries setup.

Here is the sketch:

Here is a photo of a board configured to work with this example. Note that output pin 2 is used (it may look like pin 3 in the photo).

How to get up and running

Follow these steps to get started with this example:

  • Wire up the Arduino board.
  • Open arduinoledonoffble.ino in the Arduino development tool.
  • Upload the program to the Arduino.
  • Run Evothings Workbench on your desktop/laptop computer.
  • Run Evothings Viewer on an iOS or Android mobile device and connect to the Workbench.
  • Launch the example "Arduino LED On/Off BLE" from the Workbench window.
  • Follow on-screen instructions in the app.
  • If everything works, you should now be able to turn the LED on and off using the buttons in the app. If it does not work, check your wiring and that the right pins are used (remember pin 2 is used for output).
  • Now you can proceed with making your own sketch designs and add more buttons to the app.