# Adafruit GP8403 I2C DAC with 12V Booster

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/145/701/medium800/adafruit_products_6516-05.jpg?1787258247)

We stock a bunch of DAC boards here at the 'fruit. These are chips that will take I2C or SPI and pop out an analog voltage. We have single channels like the [MCP4725](https://www.adafruit.com/product/935) and even quad channel like [MCP4728](https://www.adafruit.com/product/4470), but one thing most DACs have in common is they max out at whatever the input power is for the chip, which is usually 3V or 5V. The **Adafruit GP8403 Breakout Board** is a funky exception - it has the ability to output 0-10V analog voltages, so it's useful for devices that have wide voltage input ranges - like audio or op-amps. Note that the DAC outputs have 10uF caps on them (as indicated by the datasheet), so they aren't going to be terribly fast - best for bias setting maybe, instead of trying to generate fast sine waves!

![](https://cdn-learn.adafruit.com/assets/assets/000/145/702/medium800/adafruit_products_6516-02.jpg?1787258334)

The GP8402 chip has a built-in I2C-to-analog signal converter that linearly converts 12-bit digital values from 0x000 to 0xFFF into two independent analog voltage outputs of 0–5V or 0–10V, with an output voltage error of 0.2%. This chip is great for when you need wide / high voltage range outputs thanks to its built-in booster, we also provide the 12V output from the small on-board DC/DC converter. You can grab up to 100mA if you need to power something externally.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/703/medium800/adafruit_products_6516-03.jpg?1787258367)

On the back are three A0, A1, and A2 address selection jumpers, so you can connect up to 8 of these DACs on one I2C bus, for up to 16 DAC outputs. Also included is a 6-pin header, for use in a breadboard. Works with both 3.3V or 5V logic, which is handled separately from the boosted DAC outputs.

This chip does have a non-volatile-memory capability, so it will boot up into a prior-set voltage. However, it uses a funky bit-banging technique on the I2C lines so while we did get it to work on an ATmega328, you should definitely verify it on your platform since some devices will not let you 'take over' the I2C pins for bit-banging!

