Comms Module (WiFi/BT/LoRa/GSM)

Module

Wireless communication modules that add connectivity to a microcontroller. Common types: WiFi for IoT, Bluetooth for short-range, LoRa for long-range low-power, GSM/LTE for cellular.

What it looks like

Comms Module (WiFi/BT/LoRa/GSM)

A typical module — exact shape, colour and markings vary between manufacturers.

Types & variants

WiFi: ESP8266 (ESP-01, NodeMCU), ESP32 (with BT built-in)Bluetooth: HC-05/HC-06 (classic, SPP), HM-10 (BLE 4.0)LoRa: SX1278 (433MHz), SX1276 (868/915MHz), RFM95WGSM/LTE: SIM800L (2G), SIM7600 (4G), Adafruit FONAZigbee: XBee S2C, CC2530Sub-GHz simple: nRF24L01+ (2.4GHz), 433MHz ASK/OOK pairSatellite: u-blox SARA-R5 (NB-IoT + GNSS)

Key specs

Frequency

MHz

WiFi/BT/nRF24: 2.4GHz. LoRa: 433/868/915MHz (region-dependent). GSM: 850/900/1800/1900MHz.

Range

m

WiFi/BT: 10–30m indoor. LoRa: 2–15km line-of-sight. GSM: cell-tower dependent.

Data rate

kbps

BT classic: 700kbps. BLE: 1–2Mbps. LoRa: 0.3–50kbps. WiFi: 50+ Mbps.

Supply voltage

V

ESP modules: 3.3V (5V tolerant on some pins). HC-05: 3.3V logic, 5V VCC. SIM800L: 3.4–4.4V (peak current 2A).

Interface

UART (AT commands), SPI (nRF24, LoRa), or I²C. ESP modules can be standalone MCUs.

Markings

Module name silkscreened (ESP-12E, HC-05, SIM800L, RFM95W). FCC/CE ID. Antenna pad or u.FL connector. MAC address sticker on WiFi modules.

Standard values

Common modules: ESP8266 ESP-01, ESP32 DevKit, HC-05 BT, nRF24L01+ PA+LNA, LoRa SX1278 + Arduino, SIM800L with antenna. Baud rates: 9600 (HC-05 default), 115200 (ESP8266 AT).

How to choose

1) Match range to application: <30m = WiFi/BT, <15km = LoRa, anywhere = GSM. 2) Match power budget: BLE for coin-cell devices, WiFi needs 200mA peaks. 3) Pick protocol on existing ecosystem (MQTT for IoT WiFi, LoRaWAN for sensors). 4) Use ESP32 if you want WiFi + MCU in one. 5) For battery + infrequent data, LoRa wins.

Pinout & package

Varies wildly. ESP-01: 8-pin header (VCC, GND, RST, CH_PD, TX, RX, GPIO0, GPIO2). HC-05: 6-pin breakout (VCC, GND, TXD, RXD, EN, STATE). nRF24L01+: 8-pin SPI. SIM800L: 6-pin (VCC, GND, TX, RX, RST, NETL). LoRa modules: SPI + DIO pins.

Example circuits

  • ESP8266 weather station uploading to ThingSpeak
  • HC-05 Bluetooth serial link to Android phone
  • LoRa soil-moisture sensor reporting every 30 min (battery powered)
  • SIM800L SMS-based remote pump controller for a farm
  • Two nRF24L01+ modules for wireless joystick → RC car link

Common failures

Power supply droop during transmit bursts (ESP/SIM800L need 200mA–2A peaks). Antenna mismatch or broken trace. 3.3V/5V logic level confusion (HC-05 RX is 3.3V — direct 5V can kill it). AT-command mode desync. GSM module no-network from wrong SIM or locked band.

How to test

Power correctly (3.3V with enough current). For UART modules, connect TX↔RX (cross) to a USB-TTL adapter. Send AT commands (e.g. AT → OK response) at the right baud rate. For SPI modules (nRF24, LoRa), use the matching library example sketch (e.g. nRF24 'GettingStarted').

Substitutes

Pre-certified modules (Copperhead, Adafruit) for easier certification. Built-in connectivity MCUs (ESP32-C3, ESP32-S3) replace external WiFi modules. Wired Ethernet for stationary high-bandwidth devices.

Where to buy