■ 1. GP8403은 어떤 보드인가요?
Adafruit GP8403 브레이크아웃 보드는 I2C(Inter-Integrated Circuit) 통신으로 받은 디지털 명령을 2채널 아날로그 전압으로 정밀하게 바꿔 주는 DAC(Digital-to-Analog Converter, 디지털-아날로그 변환기)입니다.

일반적인 DAC 모듈은 한계가 분명합니다. 최대 출력 전압이 입력 전원 전압인 3.3V나 5V를 넘을 수 없습니다.
GP8403은 DAC 칩과 함께 DC/DC(Direct Current to Direct Current, 직류-직류) 부스트 컨버터를 보드에 내장해서 이 한계를 넘었습니다. 그래서 일반적인 마이크로컨트롤러 전원만으로도 다음 두 가지를 할 수 있습니다.
✔ 최대 0~10V 범위의 아날로그 출력
✔ 외부 회로에 공급할 수 있는 12V / 최대 100mA 보조 전원 출력
그래서 저전압 개발 보드를 산업용 장비, OP 앰프(Operational Amplifier, 연산 증폭기), 오디오 처리 장비, 넓은 전압 범위의 계측기와 연결해 주는 다리 역할을 합니다.
▶ 일반 DAC(MCP4725 / MCP4728 등)와 GP8403 비교
[최대 아날로그 출력 전압]
- 일반 DAC: 입력 로직/전원 전압인 3.3V 또는 5V로 제한됩니다.
- GP8403: 최대 0~10V까지 출력할 수 있습니다. 0~5V 범위는 소프트웨어로 선택합니다.
[전원 생성 기능]
- 일반 DAC: 전원 생성 기능이 없어 외부 전원 레일에 전적으로 의존합니다.
- GP8403: DC/DC 부스트 컨버터가 내장되어 12V를 최대 100mA까지 출력합니다.
[주요 활용 분야]
- 일반 DAC: 저전압 센서 에뮬레이션, 기본 3.3V/5V 제어 신호
- GP8403: 산업용 0~10V 액추에이터, OP 앰프 바이어스, 고전압 오디오 제어
━━━━━━━━━━━━━━━━━━━━
■ 2. 기술 사양과 실제 성능
안정적인 제어 루프와 임베디드 시스템을 설계하려면 칩 사양이 실제 동작에서 어떤 의미인지 알아 둬야 합니다.
▶ 분해능과 입력
- 표준 I2C 인터페이스로 12비트 디지털 값을 입력받습니다. 2의 12제곱인 4096단계로, 0x000부터 0xFFF까지입니다.
- 0~10V 모드: 1 LSB(Least Significant Bit, 최하위 비트) = 10V ÷ 4095 ≈ 약 2.44mV / 단계
- 0~5V 모드: 1 LSB = 5V ÷ 4095 ≈ 약 1.22mV / 단계
- → 0~5V 모드에서는 더 세밀하게 전압을 조정할 수 있습니다.
▶ 아날로그 출력 범위
- 서로 독립된 2개 채널이 있습니다.
- 각 채널은 내부 제어 레지스터로 0~5V 또는 0~10V 출력을 설정합니다.
▶ 내장 전원
- 온보드 DC/DC 부스트 컨버터가 DAC 출력 드라이버에 전원을 공급합니다.
- 외부 센서나 신호 처리 회로용으로 최대 100mA까지 쓸 수 있는 12V 보조 출력 단자도 제공합니다.
▶ 정밀도
- 출력 전압 오차는 일반적으로 0.2%입니다.
- 선형성 오차는 일반적으로 0.1%입니다.
- → 10V 풀스케일 출력에서 0.2% 오차는 약 ±20mV입니다. 정상 상태 바이어스 설정, 산업용 제어 루프, 액추에이터 위치 제어에는 충분한 정확도입니다. 다만 고정밀 과학 계측용이라면 소프트웨어 보정을 추가하는 것이 좋습니다.
▶ 시간 특성과 동작 환경
- 콜드 스타트 기동 시간은 2ms 미만입니다.
- 동작 온도 범위는 산업용 수준인 -40℃ ~ 85℃입니다.
▶ 보호 기능과 물리 사양
- GND(Ground, 접지) 단락 보호 기능이 내장되어 있습니다.
- 크기: 25.5mm x 22.8mm x 12.0mm (1.0" x 0.9" x 0.5")
- 무게: 3.6g (0.1oz)
- 마운팅 홀 4개
- → 벤치 테스트, 핫플러그, 현장 설치 중에 출력 핀이 실수로 GND와 단락될 수 있습니다. 이때 칩이 과전류 상태를 감지해 보호 모드로 들어가고 출력 드라이버를 멈춥니다. 덕분에 칩 손상이나 회로 파손을 막을 수 있습니다.
⚠ 꼭 알아 둘 점
DAC 출력단에는 칩 제조사 권장대로 10µF 필터 커패시터가 달려 있습니다. 이 커패시터는 고주파 노이즈를 억제하고 출력을 안정적으로 유지해 줍니다. 하지만 RC(Resistor-Capacitor, 저항-커패시터) 시정수 때문에 신호의 슬루율(변화 속도)이 제한됩니다.
그래서 GP8403은 DC 바이어스 설정, 기준 전압 생성, 느린 동적 제어에 적합합니다. 빠른 사인파나 오디오 합성 같은 고주파 AC(Alternating Current, 교류) 파형을 만드는 용도로는 맞지 않습니다.
━━━━━━━━━━━━━━━━━━━━
■ 3. 핀 배치와 하드웨어 연결
GP8403은 프로토타이핑부터 양산 환경까지 대응할 수 있도록 세 가지 연결 방식을 제공합니다.
▶ STEMMA QT / Qwiic 커넥터
- 보드 좌우에 JST(Japan Solderless Terminal) SH 4핀 STEMMA QT 커넥터가 하나씩 있습니다.
- 납땜 없이 I2C로 연결할 수 있습니다.
- 표준 케이블로 호환 보드끼리 쉽게 데이지 체인 연결할 수 있습니다.
▶ 4핀 터미널 블록 (2.5mm, 납땜 완료)
- 튼튼한 2.5mm 피치 나사식 터미널 블록이 PCB(Printed Circuit Board, 인쇄 회로 기판)에 미리 납땜되어 있습니다.
- 다음 네 단자에 전선을 직접 단단히 고정할 수 있습니다.
- 출력 채널 0(OUT0)
- 출력 채널 1(OUT1)
- 승압된 12V 전원 출력
- GND
▶ 6핀 헤더 영역 (0.1" 표준 헤더 동봉)
- 0.1" 피치 브레드보드용 헤더가 납땜되지 않은 상태로 함께 들어 있습니다.
- 6핀 패드 열에 헤더를 납땜하면 브레드보드나 만능기판에 꽂아 쓸 수 있습니다.
▶ 로직 레벨과 I2C 버스 관련 참고 사항
보드의 I2C 로직은 입력 하이 레벨 전압 2.7V ~ 5.5V의 넓은 범위에서 동작합니다. 또 I2C 로직부가 승압된 아날로그 출력 드라이버와 분리되어 있습니다. 그래서 다음 보드들을 레벨 시프터 없이 I2C 버스에 바로 연결할 수 있습니다.
- 3.3V 마이크로컨트롤러: 라즈베리 파이, Pico RP2040, ESP32 등
- 5V 보드: 아두이노 UNO 등
💡 데이지 체인 연결 팁
STEMMA QT 보드에는 SCL/SDA 라인에 풀업 저항이 기본으로 달려 있습니다. 한 I2C 버스에 여러 보드를 연결하면 이 풀업 저항들이 병렬로 연결되어 전체 버스 저항이 낮아집니다. 호스트 마이크로컨트롤러의 I2C 드라이버가 늘어난 풀업 전류를 충분히 감당할 수 있는지 꼭 확인하세요.
━━━━━━━━━━━━━━━━━━━━
■ 4. 여러 보드 연결과 I2C 주소 설정
아날로그 채널이 2개보다 더 필요하다면 하드웨어 주소 점퍼를 바꿔 보세요. 여러 GP8403 보드를 같은 I2C 버스에 신호 충돌 없이 연결할 수 있습니다.
▶ 설정 방법
① PCB를 뒤집어 A0, A1, A2라고 표시된 주소 선택용 솔더 점퍼 3개를 찾습니다.
② 솔더 브리지를 연결해서 보드마다 서로 다른 3비트 주소 조합을 지정합니다.
③ STEMMA QT 케이블이나 브레드보드 배선으로 I2C 버스를 데이지 체인 연결합니다.
④ 호스트 소프트웨어에서 각 보드의 점퍼 상태에 맞는 주소로 인스턴스를 초기화합니다.
A0, A1, A2 점퍼 조합으로 한 I2C 버스에 GP8403 보드를 최대 8개까지 함께 연결할 수 있습니다. 그러면 정밀 아날로그 출력 채널을 최대 16개까지 독립적으로 쓸 수 있습니다.
━━━━━━━━━━━━━━━━━━━━
■ 5. NVM(Non-Volatile Memory, 비휘발성 메모리)과 부팅 시 기본 전압 설정
GP8403에는 NVM이 내장되어 있어 원하는 기본 출력 전압을 내부 레지스터에 영구 저장할 수 있습니다. 이후 전원을 켜거나 리셋하면 DAC가 NVM에서 이 값을 자동으로 불러옵니다. 호스트 컨트롤러의 명령을 기다리지 않고 설정된 전압을 바로 출력합니다.
⚠ 플랫폼 주의 사항
NVM에 기본값을 쓸 때는 일반적인 I2C 레지스터 쓰기를 사용하지 않습니다. 대신 SCL/SDA 라인으로 제조사 고유의 비트뱅잉 펄스 시퀀스를 보내야 합니다.
▶ 구조적인 배경
- 아두이노 UNO의 ATmega328 같은 베어메탈 마이크로컨트롤러에서는 펌웨어가 GPIO(General-Purpose Input/Output, 범용 입출력) 방향 레지스터를 직접 제어할 수 있습니다. 그래서 I2C 하드웨어를 우회해 이 시퀀스를 비트뱅잉으로 보낼 수 있습니다.
- 운영체제가 돌아가는 플랫폼(라즈베리 파이의 리눅스 등)에서는 사정이 다릅니다. 전용 하드웨어 I2C 주변장치를 쓰는 고급 RTOS(Real-Time Operating System, 실시간 운영체제) 마이크로컨트롤러도 마찬가지입니다. 운영체제 커널이나 하드웨어 잠금 때문에 사용자 코드가 SCL/SDA 핀을 직접 제어해 비트뱅잉할 수 없습니다.
- → NVM 쓰기를 시도하기 전에 사용하는 플랫폼이 저수준 GPIO 직접 제어나 소프트웨어 비트뱅잉 I2C 드라이버를 지원하는지 먼저 확인하세요.
━━━━━━━━━━━━━━━━━━━━
■ 6. 소프트웨어 연동과 라이브러리
Adafruit는 빠르게 적용할 수 있도록 실사용 수준의 라이브러리와 예제 코드를 제공합니다.
▶ 아두이노
- 공식 Adafruit GP8403 라이브러리를 지원합니다.
- 다음 기능을 함수로 간단히 호출할 수 있습니다.
- 출력 범위 선택
- 12비트 원시 값 쓰기
- 전압 변환
- 예제는 8비트 AVR 마이크로컨트롤러는 물론 최신 32비트 플랫폼(ARM, ESP32, RP2040)과도 호환됩니다.
▶ Python / CircuitPython
- 전용 Adafruit CircuitPython 드라이버를 지원합니다.
- 리눅스가 돌아가는 라즈베리 파이 같은 싱글보드 컴퓨터와 CircuitPython을 실행하는 마이크로컨트롤러 양쪽에서 사용할 수 있습니다.
━━━━━━━━━━━━━━━━━━━━
■ 마무리
GP8403은 내장 부스트 컨버터라는 하드웨어 강점과 잘 정리된 소프트웨어 라이브러리를 함께 갖추고 있습니다. 그래서 마이크로컨트롤러로 넓은 전압 범위의 시스템을 손쉽게 제어할 수 있습니다.
보드를 연결하고 플랫폼에 맞는 드라이버만 불러오면 바로 12비트 정밀도로 고전압 아날로그 채널을 구동할 수 있습니다. 산업용 0~10V 장비를 마이크로컨트롤러로 다뤄 보고 싶은 분들께 추천합니다! 😊
━━━━━━━━━━━━━━━━━━━━
이 글이 도움이 되셨다면 제 홈페이지(댓글에 링크)를 방문해 보세요.
홈페이지에서는 다음과 같은 다양한 콘텐츠를 만나실 수 있습니다.
· 기술 블로그와 학습 자료
· pcb 제작 강의와 최신 소식
· ESP32와 IoT 하드웨어 프로젝트
· KiCad PCB 설계 템플릿 (Github, Gumroad)
· 펌웨어 개발
배우고, 만들고, 함께 성장하는 메이커들을 위한 공간으로 계속 발전시켜 나가겠습니다.
#Adafruit #GP8403 #DAC #I2C #0_10V #아날로그출력 #아두이노 #라즈베리파이 #ESP32 #CircuitPython #STEMMAQT #전자공작 #임베디드
'전자부품 리뷰' 카테고리의 다른 글
| Adafruit TMF8806 ToF 거리 센서 — 최대 5m를 측정하는 초소형 dToF 센서 (1) | 2026.09.09 |
|---|---|
| 코딩 없이 센서 데이터를 기록한다: SparkFun DataLogger IoT 완벽 가이드 (1) | 2026.09.02 |
| 스마트폰과 마이크로컨트롤러를 연결하는 NFC 태그: SparkFun Qwiic Dynamic NFC/RFID Tag 사용 가이드 (2) | 2026.08.30 |
| 초소형 CO₂ 센서의 새로운 선택지, STCC4 + SHT41 (0) | 2026.08.26 |
| 0~10V 아날로그 전압이 필요하다면? Adafruit GP8403 I2C DAC 사용 가이드 (0) | 2026.08.22 |







