Weekly Robotics logo
Weekly Robotics Beginner-friendly tutorials, every week
Wireless Communication for Robots: WiFi, Bluetooth, and LoRa
Communication

Wireless Communication for Robots: WiFi, Bluetooth, and LoRa

Cutting the cord opens up new possibilities. Compare WiFi, Bluetooth, and LoRa for different robotics applications, with practical setup guides.

A tether is fine on the bench, but the moment your robot needs to roam — across a room, a warehouse, or a field — that cable becomes a leash. Going wireless lets your robot move freely, lets you monitor it from a laptop, and lets you drive it with a gamepad from across the room. The catch is that there is no single “best” wireless technology. The right choice depends on how far the signal must travel, how much data you need to move, and how much battery you can spare.

Why Go Wireless

Wired links (USB, UART, Ethernet) are reliable and simple, but they physically constrain the robot. Wireless trades that physical freedom for three new things you have to budget for:

  • Range — how far apart the transmitter and receiver can be before the link drops.
  • Bandwidth (data rate) — how many bits per second you can push through the link.
  • Power — radios draw current, and the high-bandwidth ones draw a lot of it.

These three pull against each other. You generally cannot have long range, high bandwidth, and low power at the same time. Understanding that trade-off is the whole game.

The Three Contenders Compared

FeatureWiFiBluetooth ClassicBluetooth Low Energy (BLE)LoRa
Typical range10–50 m indoors~10 m~10 m2–15 km (line of sight)
Data rate10s–100s of Mbps~1–3 Mbps~125 kbps–1 Mbps0.3–50 kbps
Power useHighMediumVery lowVery low
LatencyLow (ms)Low–mediumLow–mediumHigh (100s of ms)
Best robotics useVideo, ROS 2 over networkAudio, streaming telemetryConfig, gamepad, sensor telemetryLong-range telemetry, remote sensors

Read this table as a map of trade-offs, not a ranking. WiFi wins on bandwidth and loses on power; LoRa wins on range and loses on data rate. There is no universally “best” row.

WiFi: When You Need Bandwidth

WiFi is the right call whenever you need to move a lot of data — a camera video stream, a ROS 2 network shared between robot and laptop, or remote debugging over SSH. It operates on the 2.4 GHz and 5 GHz bands and delivers tens to hundreds of megabits per second.

The cost is power and range. A WiFi radio can draw hundreds of milliamps, and indoor range is usually limited to a single room or two through walls. For a battery-powered robot that needs to stream video, WiFi is still the only practical option in this list — just budget for the current draw (see Week 14).

A favorite cheap WiFi microcontroller is the ESP32: a dual-core MCU with WiFi and Bluetooth built in, costing only a few dollars. Here is a minimal Arduino sketch that connects to a network and serves a single sensor reading over HTTP:

#include <WiFi.h>

const char* ssid     = "YourNetwork";
const char* password = "YourPassword";

WiFiServer server(80);   // listen on port 80

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  // Wait for the connection to come up
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.print("\nConnected. IP address: ");
  Serial.println(WiFi.localIP());   // visit this IP in a browser
  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if (!client) return;

  // Read (and discard) the HTTP request line
  while (client.connected() && !client.available()) delay(1);

  int sensorValue = analogRead(34);   // example: read GPIO34

  // Send a minimal HTTP response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/plain");
  client.println("Connection: close");
  client.println();
  client.print("Sensor reading: ");
  client.println(sensorValue);

  client.stop();
}

Upload this, open the Serial Monitor at 115200 baud to find the printed IP address, then visit that address in a browser. The MCU will report its sensor value. From here you can build a JSON API, a control endpoint, or a small dashboard.

Bluetooth and BLE: Low Power, Short Range

Bluetooth shines for short-range, lower-bandwidth links where battery life matters. There are two flavors:

  • Bluetooth Classic handles continuous streams (it is what wireless speakers and headsets use). For robots it is handy for steady telemetry or a serial-style link.
  • Bluetooth Low Energy (BLE) is built to sip power. It sends small packets infrequently, making it ideal for sending configuration to a robot, reading occasional sensor telemetry, or connecting a wireless gamepad for teleoperation.

If your use case is “let me tweak a setting or watch a few numbers from my phone,” BLE is almost always the better fit than WiFi because it barely touches the battery.

LoRa: Extreme Range, Tiny Data

LoRa (Long Range) is the specialist. It uses a clever spread-spectrum modulation in sub-GHz bands (e.g. 433 or 915 MHz, depending on region) to reach distances of several kilometers while drawing very little power.

The trade-off is brutal on bandwidth: you get hundreds of bits to a few tens of kilobits per second, and latency can be hundreds of milliseconds. That is enough to send a GPS coordinate, a battery voltage, or a “tank is full” alert from a robot in a distant field.

Do not try to use LoRa for video, real-time teleoperation, or anything that needs responsive control. The data rate and latency make it unsuitable. Think of LoRa as a long-distance text messenger, not a video call.

A Note on 2.4 GHz Interference and Antennas

WiFi and Bluetooth both crowd into the busy 2.4 GHz band, alongside microwave ovens and many other devices. In a noisy environment you may see dropped packets or reduced range. A few practical mitigations:

  • Keep the antenna clear of metal. Mounting a radio inside a metal chassis or right next to a motor will choke the signal. Route the antenna outside the frame.
  • Distance from motors and switching regulators. These are strong sources of electrical noise.
  • Use 5 GHz WiFi if your hardware supports it — it is usually less congested than 2.4 GHz.

How to Choose

Walk through three questions in order:

  1. How much data? Video or a ROS 2 network means WiFi. A handful of numbers means BLE or LoRa.
  2. How far? Same room, BLE or WiFi. Kilometers away, LoRa.
  3. How much battery? Tight battery budget favors BLE or LoRa over WiFi.

Many real robots use more than one radio: WiFi for the video feed and BLE for low-power config, for example. Mixing technologies to match each data stream to the right link is normal and often the best design.

Next week we leave radios behind and teach a robot to see: object detection with OpenCV and YOLO.