Skip to main content

Radio Communication: How to use APC220 Radio Data Module

What is APC220 Radio Data Module?

The APC220 Radio Data Module is a compact, low-power, wireless transceiver module designed for serial communication over long distances using the 433 MHz ISM band. It’s commonly used for Arduino projects and wireless sensor networks, especially where a simple UART interface and long-range communication are needed. APC220.png

In this tutorial, we will use two Arduino, one for sending (Leonardo) and one for receiving (UNO). For clarity, we use two different models, but you can use the same model or any other model.

Wiring

  1. Arduino Leonardo - Sending:
    • GND to GND
    • VCC to 5V
    • TXD to 8
    • RXD to 9
  2. Arduino UNO - Receiving:
    • GND to GND
    • VCC to 5V
    • TXD to 8
    • RXD to 9

SoftwareSerial Only
Use SoftwareSerial on both Arduinos. Never directly connect APC220 RXD to Arduino TX if they use different logic levels (some APC220 modules are 3.3V-only).

Getting started

Arduino Leonardo - Sending

This code is getting the eight servo motors to rotate to 0 degrees and then 90 degrees, one by one.

#include <SoftwareSerial.h>
SoftwareSerial radio(8, 9); // RX, TX

void setup() {
  radio.begin(9600);
}

void loop() {
  radio.println("Hello from Leonardo!");
  delay(1000);
}

Arduino UNO - Receiving

#include <SoftwareSerial.h>
SoftwareSerial radio(8, 9); // RX, TX

void setup() {
  Serial.begin(9600);
  radio.begin(9600);
}

void loop() {
  if (radio.available()) {
    String msg = radio.readStringUntil('\n');
    Serial.println("Received: " + msg);
  }
}

Testing

  1. Open Serial Monitor on the UNO to see received messages, Hello from Leonardo!.
  2. Both radios must be powered on and within range.
  3. Ensure no serial baud mismatch.
  4. Do not connect APC220 to Arduino RX0/TX1 pins while uploading code—use SoftwareSerial instead.