WiFi의 한계를 넘어, ESP32-C3와 무선 모듈의 만남

ESP32-C3는 뛰어난 가성비와 RISC-V 아키텍처, 그리고 강력한 내장 WiFi/Bluetooth 기능으로 많은 메이커의 사랑을 받고 있습니다. 하지만 실제 프로젝트 하다 보면 한계에 부딪히곤 합니다.

“벽 하나만 통과해도 끊기는 WiFi 거리, 배터리를 순식간에 갉아먹는 전력 소모까지…”

이런 고민을 해결하기 위해 우리는 ESP32-C3의 내장 기능을 넘어 외부 무선 전용 모듈로 눈을 돌려야 합니다. 오늘 포스팅에서는 ESP32-C3의 적은 핀으로도 효율적으로 연결할 수 있는 CC1101, CC1120, CC1200, LoRa, 그리고 CC1310까지, 5종의 무선 모듈을 전격 비교해 보겠습니다. 내 프로젝트에 ‘딱’ 맞는 무선 솔루션은 무엇일까요? 지금 바로 확인해 보시죠.

** 무선 모듈 5종 스펙 비교 (ESP-NOW vs Sub-1GHz)

프로젝트의 성패는 내 상황에 맞는 ‘주파수’와 ‘칩셋’을 고르는 데 있습니다. 속도가 중요한 영상 전송인지, 거리가 중요한 원격 제어인지 아래 표를 통해 확인해 보세요.

[한눈에 보는 무선 모듈 비교표]

항목ESP-NOW (내장)CC1101CC1120 / CC1200LoRa (SX1276)CC1310
주요 주파수2.4GHz433 / 868 / 915MHz433 / 868 / 915MHz433 / 915MHz433 / 868 / 915MHz
최대 속도~4 Mbps (매우 빠름)~600 kbps~1 Mbps~37.5 kbps (매우 느림)~4 Mbps
통신 거리약 100~200m약 300~500m약 1km 이상최대 5~10km약 1km 이상
소비 전력높음 (80~300mA)매우 낮음 (15~30mA)낮음 (20~40mA)낮음 (10~20mA)낮음 (15~30mA)
특징추가 비용 없음가성비 최고, 입문용고성능, 신뢰성 위주초장거리, 저속 데이터멀티 프로토콜 지원

** 모듈별 상세 분석: 내 프로젝트에는 무엇이 좋을까?

① ESP-NOW: “추가 비용 제로, 빠른 속도”

ESP32-C3 내장 WiFi 기능을 활용합니다. 별도의 모듈 연결이 필요 없어 회로가 깔끔합니다.

  • 장점: 속도가 빨라 저해상도 이미지 전송이 가능합니다.
  • 단점: WiFi 대역(2.4GHz)을 써서 장애물(벽)에 약하고 전기를 많이 먹습니다.

② CC1101: “가성비와 저전력의 교과서”

가장 대중적인 Sub-1GHz 모듈입니다.

  • 장점: 가격이 저렴하고 ESP32-C3의 3.3V 핀으로도 충분히 구동됩니다. 조종기 배터리를 오래 쓰고 싶을 때 최고의 선택입니다.
  • 단점: 거리가 LoRa만큼 길지는 않습니다.

③ CC1120 / CC1200: “전문가급 성능과 신뢰성”

CC1101의 상위 버전으로, 통신 신뢰성이 매우 높습니다.

  • 장점: 데이터 전송 속도가 빠르면서도 수신 감도가 좋아 장애물 투과력이 뛰어납니다. 산업용 로봇 제어에 적합합니다.

④ LoRa (SX127x): “거리에 모든 것을 걸었다”

속도를 포기하는 대신 거리를 극한으로 끌어올린 방식입니다.

  • 장점: 수 킬로미터 밖에서도 명령을 전달할 수 있습니다.
  • 단점: 속도가 너무 느려 실시간 조이스틱 반응이 약간 답답할 수 있고, 영상 전송은 절대 불가능합니다.

⑤ CC1310: “차세대 무선 통신의 올인원”

강력한 성능의 SoC(System on Chip) 기반 모듈입니다.

  • 장점: Sub-1GHz 대역임에도 불구하고 매우 빠른 전송 속도를 자랑합니다. 저전력과 고속 통신 두 마리 토끼를 잡고 싶을 때 선택합니다.

