Description
The HC-12 433MHz Wireless Serial Communication Module is a powerful, long-range transceiver that offers an exceptional alternative to Bluetooth for projects requiring distance and reliability. Built around the high-performance SI4463 RF chip, this module provides a robust wireless serial link of up to 1000 meters in open areas, making it ideal for applications where Wi-Fi and standard Bluetooth fall short.
Unlike simple RF modules that require complex low-level programming, the HC-12 acts as a transparent wireless serial cable. It features a built-in MCU that handles all RF protocol processing automatically. Data sent into the module’s UART port is transmitted wirelessly and appears instantly at the UART port of another HC-12 module on the same channel, with no RF programming required by your microcontroller.
The module offers exceptional flexibility with 100 selectable channels in the 433.4-473.0 MHz band and multiple operating modes that allow you to balance power consumption against communication distance. Whether you need ultra-low power operation for battery-powered sensors or maximum range for remote control applications, the HC-12 can be configured to meet your needs using simple AT commands.
Important Compatibility Note: The HC-12 uses a different protocol than the HC-11 module and is not compatible with it. For reliable communication, all modules in your network must be HC-12 modules. The module is also backward compatible with earlier versions of the HC-12, ensuring seamless integration with existing deployments.
Whether you need to build a remote weather station, control a device across a farm, create a wireless serial link between buildings, or replace wired connections with a reliable long-range alternative, the HC-12 delivers exceptional performance in a compact, easy-to-use package.
Key Features
-
1000m Long Range – Up to 1 kilometer communication distance in open areas (at 5000bps air baud rate)
-
100 Selectable Channels – 433.4–473.0 MHz frequency range with 400KHz channel spacing
-
Transparent Serial Transmission – Built-in MCU handles all RF protocols; works like a wireless serial cable
-
Adjustable Transmit Power – 8 power levels from -1dBm to +20dBm (100mW max)
-
Multiple Operating Modes – FU1 (3.6mA idle), FU2 (80µA idle), FU3 (16mA idle), FU4 (long-range)
-
Wide Voltage Range – 3.2V–5.5V DC, compatible with both 3.3V and 5V microcontrollers
-
Configurable via AT Commands – Set channel, baud rate, power level, and operating mode
-
High Receiver Sensitivity – -117dBm sensitivity ensures reliable reception even in challenging conditions
-
Wide Baud Rate Support – UART speeds from 1200 bps to 115200 bps
-
Industrial Temperature Range – -40°C to +85°C for reliable operation in harsh environments
Technical Parameters
Usage Guide
Hardware Overview
The HC-12 module features a compact design with the SI4463 RF chip and an onboard MCU. The module includes a spring antenna (included) and a SET pin for entering configuration mode.
Key Components:
-
SI4463 RF Chip – High-performance FSK transceiver
-
Onboard MCU – Handles UART communication and AT command processing
-
Spring Antenna – Included for optimal range
-
SET Pin – Used to enter AT command mode for configuration
Pinout Description
Wiring Instructions
Basic Connection (Microcontroller to HC-12):
Important: When connecting two HC-12 modules to communicate with each other, you do not need to cross the connections. Simply connect each module’s TXD to its own microcontroller’s RX pin, and RXD to TX pin.
Antenna Connection:
-
The module includes a spring antenna that should be soldered to the ANT pad
-
For maximum range, ensure the antenna is straight and away from metal surfaces
Operating Modes (FU1-FU4)
The HC-12 offers four operating modes that allow you to optimize for power consumption or performance:
Mode Characteristics:
-
FU1/FU2: Air baud rate is fixed at 250000bps. Serial baud rates up to 115200bps (FU1) or 4800bps (FU2)
-
FU3: Automatically adjusts air baud rate based on serial baud rate. This is the default mode and offers the best overall performance
-
FU4: Fixed 1200bps serial baud rate, 500bps air baud rate for maximum sensitivity and range
AT Command Configuration
Entering AT Command Mode:
-
Method 1 (Normal operation): While the module is powered, pull the SET pin LOW. The module enters command mode. Release SET to exit.
-
Method 2 (Power-on): Pull SET LOW before applying power, then power on the module. After 1 second, the module enters command mode.
Important Notes for AT Commands:
-
In command mode, the UART format is fixed at 9600 bps, 8 data bits, no parity, 1 stop bit
-
Commands must be sent in uppercase
-
Each command must be terminated with \r\n (carriage return + line feed)
-
Send commands quickly – the module has a short timeout between characters
Available AT Commands:
Supported Baud Rates: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps
Channel Frequency Mapping:
-
Channel 001: 433.4 MHz
-
Channel 002: 433.8 MHz
-
…
-
Channel 100: 473.0 MHz
Transmit Power Levels (AT+Px):
Arduino Example Code
Basic Serial Passthrough (Transparent Mode):
#include <SoftwareSerial.h>
SoftwareSerial hc12(10, 11);
void setup() {
Serial.begin(9600);
hc12.begin(9600);
Serial.println("HC-12 Wireless Serial Ready");
}
void loop() {
if (Serial.available()) {
hc12.write(Serial.read());
}
if (hc12.available()) {
Serial.write(hc12.read());
}
}
Sending AT Commands to Configure HC-12:
#include <SoftwareSerial.h>
SoftwareSerial hc12(10, 11);
void setup() {
Serial.begin(9600);
hc12.begin(9600);
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
delay(100);
hc12.println("AT");
delay(500);
hc12.println("AT+V");
delay(500);
hc12.println("AT+RX");
delay(1000);
while (hc12.available()) {
Serial.write(hc12.read());
}
digitalWrite(9, HIGH);
}
void loop() {
}
Range Optimization Tips
-
Use FU3 or FU4 mode – FU3 provides the best overall performance; FU4 offers maximum range at lower data rates
-
Set maximum transmit power – Use AT+P8 for +20dBm (100mW) output
-
Use a proper antenna – The included spring antenna is tuned for 433MHz; ensure it is straight and elevated
-
Lower the baud rate – Slower data rates improve receiver sensitivity; use 1200-4800bps for maximum range
-
Maintain line of sight – For 1000m range, clear line of sight is required
-
Avoid metal obstacles – Metal structures and reinforced concrete significantly reduce signal strength
-
Stable power supply – The module draws up to 100mA when transmitting; ensure your power supply can handle this
-
Voltage considerations – If operating above 4.5V for extended periods, add a 1N4007 diode in series with VCC to prevent overheating of the onboard LDO
Default Factory Settings
Important Compatibility Note
HC-12 cannot communicate with HC-11 modules. These modules use different protocols and are not interoperable. For wireless communication, all modules in your network must be HC-12 modules. The HC-12 is backward compatible with earlier versions of the HC-12, ensuring seamless integration with existing deployments.
Q: What is the maximum range of the HC-12 module?
The HC-12 can achieve up to 1000 meters (1 kilometer) in open areas with clear line of sight at 5000bps air baud rate. Typical indoor range is shorter due to walls and interference. For maximum range, use FU3 or FU4 mode, set transmit power to P8 (+20dBm), and ensure a stable power supply
Q: Can the HC-12 communicate with the HC-11 module?
No. The HC-12 and HC-11 use different protocols and are not compatible with each other. For reliable wireless communication, all modules in your network must be HC-12 modules.
Q: Is this module backward compatible with older HC-12 versions?
Yes. The HC-12 module is backward compatible with earlier versions, allowing you to integrate new modules into existing HC-12 networks without issues.
Q: What voltage does the HC-12 require?
The HC-12 operates from 3.2V to 5.5V DC, making it compatible with both 3.3V and 5V microcontroller systems. If operating above 4.5V for extended periods, it is recommended to add a 1N4007 diode in series with VCC to prevent overheating of the onboard LDO.
Q: What is the difference between FU1, FU2, FU3, and FU4 modes?
| Mode |
Idle Current |
Best Application |
| FU1 |
~3.6mA |
General purpose, balanced power/speed |
| FU2 |
~80µA |
Ultra-low power, battery devices |
| FU3 (Default) |
~16mA |
Maximum performance, high-speed |
| FU4 |
~16mA |
Extended range at 1200bps |
Q: How do I enter AT command mode?
There are two methods:
-
Normal operation: While powered, pull the SET pin LOW to enter command mode
-
Power-on method: Pull SET LOW before applying power, then power on the module
In command mode, the UART is fixed at 9600 bps, 8 data bits, no parity, 1 stop bit.
Q: Why is my HC-12 returning "ERROR" to AT commands?
Common issues and solutions:
-
Send commands quickly – The module has a short timeout between characters; send the entire command without delays
-
Use proper line endings – Commands must end with \r\n (carriage return + line feed)
-
Check baud rate – In command mode, the baud rate must be 9600 bps
-
Ensure SET pin is LOW – The module must be in command mode to accept AT commands
-
Use uppercase – Commands must be sent in uppercase letters
Q: Can I use this module for both home and business applications?
Home users: Remote weather stations, garden irrigation control, garage door openers, wireless sensor networks, DIY security systems, long-range RC vehicles.
Business users: Industrial telemetry, remote equipment monitoring, agricultural sensor networks, building automation, wireless data collection, fleet management, remote alarm systems, asset tracking.
Q: How many channels are available?
The HC-12 supports up to 100 channels from 433.4 MHz to 473.0 MHz, with 400KHz channel spacing. This allows multiple independent networks to operate in the same area without interference.
Q: What is the maximum transmit power?
The maximum transmit power is +20dBm (100mW), adjustable through 8 power levels via the AT+Px command (P1 to P8). Higher power provides longer range but increases current consumption.