# Adafruit LM73100 Ideal Diode Breakout

## Overview

![multimeter demo with the ideal diode](https://cdn-learn.adafruit.com/assets/assets/000/138/233/medium800/adafruit_products_6359-05.jpg?1751994895 )

If your project is moving a lot of power around, and efficiency is key, an **Adafruit LM73100&nbsp;Ideal Diode breakout** is a great way to keep your power budget tidy! As long as your power supply is 3 to 23V DC and up to 5A, use this in place of a diode to keep current flowing in only one direction. However, unlike a diode, you won't suffer a 1V+ forward drop which just gets lost as heat. Instead, the internal chip has two back-to-back FETs, with a typical Rdson of 30 mΩ. That means that even with 5A, you'll lose around 150mV. This makes it perfect for efficiency-sensitive setups like solar panels and LiPoly batteries.

![front view of the breakout](https://cdn-learn.adafruit.com/assets/assets/000/138/234/medium800/adafruit_products_6359-04.jpg?1751995013 )

Unlike our [LM62200 dual ideal diode](https://www.adafruit.com/product/5830), this board acts as 'one' diode only - but it can handle much higher voltages and currents! There are also some niceties we added like solder-free operation thanks to on-board terminal blocks, and a green LED that will light when power is going in the right direction. You can also monitor the current draw by reading the analog voltage off of IMON, handy if you don't want a separate power monitoring kit.

![back view of the board](https://cdn-learn.adafruit.com/assets/assets/000/138/235/medium800/adafruit_products_6359-02.jpg?1751995540 )

To make it breadboard friendly, we've placed it on a small PCB with 9 x 0.1" breakout pads. We include a bit of header. Some light soldering is required to attach the header for breadboarding use. Or you can use direct wiring to the terminal blocks if you want to insert it directly into a circuit without a breadboard.

![terminal block side view of the breakout](https://cdn-learn.adafruit.com/assets/assets/000/138/236/medium800/adafruit_products_6359-03.jpg?1751995568 )

- Wide operating input voltage range: 2.7 V to 23 V
  - 28 V absolute maximum
  - Withstands negative voltages up to -15 V

- Integrated back-to-back FETs with low OnResistance: RON = 28.4 mΩ (typ)
- Ideal diode operation with true reverse current blocking
- Fast overvoltage protection
- 1.2-μs (typ) response time
- Fast-trip response to transient overcurrents during steady state  
500-ns (typ) response time  
Latch-off after fault
- Analog load current monitor output (IMON)  
Current range: 0.5 A to 5.5 A  
Accuracy: ±15% (max) (IOUT ≥ 1 A)
- Overtemperature protection
- Power Good indication (PG)

# Adafruit LM73100 Ideal Diode Breakout

## Pinouts

![front and back views of the board](https://cdn-learn.adafruit.com/assets/assets/000/138/330/medium800/adafruit_products_double_ideal.jpg?1752161549 )

## Power

- **VIN** / **IN (terminal block)** - To power the board, give it 3V to 22V DC. The power input pin is broken out at the bottom edge of the board ( **VIN** ) and on the terminal block on the left side of the board ( **IN** ).
- **Vout** / **OUT** **(terminal block)** - this is the output from the ideal diode. It is broken out at the bottom edge of the board (Vout) and on the terminal block on the right side of the board ( **OUT** ).
- **GND** / **GND&nbsp;(terminal block)** - common ground.&nbsp;The ground pin is broken out at the bottom edge of the board ( **GND** ) and on the terminal blocks on both sides of the board (GND).

## LM73100 Pins

- **UVLO** - This is the active high enable pin. It is also used to set the undervoltage lockout threshold. At 3V, that is 1.2V and at 23V that is 9.2V.
- **OVLO** - This is the overvoltage lockout threshold pin. At 3V, that is 0.15V and at 23V it is 1.2V.
- **PG** - This is the power good indication pin. It is high when a proper power supply is detected.
- **PGTH** - This is the power good threshold pin. It can be set with a threshold setting to check against&nbsp; for the power good pin.
- **DVDT** - This is the slew rate/inrush current control pin.
- **IMON** - This is the current monitoring pin. You can read the analog voltage from this pin as a current monitor.

## Power LED and Jumper

- **Power LED -** In the top center of the board, below the LM73100 label on the board silk, is the power LED, It is a green LED.
- **LED jumper&nbsp;** - This jumper is located on the back of the board and is labeled **LED** on the board silk. Cut the trace on this jumper to cut power to the power&nbsp;LED.

# Adafruit LM73100 Ideal Diode Breakout

## CircuitPython

Warning: This code will not run on a Raspberry Pi single board computer since Pi SBCs do not have an analog input.

It's easy to use the **LM73100 Ideal Diode** with CircuitPython, and the&nbsp;[analogio core module](https://docs.circuitpython.org/en/latest/shared-bindings/analogio/). This module allows you to easily write Python code to read analog input data from the LM73100 IMON pin.

### Lithium Ion Battery Pack - 3.7V 4400mAh

[Lithium Ion Battery Pack - 3.7V 4400mAh](https://www.adafruit.com/product/354)
Need a big battery for your project? This lithium-ion pack is made of 2 balanced 2200mAh cells for a total of 4400mA capacity! The cells are connected in parallel and spot-welded to a protection circuit that provides over-voltage, under-voltage, and over-current protection.

Each cell can...

In Stock
[Buy Now](https://www.adafruit.com/product/354)
[Related Guides to the Product](https://learn.adafruit.com/products/354/guides)
![Angled Shot of the Lithium Ion Battery Pack - 3.7V 4400mAh](https://cdn-shop.adafruit.com/640x480/354-03.jpg)

### JST-PH Battery Extension Cable - 500mm

[JST-PH Battery Extension Cable - 500mm](https://www.adafruit.com/product/1131)
By popular demand, we now have a handy extension cord for all of our JST PH-terminated battery packs (such as our LiIon/LiPoly and 3xAAA holders). One end has a JST-PH compatible socket, and the other end has a matching plug. Between the two, 500mm of color coded wire. Handy for wearable...

In Stock
[Buy Now](https://www.adafruit.com/product/1131)
[Related Guides to the Product](https://learn.adafruit.com/products/1131/guides)
![Front shot of JST-PH Battery Extension Cable.](https://cdn-shop.adafruit.com/640x480/1131-00.jpg)

## CircuitPython Microcontroller Wiring

First wire up the breakout to your board exactly as follows. The following is the breakout wired to a Feather RP2040 with the breakout inline with a lipo battery:

- **LiPo battery positive** to **ideal diode VIN (red wire)**
- **LiPo battery negative** to **ideal diode GND (black wire)**
- **Ideal diode OUT** to **Feather JST-PH positive (red wire)**
- **Ideal diode GND** to **Feather JST-PH negative (black wire)**
- **Ideal diode IMON** to **Feather pin A0 (yellow wire)**

![feather with lipo and ideal diode fritzing](https://cdn-learn.adafruit.com/assets/assets/000/138/415/medium640/adafruit_products_featherBB_bb.jpg?1752581300)

Note that when you connect the Feather via USB for serial monitoring, the battery goes into charge mode and as a result isn't drawing any current through the battery. You can use an additional Feather or microcontroller to get current readings for this demo:

- **LiPo battery positive** to **ideal diode VIN (red wire)**
- **LiPo battery negative** to **ideal diode GND (black wire)**
- **Ideal diode OUT** to **Feather 1 JST-PH positive (red wire)**
- **Ideal diode GND** to **Feather 1 JST-PH negative (black wire)**
- **Feather 1 GND** to **Feather 2 GND (black wire)**
- **Ideal diode IMON** to **Feather 2 pin A0 (yellow wire)**

![two feathers fritzing](https://cdn-learn.adafruit.com/assets/assets/000/138/420/medium640/adafruit_products_featherBB_two_bb.jpg?1752589664)

In practice, for a battery powered IoT project for example, you would likely be reading the current from the battery connected to the target Feather in code or logging wirelessly.

## CircuitPython Usage

To use with CircuitPython, you need to&nbsp;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&nbsp;the **code.py** file to your **CIRCUITPY** drive.

Your **CIRCUITPY/lib** folder will be empty since the example is only using core modules that are built into the **CIRCUITPY** drive.

![CIRCUITPY drive](https://adafruit.github.io/Adafruit_Learning_System_Guides/Ideal_Diode_Examples_CircuitPython_Ideal_Diode_Monitor.png )

Info: The **/lib** folder will be empty since the example is only using core modules.

## Example Code

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!

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Ideal_Diode_Examples/CircuitPython_Ideal_Diode_Monitor/code.py

![serial console output from circuitpython](https://cdn-learn.adafruit.com/assets/assets/000/138/383/medium800/adafruit_products_Screenshot_2025-07-14_121625.png?1752509811 )

You'll see the raw analog reading, the **IMON** voltage reading and the current draw from the&nbsp; **IMON** pin printed out to the serial console. The code uses the formula from the datasheet (page 20, section 7.3.5 "Analog Load Current Monitor Output"):

`Iout (A) = (Vimon(V) × 10^-6) / (Rimon(Ω) × Gimon(μA/A))`

to calculate the current from the voltage output from the **IMON** pin as an analog reading.

# Adafruit LM73100 Ideal Diode Breakout

## Arduino

Using the LM73100 Ideal Diode with Arduino involves wiring up the breakout to your Arduino-compatible microcontroller&nbsp;and running the provided example code.

### Adjustable Power Supply with 2.1mm / 5.5mm DC - 3V to 12V at 5A

[Adjustable Power Supply with 2.1mm / 5.5mm DC - 3V to 12V at 5A](https://www.adafruit.com/product/4880)
[Put your Snap! cassette on and sing along to "I got the power!"](https://www.youtube.com/watch?v=j1BNcSBApOU) with this super useful power supply adapter where you can easily change the voltage with a snap of your fingers. On the front is a potentiometer knob and a LED...

In Stock
[Buy Now](https://www.adafruit.com/product/4880)
[Related Guides to the Product](https://learn.adafruit.com/products/4880/guides)
![Hand slowly dialing up voltage on power brick, LED strip gets brighter as it increases](https://cdn-shop.adafruit.com/product-videos/640x480/4880-06.jpg)

## Wiring

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

- **Power supply positive** to **ideal diode VIN (red wire)**
- **Power supply negative** to **ideal diode GND (black wire)**
- **Ideal diode OUT** to **DC jack positive (red wire)**
- **Ideal diode GND** to **DC jack negative (black wire)**
- **DC jack output** to **Metro DC jack**
- **Ideal diode IMON** to **Metro pin A0 (yellow wire)**

![metro fritzing diagram](https://cdn-learn.adafruit.com/assets/assets/000/138/411/medium640/adafruit_products_metroBB_bb.jpg?1752581056)

Info: No additional libraries are needed for this example.

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Ideal_Diode_Examples/Arduino_Ideal_Diode_Monitor/Arduino_Ideal_Diode_Monitor.ino

![serial monitor output](https://cdn-learn.adafruit.com/assets/assets/000/138/384/medium800/adafruit_products_Screenshot_2025-07-14_125503.png?1752512134 )

Upload the sketch to your board and open up the Serial Monitor ( **Tools -\> Serial Monitor** ) at 115200 baud. You'll see the raw analog reading, the **IMON** voltage reading and the current draw from the&nbsp; **IMON** pin printed out to the Serial Monitor. The code uses the formula from the datasheet (page 20, section 7.3.5 "Analog Load Current Monitor Output"):

`Iout (A) = (Vimon(V) × 10^-6) / (Rimon(Ω) × Gimon(μA/A))`

to calculate the current from the voltage output from the **IMON** pin as an analog reading.

# Adafruit LM73100 Ideal Diode Breakout

## Downloads

## Files

- [LM73100 Datasheet](https://cdn-learn.adafruit.com/assets/assets/000/138/239/original/lm7310.pdf?1751996444)
- [EagleCAD PCB files on GitHub](https://github.com/adafruit/Adafruit-LM73100-Ideal-Diode-Breakout-PCB)
- [3D models on GitHub](https://github.com/adafruit/Adafruit_CAD_Parts/tree/main/6359%20LM73100%20Ideal%20Diode)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20LM73100%20Ideal%20Diode%20Breakout.fzpz)

## Schematic and Fab Print
![schematic for the breakout](https://cdn-learn.adafruit.com/assets/assets/000/138/246/medium800/adafruit_products_schem.png?1752007036 )

![fab print for pcb](https://cdn-learn.adafruit.com/assets/assets/000/138/247/medium800/adafruit_products_fab.png?1752007051 dimensions are in inches)

![](https://cdn-learn.adafruit.com/assets/assets/000/138/307/medium800/adafruit_products_6359_LM73100_Ideal_Diode.jpg?1752151474 )


## Primary Products

### Adafruit LM73100 23V 5A Max Ideal Diode Breakout

[Adafruit LM73100 23V 5A Max Ideal Diode Breakout](https://www.adafruit.com/product/6359)
If your project is moving a lot of power around, and efficiency is key, an&nbsp; **Adafruit LM73100&nbsp;Ideal Diode breakout** &nbsp;is a great way to keep your power budget tidy! As long as your power supply is 3~23V DC and up to 5A, use this in place of a diode to keep current...

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

## Featured Products

### Female DC Power adapter - 2.1mm jack to screw terminal block

[Female DC Power adapter - 2.1mm jack to screw terminal block](https://www.adafruit.com/product/368)
If you need to connect a DC power wall wart to a board that doesn't have a DC jack - this adapter will come in very handy! There is a 2.1mm DC jack on one end, and a screw terminal block on the other. The terminals are labeled with positive/negative assuming a positive-tip configuration...

In Stock
[Buy Now](https://www.adafruit.com/product/368)
[Related Guides to the Product](https://learn.adafruit.com/products/368/guides)
### Male DC Power adapter - 2.1mm plug to screw terminal block

[Male DC Power adapter - 2.1mm plug to screw terminal block](https://www.adafruit.com/product/369)
If you need to connect a battery pack or wired power supply to a board that has a DC jack - this adapter will come in very handy! There is a 2.1mm DC plug on one end, and a screw terminal block on the other. The terminals are labeled with positive/negative assuming a positive-tip configuration...

In Stock
[Buy Now](https://www.adafruit.com/product/369)
[Related Guides to the Product](https://learn.adafruit.com/products/369/guides)
### JST PH 2-Pin Cable - Female Connector 100mm

[JST PH 2-Pin Cable - Female Connector 100mm](https://www.adafruit.com/product/261)
Red and black tinned wires with a 2-pin JST PH connector on the end. 4" / 100mm long. Matches up nicely with our Lipoly chargers!

[We have the socket 'mating' version of this cable](https://www.adafruit.com/product/3814) over here, <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/261)
[Related Guides to the Product](https://learn.adafruit.com/products/261/guides)
### JST PH 2-Pin Cable – Male Header 200mm

[JST PH 2-Pin Cable – Male Header 200mm](https://www.adafruit.com/product/3814)
For a really long time we assumed that the JST PH didn't have a free-hanging male header version. But then we found this **JST-PH 2-pin Male Cable,** and we were like,&nbsp;_this is perfect!_ It's not a genuine JST connector, but it's 100%...

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

## Related Guides

- [NeoPixel Menorah](https://learn.adafruit.com/neopixel-menorah.md)
- [Adafruit ADS7830 8-Channel 8-Bit ADC](https://learn.adafruit.com/adafruit-ads7830-8-channel-8-bit-adc.md)
- [2.7" Monochrome 128x64 OLED Display Module](https://learn.adafruit.com/2-7-monochrome-128x64-oled-display-module.md)
- [Adafruit HX711 24-bit ADC](https://learn.adafruit.com/adafruit-hx711-24-bit-adc.md)
- [Adafruit 2.2" PiTFT HAT - 320x240 Display](https://learn.adafruit.com/adafruit-2-2-pitft-hat-320-240-primary-display-for-raspberry-pi.md)
- [Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout](https://learn.adafruit.com/adafruit-tca8418-keypad-matrix-and-gpio-expander-breakout.md)
- [MIDI Breath Controller](https://learn.adafruit.com/midi-breath-controller.md)
- [Adafruit Feather RP2350 with HSTX](https://learn.adafruit.com/adafruit-feather-rp2350.md)
- [Adafruit ATtiny Breakouts with seesaw](https://learn.adafruit.com/adafruit-attiny817-seesaw.md)
- [CircuitPython Stage game library](https://learn.adafruit.com/circuitpython-stage-game-library.md)
- [Adafruit NeoKey 5x6 Ortho Snap-Apart](https://learn.adafruit.com/adafruit-neokey-5x6-ortho-snap-apart.md)
- [PowerWash Simulator Nozzle Controller](https://learn.adafruit.com/powerwash-simulator-nozzle-controller.md)
- [LED Glasses Custom Animated Graphics with Sprites](https://learn.adafruit.com/led-glasses-custom-animated-graphics-with-sprites.md)
- [Adafruit MCP4728 I2C Quad DAC](https://learn.adafruit.com/adafruit-mcp4728-i2c-quad-dac.md)
- [Adafruit pIRkey](https://learn.adafruit.com/adafruit-pirkey-python-programmable-infrared-usb-adapter.md)