** 핵심 요약: 선택 가이드

  • “돈 안 들이고 근거리에서 로봇을 조종하고 싶다”ESP-NOW
  • “조종기 배터리가 오래가야 하고 전선 연결이 간편해야 한다”CC1101
  • “로봇이 보이지 않는 아주 먼 곳까지 보내고 싶다”LoRa
  • “데이터 양도 많고 거리도 포기할 수 없다”CC1200 / CC1310

** ESP32-C3와 CC1101을 연결하는 회로도와 마이크로파이썬 예제 코드를 통해 무선 통신을 직접 구현해 보겠습니다!

모듈 2개를 사서 하나는 ‘송신기(Transmitter)’, 다른 하나는 ‘수신기(Receiver)’로 설정하면 완벽한 무선 통신 시스템이 됩니다.

CC1101 433MHz 무선 모듈은 TI(Texas Instruments) 사의 칩을 기반으로 한 RF 송수신 장치입니다. 로봇카를 조종하거나 멀리 떨어진 센서의 데이터를 받을 때 아주 유용합니다.

SMA(안테나 커넥터) 모델은 교체 가능한 안테나를 달 수 있어, 일반 스프링 안테나보다 **훨씬 긴 전송 거리(최대 300~500m 이상)**를 확보할 수 있는 상급 모델입니다.

1. 주요 특징 및 용도

  • 트랜시버(Transceiver): 송신과 수신이 모두 가능합니다. 로봇에 달면 명령을 받을 수도 있고, 현재 배터리 상태(INA219 값)를 나에게 다시 보낼 수도 있습니다.
  • 강력한 투과력: 2.4GHz(WiFi/Bluetooth)보다 주파수가 낮은 433MHz 대역을 써서 벽이나 장애물을 훨씬 잘 통과합니다.
  • SMA 안테나: 돌려서 끼우는 방식의 안테나를 사용합니다. 안테나를 큰 것으로 바꾸면 도달 거리가 수 킬로미터까지 늘어나기도 합니다.

2. 하드웨어 연결 (ESP32-C3와 SPI 통신)

CC1101은 SPI 인터페이스를 사용합니다. ESP32-C3와 다음과 같이 연결하세요.

CC1101 핀ESP32-C3 핀설명
VCC3.3V주의: 5V 금지 (칩 타버림)
GNDGND공통 접지
SCKPin 4SPI Clock
MISO(GDO1)Pin 5SPI Master In (데이터 받기)
MOSIPin 6SPI Master Out (데이터 보내기)
CSNPin 7Chip Select (장치 선택)
GDO0Pin 2데이터 수신 알림용 (인터럽트)

3. 마이크로파이썬 사용 방법

마이크로파이썬에서 CC1101을 제어하려면 SPI 라이브러리를 사용해야 합니다.

Python

from machine import Pin, SPI
import time

# SPI 설정 (C3 Mini 기준)
spi = SPI(1, baudrate=10000000, polarity=0, phase=0, 
          sck=Pin(4), mosi=Pin(6), miso=Pin(5))
csn = Pin(7, Pin.OUT, value=1)

def write_reg(reg, val):
    csn.value(0)
    spi.write(bytearray([reg, val]))
    csn.value(1)

# 초기화 예시 (실제로는 더 많은 레지스터 설정이 필요합니다)
print("CC1101 초기화 시작...")
write_reg(0x30, 0) # SRES (Reset)
time.sleep(0.1)
print("초기화 완료!")

꿀팁: CC1101은 설정할 레지스터가 수십 개로 매우 복잡합니다. 직접 코딩하기보다는 GitHub에서 micropython-cc1101 라이브러리를 다운로드하여 사용하는 것을 강력 추천합니다.


4. 주의사항 (사용 전 필독!)

  1. 안테나 미연결 금지: 안테나(SMA)를 끼우지 않은 상태에서 전원을 넣고 **송신(Transmit)**을 하면, 밖으로 나가지 못한 전파 에너지가 칩으로 되돌아와 모듈이 타버릴 수 있습니다. 반드시 안테나를 먼저 조립하세요.
  2. 전압 주의: CC1101은 3.3V 전용입니다. 보조배터리 12V를 직접 연결하면 안 되며, 반드시 ESP32-C3의 3.3V 출력 핀이나 별도의 강압 회로를 거쳐야 합니다.
  3. 법적 규제: 433MHz 대역은 국내에서 출력과 사용 용도에 제한이 있을 수 있습니다. 취미용 로봇 제어(소출력)는 괜찮지만, 너무 큰 안테나로 출력을 높여 다른 통신을 방해하지 않도록 주의해야 합니다.

