Wireless control is much more convenient especially on a significant distance. Imagine having wires from your controller to your robot! Also, making your project portable is essentially saying making it wireless (unless, you still need to plug it on mains). In this tutorial, we’ll look at popular methods in achieving arduino wireless control.
Control via Bluetooth
Arguably the most popular wireless control method is through Bluetooth. The HC-05 is a cheap Bluetooth module that can accept AT commands. Basically, it acts like a serial communication channel except, of course, being wireless.
The advantage of using Bluetooth is the possibility of adding an Android smartphone to your project. If you want to use an iPhone, you can use any Bluetooth Low Energy device which adds a lot of features to the original Bluetooth protocol.
Basic Bluetooth works by pairing which means only two devices can communicate with each other at a time. If that’s a disadvantage then go for BLE -- it has a mesh networking protocol that allows multiple devices to be connected.
Read more about how to use Bluetooth in Arduino projects.
Control via WiFi
WiFi is another popular wireless control option especially with the popularity of ESP8266 and NodeMCU. Some people have misconceptions that WiFi needs an Internet connection or a wireless router. You don’t! The ESP8266/NodeMCU can act as an access point!
The ESP8266 has evolved from a simple WiFi module to a full-fledged microcontroller with its own scripting method (lua). It is also directly supported by the Arduino IDE which means you can code it using common Arduino functions.
So aside from adding wireless control features to your arduino project, you can also use the ESP8266/NodeMCU to display sensor data to web server, log data to web apps like Google Sheets or use it with MQTT.
Control via NRF24L01
The NRF24L01 is a cheap radio module that works wonderfully, even at a distance of 1 kilometer! It is also relatively easy to use thanks to a simple Arduino library. I provided some codes on how to use the NRF24L01 as a server and as a client.
Control via LoRa
LoRa or Long Range wireless data telemetry is a technology pioneered by Semtech that operates at a lower frequency (433 MHz agains 2.4 GHz for the NRF24L01) but at thrice the distance (3000 m!). Although the NRF24L01 can cater much more data, the LoRa modules like the SX1278 is the go-to wireless choice especially on noisy environments.
I've shown how to use the SX1278 wireless module in this tutorial.
These are the four common methods in applying wireless control in your Arduino projects. If you want to learn more, I suggest you read the individual posts for each. Have fun building!