![](https://cdn-learn.adafruit.com/assets/assets/000/145/704/medium800/adafruit_products_6516-04.jpg?1787258408)

[We have easy-to-use Arduino and Python/CircuitPython libraries and examples](https://github.com/adafruit/?q=gp8403&type=all&language=&sort=) that can be used with just about any microcontroller or microcomputer with I2C host - from the classic Arduino UNO-compatible to Raspberry Pi, Pico, ESP32 and beyond.

Comes with a bit of 0.1" standard header in case you want to use it with a breadboard or perfboard.&nbsp; Four mounting holes for easy attachment. There's a 4-pin 2.5mm terminal block already soldered on the PCB.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/705/medium800/adafruit_products_6516-01.jpg?1787258443)

To get you going fast, we spun up a custom-made PCB in the [**STEMMA QT** form factor](https://www.adafruit.com/?q=stemma%20qt%20sensor "STEMMA QT form factor"), making it easy to interface with. The [STEMMA QT connectors](https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma-qt) on either side are compatible with the [SparkFun Qwiic](https://www.sparkfun.com/qwiic)&nbsp;I2C connectors. This allows you to make solderless connections between your development board and the GP8403 or to chain it with a wide range of other sensors and accessories using a [**compatible cable**](https://www.adafruit.com/?q=stemma%20qt%20cable).

[**QT Cable is not included** , but we have a variety in the shop](https://www.adafruit.com/?q=stemma+qt+cable&sort=BestMatch).

# Adafruit GP8403 I2C DAC with 12V Booster

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/145/878/medium800/adafruit_products_double.png?1787579757)

The default I2C address is **0x58**.

## Power Pins

- **VCC** &nbsp;- this is the power pin. Since the DAC chip uses 3-5 VDC to power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V.  
- **+12V&nbsp;** - this is the 12V output from the small on-board DC/DC converter. You can grab up to 100mA if you need to power something externally.
- **GND** &nbsp;- common ground for power and logic.

## I2C Logic Pins

- **SCL** - I2C clock pin, connect to your microcontroller's I2C clock line. This pin can use 3-5V logic, and there's a **10K pullup** on this pin.
- **SDA** - I2C data pin, connect to your microcontroller's I2C data line. This pin can use 3-5V logic, and there's a **10K pullup** on this pin.
- **[STEMMA QT](https://learn.adafruit.com/introducing-adafruit-stemma-qt) -** These connectors allow you to connectors to dev boards with **STEMMA QT** connectors or to other things with [various associated accessories](https://www.adafruit.com/?q=JST%20SH%204)

## DAC Outputs

- **OUT0/V0** and **OUT1/V1** - The analog voltage outputs from the DAC. They are available along the bottom edge of the board ( **OUT0** and **OUT1** ) or via the terminal block ( **V0** and **V1** ). You can get an output of 0-5V or 0-10V, with an output voltage error of 0.2%. Note that the DAC outputs have 10uF caps on them (as indicated by the datasheet), so they aren't going to be terribly fast.

## Address Pins

On the back of the board are&nbsp; **three address jumpers** , labeled **A0** , **A1** , and **A2**. These jumpers allow you to chain up to 8 of these boards on the same pair of I2C clock and data pins. To do so, you solder the jumpers "closed" by connecting the two pads.

The default I2C address is **0x58**. The other address options can be calculated by “adding” the **A0/A1/A2** &nbsp;to the base of **0x58**.

**A0** sets the lowest bit with a value of **1** , **A1** sets the next bit with a value of **2** and **A2** sets the next bit with a value of **4.** The final address is **0x58 + A2 + A1 + A0** which would be **0x5F**.

 So for example if **A2** is soldered closed and **A0** is soldered closed, the address is **0x58 + 4 + 1 = 0x5D**.

 If only **A0** is soldered closed, the address is **0x58 + 1 = 0x59**

 If only **A1** is soldered closed, the address is **0x58 + 2 = 0x5A**

 If only **A2** is soldered closed, the address is **0x58 + 4 = 0x5C**

The table below shows all possible addresses, and whether the jumper(s) should be high (closed) or low (open).

![](https://cdn-learn.adafruit.com/assets/assets/000/145/879/medium800/adafruit_products_Screenshot_2026-08-24_102938.png?1787581790)

## Power LED and LED Jumper

- **Power LED -** In the upper left corner, above the STEMMA connector, on the front of the board, is the power LED, labeled **on**. It is a green LED.
- **LED jumper&nbsp;** - This jumper, labeled **LED** on the board silk, is located on the back of the board, on the right. Cut the trace on this jumper to cut power to the "on" LED.

# Adafruit GP8403 I2C DAC with 12V Booster

## CircuitPython and Python

It's easy to use the **GP8403** with Python or CircuitPython, and the [Adafruit\_CircuitPython\_GP8403](https://github.com/adafruit/Adafruit_CircuitPython_GP8403) module. This module allows you to easily write Python code to control the DAC.

You can use this driver with any CircuitPython microcontroller board or with a computer that has GPIO and Python [thanks to Adafruit\_Blinka, our CircuitPython-for-Python compatibility library](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

## CircuitPython Microcontroller Wiring

First wire up the breakout to your board exactly as follows. The following is the breakout wired to a Feather RP2040 using the STEMMA connector:

- **Board STEMMA 3V** to **breakout VIN (red wire)**
- **Board STEMMA GND** to **breakout**** &nbsp;GND (black wire)**
- **Board STEMMA SCL** to **breakout**** &nbsp;SCL (yellow wire)**
- **Board STEMMA SDA** to **breakout**** &nbsp;SDA (blue wire)**

The signal will be output from the DAC **V0 terminal block** and **GND**.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/896/medium640/adafruit_products_featherStemma_bb.jpg?1787761050)

The following is the breakout wired to a Feather RP2040 using a solderless breadboard:

- **Board 3V** to **breakout VIN (red wire)**
- **Board GND** to **breakout**** &nbsp;GND (black wire)**
- **Board SCL** to **breakout**** &nbsp;SCL (yellow wire)**
- **Board SDA** to **breakout**** &nbsp;SDA (blue wire)**

The signal will be output from the DAC **OUT0** pin and **GND**.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/897/medium640/adafruit_products_featherBB_bb.jpg?1787761117)

## Python Computer Wiring

Since there are _dozens_ of Linux computers/boards you can use, we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

Here's the Raspberry Pi wired with I2C using the STEMMA connector:

- **Pi 3V** to **breakout** **VIN (red wire)**
- **Pi GND** to **breakout** **GND (black wire)**
- **Pi SCL** to **breakout** **SCL (yellow wire)**
- **Pi SDA** to **breakout** **SDA (blue wire)**

The signal will be output from the DAC **V0 terminal block** and **GND.**

![](https://cdn-learn.adafruit.com/assets/assets/000/145/898/medium640/adafruit_products_piStemma_bb.jpg?1787761165)

Here's the Raspberry Pi wired with I2C using a solderless breadboard:

- **Pi 3V** to **breakout** **VIN (red wire)**
- **Pi GND** to **breakout** **GND (black wire)**
- **Pi SCL** to **breakout&nbsp;SCL (yellow wire)**
- **Pi SDA** to **breakout** **SDA (blue wire)**

The signal will be output from the DAC **V0** pin and **GND**.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/899/medium640/adafruit_products_piBB_bb.jpg?1787761205)

## Python Installation of GP8403 Library

You'll need to install the **Adafruit\_Blinka** library that provides the CircuitPython support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

Once that's done, from your command line run the following command:

- `pip3 install adafruit-circuitpython-gp8403`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

## CircuitPython Usage

To use with CircuitPython, you need to first install the **Adafruit\_CircuitPython\_GP8403** library, and its dependencies, into the **lib** folder on your **CIRCUITPY** drive. Then you need to update **code.py** with the example script.

Thankfully, we can do this in one go. In the example below, click the **Download Project Bundle** button below to download the necessary libraries and the **code.py** file in a zip file. Extract the contents of the zip file, and copy the **entire**  **lib**  **folder** and the **code.py** file to your **CIRCUITPY** drive.

Your **CIRCUITPY/lib** folder should contain the following folders and file:

- **adafruit\_bus\_device/**
- **adafruit\_register/**
- **adafruit\_gp8403.mpy**

![CIRCUITPY drive](https://adafruit.github.io/Adafruit_CircuitPython_Bundle/gp8403_gp8403_simpletest.py.png )

## Python Usage

Once you have the library `pip3` installed on your computer, copy or download the following example to your computer, and run the following, replacing **code.py** with whatever you named the file:

`python3 code.py`

## Example Code

**If running CircuitPython:** Once everything is saved to the **CIRCUITPY** drive, [connect to the serial console](https://learn.adafruit.com/welcome-to-circuitpython/kattni-connecting-to-the-serial-console) to see the data printed out!

**If running Python:** The console output will appear wherever you are running Python.

https://github.com/adafruit/Adafruit_CircuitPython_GP8403/blob/main/examples/gp8403_simpletest.py

![](https://cdn-learn.adafruit.com/assets/assets/000/145/919/medium800/adafruit_products_Screenshot_2026-08-27_094746.png?1787838475)

The GP8403 is initialized over I2C. Then, it sets output 0 to 2.5V and output 1 to 3.5V, +/-0.2%. If you connect the DAC outputs to a multimeter or scope, you will be able to confirm the voltage readings.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/914/medium640/adafruit_products_edited_P1490621.jpg?1787838296)

![](https://cdn-learn.adafruit.com/assets/assets/000/145/915/medium640/adafruit_products_edited_P1490622.jpg?1787838303)

# Adafruit GP8403 I2C DAC with 12V Booster

## Python Docs

# Adafruit GP8403 I2C DAC with 12V Booster

## Arduino

Using the GP8403 breakout with Arduino involves wiring up the breakout to your Arduino-compatible microcontroller, installing the [Adafruit\_GP8403](https://github.com/adafruit/Adafruit_GP8403) library, and running the provided example code.

## Wiring

Wire as shown for a **5V** board like an Uno. If you are using a **3V** board, like an Adafruit Feather, wire the board's 3V pin to the breakout VIN.

Here is an Adafruit Metro wired up to the breakout using the STEMMA QT connector:

- **Board 5V** to **breakout** **VIN (red wire)**  
- **Board GND** to **breakout** **GND (black wire)**  
- **Board SCL** to **breakout** **SCL (yellow wire)**  
- **Board SDA** to **breakout** **SDA (blue wire)**

The signal will be output from the DAC **V0** terminal block with **GND**.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/893/medium640/adafruit_products_metroStemma_bb.jpg?1787760873)

Here is an Adafruit Metro wired up using a solderless breadboard:

- **Board 5V** to **breakout** **VIN (red wire)**  
- **Board GND** to **breakout** **GND (black wire)**  
- **Board SCL** to **breakout** **SCL (yellow wire)**  
- **Board SDA** to **breakout** **SDA (blue wire)**

The signal will be output from the DAC **OUT0** pin and **GND**.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/895/medium640/adafruit_products_metroExpressBB_bb.jpg?1787760956)

## Library Installation

You can install the **Adafruit\_GP8403** library for Arduino using the Library Manager in the Arduino IDE.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/890/medium800/adafruit_products_Arduino_Open_Library_Manager.png?1787758378)

Click the **Manage Libraries ...** menu item, search for **Adafruit\_GP8403** , and select the **Adafruit GP8403** &nbsp;library:

![](https://cdn-learn.adafruit.com/assets/assets/000/145/891/medium800/adafruit_products_Screenshot_2026-08-26_114131.png?1787758915)

If asked about dependencies, click "Install all".

![](https://cdn-learn.adafruit.com/assets/assets/000/145/892/medium800/adafruit_products_Screenshot_2026-08-26_114139.png?1787758922)

If the "Dependencies" window does not come up, then you already have the dependencies installed.

Warning: If the dependencies are already installed, you must make sure you update them through the Arduino Library Manager before loading the example!

## Example Code
https://github.com/adafruit/Adafruit_GP8403/blob/main/examples/dual_output_5v/dual_output_5v.ino

Upload the sketch to your board and open up the Serial Monitor ( **Tools -\> Serial Monitor** ) at 115200 baud. You'll see the GP8403 recognized over I2C.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/918/medium800/adafruit_products_Screenshot_2026-08-27_094614.png?1787838386)

If you connect the DAC output to a multimeter or scope, you will be able to measure 1.25V on output 0 and 3.75V on output 1 +/-0.2%.

![](https://cdn-learn.adafruit.com/assets/assets/000/145/916/medium640/adafruit_products_edited_P1490627.jpg?1787838327)

![](https://cdn-learn.adafruit.com/assets/assets/000/145/917/medium640/adafruit_products_edited_P1490629.jpg?1787838339)

# Adafruit GP8403 I2C DAC with 12V Booster

## Arduino Docs

# Adafruit GP8403 I2C DAC with 12V Booster

## Downloads

## Files

- [GP8403 Datasheet](https://cdn-learn.adafruit.com/assets/assets/000/145/709/original/P6516_Datasheet.pdf?1787258647)
- [EagleCAD PCB Files on GitHub](https://github.com/adafruit/Adafruit-GP8403-Breakout-Board-PCB)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20GP8403%20Breakout%20Board%20I2C%20DAC%20with%2012V%20Booster%20and%20NVM%20-%20STEMMA%20QT.fzpz)

## Schematic and Fab Print
![](https://cdn-learn.adafruit.com/assets/assets/000/145/712/medium800/adafruit_products_schem.png?1787258894)

![](https://cdn-learn.adafruit.com/assets/assets/000/145/713/medium800/adafruit_products_fab.png?1787258910 dimensions are in inches)


## Primary Products

### Adafruit GP8403 Breakout Board I2C DAC with 12V Booster + NVM

[Adafruit GP8403 Breakout Board I2C DAC with 12V Booster + NVM](https://www.adafruit.com/product/6516)
We stock a bunch of DAC boards here at the 'fruit - these are chips that will take I2C or SPI and pop out an analog voltage. We have single channels like the&nbsp;[MCP4725](https://www.adafruit.com/product/935)&nbsp;and even quad channel like <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/6516)
[Related Guides to the Product](https://learn.adafruit.com/products/6516/guides)

## Related Guides

- [Introducing Bluefruit LE Micro](https://learn.adafruit.com/bluefruit-le-micro-atmega32u4-microcontroller-usb-bluetooth-le-in-one.md)
- [Adafruit Fruit Jam](https://learn.adafruit.com/adafruit-fruit-jam.md)
- [Adafruit 2.13" 250x122 Quad-Color eInk](https://learn.adafruit.com/adafruit-2-13-250x122-quad-color-eink.md)
- [NeXT Bus Mouse to USB HID with CircuitPython](https://learn.adafruit.com/next-bus-mouse-to-usb-hid-with-circuitpython.md)
- [Adafruit NeoPixel Breakout](https://learn.adafruit.com/adafruit-neopixel-breakout.md)
- [Pathfinder Robot Companion](https://learn.adafruit.com/pathfinder.md)
- [WiFi Music Alert Box ](https://learn.adafruit.com/wifi-music-alert-box.md)
- [MIT Green Building NeoPixel Tetris](https://learn.adafruit.com/tetris-building.md)
- [LIGHTSHIP: LED Animation over WiFi](https://learn.adafruit.com/lightship-led-animation-over-wifi.md)
- [Using the Adafruit Library with Fritzing](https://learn.adafruit.com/using-the-adafruit-library-with-fritzing.md)
- [PyLeap Button Controlled NeoPixels for Circuit Playground Bluefruit](https://learn.adafruit.com/pyleap-buttons-neopixels.md)
- [Adafruit Motor Shield](https://learn.adafruit.com/adafruit-motor-shield.md)
- [Adafruit eInk Display Breakouts and FeatherWings](https://learn.adafruit.com/adafruit-eink-display-breakouts.md)
- [Adafruit RS-232 Full Pinout Level-Shifter Breakout](https://learn.adafruit.com/adafruit-rs-232-full-pinout-level-shifter-breakout.md)
- [EMC2101 Fan Controller and Temperature sensor](https://learn.adafruit.com/emc2101-fan-controller-and-temperature-sensor.md)