** CC1101의 상급(상위) 제품군

CC1101이 “가성비 보급형”이라면, 더 먼 거리나 더 정밀한 통신을 위한 상위 모델들이 있습니다.

상위 모델특징 및 차이점추천 용도
CC1120성능 라인 (Performance Line). CC1101보다 수신 감도가 훨씬 좋아 통신 거리가 비약적으로 깁니다.1km 이상의 장거리 통신
CC1200최신 고속 라인. 데이터 전송 속도가 최대 1Mbps로 빠르고, 최신 무선 표준(802.15.4g)을 지원합니다.고성능 로봇 제어 및 데이터 전송
LoRa (SX1276/78)장거리 끝판왕. CC1101과 같은 대역을 쓰지만 기술 방식이 달라 수 킬로미터(10km+) 전송이 가능합니다.산악 지형이나 초장거리 무선 조종
CC1310 (SoC)두뇌 통합형. CC1101 기능에 ARM Cortex-M3 CPU가 합쳐진 칩입니다. 별도의 ESP32 없이 이 칩 하나로 로봇 제어와 무선을 다 합니다.초소형/저전력 통합 시스템

전송 속도 및 영상/소리 가능 여부 비교

모델명최대 전속 속도영상 전송 가능 여부소리(음성) 전송 가능 여부
CC1101약 600 kbps불가능 (초당 0.1프레임 미만)매우 낮은 음질 (무전기 수준 이하)
CC1120약 200 kbps불가능불가능
CC1200약 1,000 kbps (1Mbps)초저해상도 스틸컷 가능무전기 수준 (64kbps 이하)
LoRa (SX1276)약 37.5 kbps절대 불가능불가능
CC1310약 4,000 kbps (4Mbps)아주 거친 흑백 영상 가능가능 (단, 프로그래밍 매우 어려움)

[ESP32-C3 상태별 소비전력 비교 (평균)]

상태 (Mode)평균 전류 (mA)전력 (3.3V 기준)특징
CPU Only (RF Off)약 20 ~ 25mA~80mWWiFi/BT를 완전히 끄고 연산만 할 때
WiFi Active (TX)약 190 ~ 335mA~1W영상 스트리밍, 데이터 업로드 중 (피크치 높음)
WiFi Active (RX)약 80 ~ 90mA~280mW데이터 수신 대기 중
ESP-NOW (Active)약 70 ~ 120mA~300mW직접 통신 중 (WiFi보다 오버헤드가 적음)
Modem-sleep약 15 ~ 20mA~50mWWiFi 연결은 유지하되 무선 회로만 잠시 끔
Deep-sleep약 5 ~ 10µA~0.03mW타이머 외 모든 기능 정지 (초절전)

[CC1101 소비전력 상세 (3.3V 기준)]

상태 (Mode)소비 전류 (mA)비고
송신 (TX)약 12 ~ 30mA출력 설정(-30dBm ~ +10dBm)에 따라 다름
수신 (RX)약 15 ~ 17mA데이터가 오길 기다리는 상태
대기 (Idle)약 1.7mA회로는 켜져 있으나 송수신 안 함
절전 (Sleep)약 0.2 ~ 0.4µA초절전 상태. 거의 0에 가까움

1. ESP-NOW vs CC1101 전력 비교

로봇카 제어 신호를 주고받을 때, 무선 모듈 자체의 전력 소모 차이는 어마어마합니다.

  • ESP-NOW (C3 내장 WiFi 활용): 수신 대기 시에도 최소 80mA 이상 소모.
  • CC1101: 수신 대기 시 15mA 내외 소모.
  • 결론: 무선 통신만 놓고 보면 CC1101이 ESP-NOW보다 약 5~6배 더 배터리에 유리합니다.

2. 왜 이렇게 차이가 날까요?

  • 주파수의 특성: 2.4GHz(WiFi)는 초당 처리해야 할 데이터 양이 많고 회로가 복잡해 기본 전력이 많이 듭니다. 반면 433MHz 대역을 쓰는 CC1101은 구조가 단순하고 저속 통신에 최적화되어 있습니다.
  • 프로토콜의 가벼움: WiFi는 통신을 유지하기 위해 뒤에서 계속 패킷을 주고받아야 하지만, CC1101은 평소엔 완전히 잠들어 있다가 필요할 때만 찰나의 순간에 전기를 쓰고 다시 잠들 수 있습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다