How to Connect App Inventor apps to Arduino Using Bluetooth
Bluetooth is a low power, short range wireless technology built in to many phones, tablets and other devices.
This capability may be extended so that App Inventor apps can communicate with Arduino-based devices and other embedded systems.
This tutorial describes how to interface App Inventor apps running on Android to Arduino devices, via the Bluetooth wireless link.
What is Bluetooth?
Bluetooth is an industry standard for low power, short range wireless communications between devices such as personal computers, printers, smart phones, tablets, wireless headphones, wireless stereo speakers, sensor systems (like in security alarms) and other applications.
To learn more about Bluetooth technology (and why it has a funny name!), please read our first tutorial on Bluetooth.
What is Arduino?
Arduino is an open hardware, open software platform for building small electronic devices. The Arduino board is a “microcontroller” – that is, a complete – albeit small, inexpensive and with limited function – computer. Arduino is a popular choice for do-it-yourself projects and is well established in the “Maker” community of DIY project builders. (Side note: I will be at the San Francisco Maker Faire on Saturday, May 16th, 2015).
This is not a tutorial about Arduino boards, software or electronics and presumes the reader is familiar with Arduino development. To learn more about Arduino (and you should learn more about it!) start at the Arduino web site.
This tutorial assumes you have the Arduino software development environment installed on your computer and are familiar with Arduino development.
HARDWARE: Setting Up Arduino for Bluetooth Wireless Communications
There are several versions of the Arduino board; I used the Uno version but others should work just fine.
The Arduino board does not contain Bluetooth hardware – to implement Bluetooth requires using a third-party Bluetooth module. I use the JY-MCU Bluetooth module . IMPORTANT – not all Bluetooth modules will work with App Inventor! While new versions of Android support all versions of Bluetooth, App Inventor (at the time of this writing) supports “classic” Bluetooth only. In particular, App Inventor does not support the newer Bluetooth LE (Low Energy) version, at least it does not support the Bluetooth LE module that I have.
I can confirm that the JY-MCU Bluetooth module works but the Bluetooth LE modules I have do not work with App Inventor. My phone can see the Bluetooth LE device but the App Inventor source code cannot communicate with the LE devices.
The module is also available from other vendors.
Photo shows my Arduino UNO board, at left, a prototyping breadboard with a status LED set up, and the JY-MCU Bluetooth module, just above the breadboard.