3.3V와 5V I2C 센서 연결, 레벨 시프터는 뭘 써야 할까?
라즈베리파이의 3.3V GPIO에 5V 아두이노나 센서 모듈을 연결하려는데, 검색 결과에는 BSS138 보드부터 PCA9306과 TCA9517까지 서로 다른 부품이 등장합니다. 모두 전압을 바꾸는 제품처럼 보이지만 I2C 통신의 오픈드레인 구조, 버스 용량, 풀업 저항 위치에 따라 실제 결과는 크게 달라집니다.
특히 일반적인 로직 레벨 컨버터와 I2C 전용 변환기를 같은 기준으로 고르면 통신 속도를 올렸을 때 파형이 무너지거나, 전원을 끈 센서가 버스를 붙잡는 문제가 생길 수 있습니다. 여기서는 국내에서 구하기 쉬운 네 가지 방식을 비용과 배선 난도, 속도, 격리 능력까지 비교해 상황별 선택 기준을 제시합니다.
I2C에는 왜 전용 레벨 변환 방식이 필요할까
출력보다 풀업 저항이 전압을 결정합니다
I2C의 SDA와 SCL은 일반적인 디지털 출력처럼 스스로 높은 전압을 밀어 올리지 않습니다. 장치들은 신호선을 낮은 상태로만 끌어내리고, 손을 놓았을 때 각 전압 영역의 풀업 저항이 신호를 HIGH로 복원합니다. 따라서 3.3V 마이크로컨트롤러와 5V 센서를 직접 묶으면 5V 쪽 풀업이 컨트롤러 핀에도 5V를 인가할 수 있습니다.
일부 아두이노 보드와 센서 모듈은 입력 보호 구조 덕분에 당장 동작하는 것처럼 보입니다. 하지만 ‘한 번 작동했다’는 사실이 허용 전압을 충족한다는 뜻은 아닙니다. 아두이노의 기본 개념과 보드 구성이 낯설다면 지식백과의 아두이노 설명을 먼저 확인하면 마이크로컨트롤러 보드와 주변 회로의 관계를 이해하기 쉽습니다.
양방향 동작과 상승 시간이 선택을 가릅니다
SDA는 마스터와 슬레이브가 번갈아 구동하며, SCL도 클록 스트레칭을 사용하는 센서라면 양방향 성격을 가집니다. 방향 제어 핀이 필요한 일반 버스 트랜시버보다 자동 양방향 오픈드레인 변환이 가능한 회로가 잘 맞는 이유입니다. 다만 자동 변환이 된다고 해서 모든 배선 길이와 속도를 감당하는 것은 아닙니다.
- 양쪽 전압 영역에 각각 적절한 풀업 저항이 있는지 확인합니다.
- 마이크로컨트롤러 핀의 절대 최대 정격과 5V 내성 여부를 데이터시트에서 찾습니다.
- 100kHz, 400kHz 등 목표 속도와 케이블 길이, 연결 장치 수를 함께 계산합니다.
- 센서 모듈에 이미 실장된 풀업 저항까지 병렬 저항값에 포함합니다.
실무 팁: 레벨 시프터는 HIGH 전압만 바꾸는 부품이 아닙니다. 두 버스 구간의 풀업과 정전용량을 함께 설계하는 경계 회로라고 생각해야 선택이 쉬워집니다.
네 가지 레벨 시프터는 무엇이 다를까
BSS138부터 버스 버퍼까지 한눈에 비교하기
취미 프로젝트에서 흔한 BSS138 모듈, 전용 변환기인 PCA9306, 버스 버퍼 기능을 갖춘 TCA9517 계열, 다채널 범용 제품인 TXS0108E를 비교했습니다. 가격은 2026년 9월 국내 소매 시장에서 보드 또는 소량 부품을 구입할 때 볼 수 있는 대략적인 범위이며, 제조사와 배송비에 따라 달라질 수 있습니다.
| 방식 | 대략적 가격대 | 강점 | 주의점 | 추천 상황 |
|---|---|---|---|---|
| BSS138 2·4채널 모듈 | 500~3,000원 | 저렴하고 배선이 단순함 | 긴 배선과 큰 버스 용량에서 상승 시간이 느려짐 | 브레드보드, 100kHz 단거리 실습 |
| PCA9306 | 칩 1,000~3,000원대 | I2C에 적합한 양방향 변환, 낮은 전압 영역 지원 | 풀업 저항을 외부에서 제대로 설계해야 함 | 제품형 PCB, 1.8V와 3.3V 변환 |
| TCA9517 계열 | 칩·모듈 2,000~8,000원대 | 버스 용량 분리와 신호 재생에 유리함 | A·B 포트 방향과 VOL 조건을 확인해야 함 | 장치가 많거나 배선 구간을 나눌 때 |
| TXS0108E 모듈 | 2,000~8,000원대 | 여러 GPIO를 한꺼번에 변환 가능 | I2C 전용이 아니며 외부 풀업·배선 영향에 민감함 | I2C 외 저속 신호도 함께 변환할 때 |
BSS138 회로는 N채널 MOSFET 하나로 양쪽 LOW를 전달하는 고전적인 방식입니다. 부품 수가 적고 실패 비용도 낮지만, FET 특성과 풀업 저항 및 배선 용량의 조합에 따라 상승 에지가 둔해집니다. 센서 한두 개를 10~20cm 점퍼선으로 연결하는 실습에는 충분하지만, 완제품 설계에서 조건 검증 없이 그대로 복사하는 것은 피하는 편이 좋습니다.
전용 칩이라고 모두 같은 역할은 아닙니다
PCA9306은 두 전압 영역 사이의 양방향 패스 스위치에 가까우며, 전압 변환 자체에 충실합니다. 반면 TCA9517 같은 버스 버퍼는 양쪽의 정전용량을 분리해 한 구간의 무거운 부하가 다른 구간에 미치는 영향을 줄일 수 있습니다. 센서 수가 많아지거나 커넥터를 거쳐 보드 밖으로 나가는 배선이라면 이 차이가 중요합니다.
- 가격 우선: BSS138 모듈이 가장 접근하기 쉽습니다.
- 낮은 전압 지원: 1.8V 센서가 포함되면 PCA9306 같은 전용 부품이 편합니다.
- 버스 확장: 정전용량을 구간별로 나누려면 TCA9517 계열을 검토합니다.
- 다수 GPIO 겸용: TXS0108E가 편할 수 있지만 I2C 파형을 반드시 측정합니다.
프로젝트 상황에 따라 추천 부품이 달라집니다
아두이노와 라즈베리파이 사이에는 무엇이 적합할까
5V Arduino Uno 계열과 3.3V 라즈베리파이를 책상 위에서 짧게 연결한다면 BSS138 2채널 모듈이 비용과 편의성 면에서 현실적입니다. HV를 5V, LV를 3.3V에 연결하고 두 보드의 GND를 공통으로 묶은 뒤 SDA와 SCL을 각각 대응시키면 됩니다. 단, 모듈 양쪽에 이미 10kΩ 풀업이 실장돼 있는지 회로도를 확인해야 합니다.
라즈베리파이에는 보드 측 풀업이 존재하는 경우가 많고, 센서 모듈에도 4.7kΩ 또는 10kΩ 저항이 달려 있을 수 있습니다. 여러 모듈을 추가하면 저항이 병렬로 연결되어 합성 저항이 지나치게 작아지고 LOW 구동 전류가 증가합니다. 아두이노 플랫폼을 다른 관점에서 설명한 지식백과 자료도 보드 기반 프로토타이핑의 특성을 파악하는 참고 자료가 됩니다.
제품 PCB와 장거리 배선은 기준을 높여야 합니다
배터리 기반 임베디드 장치에서 1.8V 센서와 3.3V MCU를 연결한다면 PCA9306이 깔끔합니다. EN 핀을 이용해 사용하지 않는 센서 영역을 분리할 수도 있어 저전력 설계에 유리합니다. 반대로 센서가 여러 커넥터에 분산되고 버스의 총 정전용량이 커진다면 단순 전압 변환보다 버스 구간 분리가 가능한 TCA9517 계열을 우선 검토해야 합니다.
- 센서 한두 개, 20cm 이하, 100kHz라면 BSS138 모듈부터 시험합니다.
- 1.8V 장치 또는 자체 PCB라면 PCA9306과 외부 풀업을 설계합니다.
- 센서가 많거나 커넥터를 통과한다면 TCA9517 계열로 부하를 분리합니다.
- TXS0108E는 I2C뿐 아니라 인터럽트와 제어 GPIO를 동시에 바꿔야 할 때 후보로 둡니다.
- 케이블이 1m에 가까워지면 레벨 시프터 교체만으로 해결하려 하지 말고 차동 통신 방식도 검토합니다.
센서가 실내 한곳에 모여 있으면 I2C가 편하지만, 공간에 분산된 측정값을 계속 축적하는 프로젝트라면 통신뿐 아니라 데이터 기록 구조도 중요합니다. 데이터 수집 서비스의 맥락은 라이프로그 서비스 설명에서도 참고할 수 있습니다.
구매 후에는 저항과 파형부터 검증하세요
풀업 저항은 모듈 개수가 아니라 버스 조건으로 정합니다
쇼핑몰 설명에 ‘I2C 호환’이라고 적혀 있어도 풀업 저항값까지 프로젝트에 맞춰 주는 것은 아닙니다. 저항이 너무 크면 버스 정전용량을 충전하는 데 오래 걸려 HIGH 상승이 늦고, 너무 작으면 장치가 LOW를 만들 때 허용 전류를 초과할 수 있습니다. 3.3V에서 4.7kΩ은 흔한 출발점이지만 언제나 정답은 아닙니다.
오실로스코프가 있다면 SDA와 SCL이 LOW에서 HIGH로 올라갈 때 둥글게 늘어지는지 확인합니다. 장비가 없다면 우선 100kHz로 낮춰 통신 안정성을 시험하고, 센서를 하나씩 추가하면서 오류가 시작되는 지점을 기록하세요. 로직 애널라이저는 ACK 누락과 잘못된 주소를 찾는 데 유용하지만, 아날로그 상승 시간이나 전압 오버슈트는 보여주지 못한다는 차이가 있습니다.
전원을 껐다 켜는 시험이 숨은 문제를 드러냅니다
정상 부팅 상태에서만 스캐너를 실행하면 역전원과 초기화 순서 문제를 놓치기 쉽습니다. MCU만 켜고 센서 전원을 끈 상태, 센서만 켠 상태, 두 전원을 서로 다른 순서로 인가한 상태를 각각 시험해야 합니다. 전원이 꺼진 장치의 보호 다이오드를 통해 전류가 흐르면 버스가 애매한 전압에 머물거나 센서가 완전히 꺼지지 않을 수 있습니다.
- 모든 전원을 끈 뒤 SDA-GND와 SCL-GND 저항을 측정해 예상 합성값과 비교합니다.
- 양쪽 전압을 따로 인가하고 각 버스의 HIGH 전압이 정격 안에 있는지 확인합니다.
- 100kHz에서 시작해 목표 속도까지 단계적으로 올리며 NACK 횟수를 기록합니다.
- 최저·최고 공급전압과 예상 온도 범위에서도 부팅 및 재접속을 반복합니다.
- 케이블을 실제 설치 길이로 바꾼 뒤 모터와 릴레이가 동작하는 조건에서도 검사합니다.
구매 수량이 많다면 모듈 가격보다 회로도 공개 여부와 정품 칩 사용 여부를 우선 확인하는 편이 안전합니다. 같은 이름으로 판매되는 저가 보드라도 풀업 저항, EN 핀 처리, 디커플링 커패시터가 다를 수 있으므로 첫 샘플을 분해하거나 도통 시험으로 연결 구조를 확인하세요.
레벨 시프터만으로 해결되지 않는 버스 경계도 있습니다
긴 케이블과 강한 잡음은 통신 방식의 문제입니다
I2C는 기본적으로 같은 보드 또는 가까운 보드 사이의 통신에 적합합니다. 공장 설비나 온실처럼 케이블이 길고 인버터, 펌프, 릴레이가 함께 동작하는 환경에서는 TCA9517을 넣어도 공통 모드 잡음과 접지 전위차를 없앨 수 없습니다. 이때는 차동 I2C 연장기, 절연형 인터페이스, RS-485 또는 CAN으로 구조를 바꾸는 편이 재현성이 높습니다.
또한 TCA9517 계열을 여러 개 연속으로 연결할 때는 포트별 LOW 전압 오프셋 때문에 허용되지 않는 구성이 생길 수 있습니다. PCA9306도 전원 범위와 기준 전압, EN 핀 바이어스 조건을 무시하면 기대한 HIGH 레벨을 만들지 못합니다. 부품명만 보고 대체품을 꽂지 말고 제조사 데이터시트의 권장 회로와 전기적 특성을 대조해야 합니다.
푸시풀 신호와 고속 모드는 별도 검토가 필요합니다
TXS0108E는 여러 신호를 바꾸기 편하지만 강한 외부 풀업, 긴 트레이스, 큰 커패시턴스가 결합되면 내부 원샷 회로와 상호작용할 수 있습니다. I2C와 함께 SPI, UART, 인터럽트선을 변환하려는 경우에도 모든 선이 같은 전기적 성격을 가진다고 가정해서는 안 됩니다. SPI의 클록과 데이터는 보통 푸시풀 신호이므로 방향과 속도를 명시적으로 관리하는 버퍼가 더 적합할 수 있습니다.
- 5V 허용 입력인 센서라면 레벨 시프터 없이 3.3V HIGH가 인식되는지 정격으로 판단합니다.
- I3C 장치를 섞거나 1MHz 이상의 모드를 사용한다면 해당 규격을 명시적으로 지원하는 부품을 고릅니다.
- 갈바닉 절연이 필요하면 일반 레벨 시프터가 아닌 양방향 I2C 절연기를 사용합니다.
- 핫플러그가 잦다면 전원 차단 상태의 핀 동작과 버스 복구 기능을 확인합니다.
- 주소 충돌은 레벨 시프터로 해결되지 않으므로 멀티플렉서나 센서의 주소 선택 핀이 필요합니다.
따라서 짧은 실습 배선에는 BSS138, 저전압 제품 PCB에는 PCA9306, 커진 버스 용량을 나눌 때는 TCA9517이 좋은 출발점입니다. 다만 자동차·의료·산업 안전 장비처럼 고장 비용이 큰 영역, 수 미터 케이블, 전기적 절연이 필요한 환경은 이 네 제품의 단순 비교 범위를 벗어납니다. 그런 조건에서는 실제 배선의 정전용량과 노이즈를 측정하고, 통신 구조 자체를 다시 선택해야 합니다.

- 다음글I2C 센서 모듈을 고르고 데이터시트로 검증하는 순서 26.09.13
등록된 댓글이 없습니다.
