If you’ve been experimenting with development boards like the Arduino Uno, turning on a light automatically can be useful, and there is a wide variety of other things you can do with these versatile devices. On the other hand, controlling them wirelessly may seem like a challenge. After all, you have to figure out how to connect via WiFi, Bluetooth, or any other number of seemingly complicated control schemes.
[An HC-06 module connected to a development board]
The good news is that wireless control is quite accessible. In the case of Bluetooth control, all you really need is a Bluetooth receiver, such as the HC-05 or HC-06 models, which can be found online for under $10. The 05 and 06 modules look nearly the same, but they have different firmware, and 05 models found online generally have six pins soldered on, whereas 06 models will have four. The HC-05 can work in either master or slave mode, while the HC-06 can only work as a slave. You can find more discussion on the differences here.
[Jumper wires to the RX and TX connections of an Arduino Uno clone]
If you simply want to control your development board directly from a device like a smartphone, tablet, or PC, either of these modules should work. For this usage, the TX and RX from the Bluetooth module needs to connect to the corresponding pins of the development board. Provide power to it and, wiring-wise, you’re done. From there, you should be able to connect to it in the same way that you’d connect to a Bluetooth speaker or earbuds.
Once connected, the module can receive serial signals in the same manner as if you were connected to a computer via a USB cable. This means that if your board is set up to receive serial signals, it can then respond appropriately.
[Flashing an LED via Bluetooth control]
What makes Bluetooth especially interesting control-wise is that modern smartphones have Bluetooth connections built in; with the proper app, you can then send characters to your development board for control. As shown above, I’ve used this “Bluetooth Terminal” program to control a simple light flashing in response to a character input, but this concept could be expanded into a flexible robotics control system. In fact, this “Arduino Bluetooth Controller” app is set up with a GUI for easy control of vehicles and other robotic systems. If you can’t find an option that suits you, you can also use MIT’s App Inventor to create your own GUI.
For a neat example of what can be done with this besides blinking an LED, here’s an RC car controlled via Bluetooth using these techniques. For some applications, it’s hard to beat the tried-and-true (and longer range) capabilities of “normal” R/C equipment. For short range communication with a huge amount of flexibility, as well as a controller that you likely keep with you at all times, Bluetooth can present an excellent option.