INA monitors/The two boards/04. Power and address first
The two boards · 04 of 11

Power and address first

The supply pin sets the bus voltage, because the pull-up resistors are on the board. The address pins already have pull-downs, so every board answers at 0x40 until you solder one of the pads on it.

The supply pin decides the bus

Both boards have a 10 kΩ resistor from SDA to their own supply rail and another from SCL to the same place. Those are the resistors that hold an I²C bus high, and they pull it up to whatever you put on the supply pin.

So the supply pin is not only the chip's power, it is the bus's logic level. Put 3.3 V on it and the bus idles at 3.3 V; put 5 V on it and the bus idles at 5 V. The rule that follows is short: feed the board the same rail your microcontroller's logic runs at, and you never need a level converter.

The TK119's hole is silkscreened 3V3 and the INA3221's is silkscreened VCC on the front and 3-5V on the back. All three labels describe the same 3-to-5.5 V input; none of them is a limit you have to respect at 3.3 V.

Then the address

Two blobs of solder, four addresses
TK119 · 0x40
Solder the pads
Address
0x40
Pads on this board
A1 + A0
Boards per bus
4
Out of the box, both boards answer at 0x40. Every address pin has a 10 kΩ resistor to ground already fitted, so an untouched board is the default. Put two untouched boards on one bus and neither works — that is the point of the pads.

Every address pin on both boards already has a 10 kΩ resistor to ground, so an untouched board is at 0x40. The pads are the other option: a blob of solder joins that pin to the supply rail, which beats the pull-down under it.

The INA219 has two address pins and the INA3221 has one, so the TK119 offers four addresses and the INA3221 offers two. The four are 0x40, 0x41, 0x44 and 0x45 — not four in a row, because in TI's table each address pin is worth two bits. A pin may also be wired to SDA or to SCL, which these boards do not bring out, and the space for those options is what makes A1 worth four.

The INA3221's pad is marked I2C ADDR and is on the front, next to the chip. The TK119's two are marked A1 and A0 and are on the back.

Solder it, then write it down

This is a decision made with an iron, and the board carries no indication of it afterwards except a blob you have to look closely to see. Put the address on the board with a fine marker before you fit it into anything — the alternative is a scan and a guess in six months.

The order to connect things

Ground, then the supply pin, then the two bus wires, then the rail being measured. The last one matters: a screwdriver in a live terminal is the only part of wiring one of these boards that can go badly wrong, and the fix is to have nothing live when the screwdriver is in there.

When it does not work

The pin is marked 3V3 — may I give it 5 V?

Yes. The INA219's own supply range is 3 to 5.5 V and the INA3221's is 2.7 to 5.5 V; the silkscreen is conservative rather than a limit. What decides it is your microcontroller: the board's 10 kΩ pull-ups pull the bus to whatever is on that pin, so it should be the same rail your board's logic runs at. Feeding the board 5 V and talking to it with a 3.3 V board would put 5 V on your GPIOs.

A 5 V Arduino, a 3.3 V board, and a clock pin

Run the board from the Arduino's 5 V and the bus is 5 V, which the Uno wants. Do not run the board on 3.3 V and clock it from a 5 V Uno: SDA is rated to 6 V on both chips whatever the supply is, but SCL is only rated to the supply plus 0.3 V, so that arrangement is over an absolute maximum rather than merely untidy.

Two boards on one bus and neither answers

Both are at 0x40. Bridge the INA3221's I2C ADDR pad, or one of the TK119's A1 and A0 pads, and rescan. If you have four of these on a bus, note that the TK119's four addresses are 0x40, 0x41, 0x44 and 0x45 — A1 is worth four, not two, so there is no 0x42 or 0x43 available from solder alone.

Several I²C devices and the bus has gone unreliable

Pull-ups in parallel add up: two boards with 10 kΩ each is 5 kΩ, three is 3.3 kΩ, and somewhere below about 2 kΩ a 3.3 V device struggles to pull the line low. The INA3221 has a cuttable pad marked I2C PULL-UP for exactly this; cut it on every board but one. The TK119's pull-ups are not removable, so make it the board that keeps them.

Where this goes next

Two numbers and a product

Edit this page — content/books/inaset/power-and-address-first.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

This page covers several products. Choose yours to see the right discussions.

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum