
Quick Answer
A reliable MAX17048 fuel gauge circuit starts with one architectural fact: this IC estimates the state of charge of a single Li-ion or LiPo cell, but it is not a battery charger or protection circuit. Connect the MAX17048 supply and voltage-sense path to the cell as shown in the manufacturer’s 1-cell application circuit, place the required 0.1 µF bypass capacitor directly between VDD and GND, connect CTG and GND correctly, and provide pull-ups for the I2C bus. If ALRT is used, treat it as an open-drain active-low interrupt. If hardware quick-start is not deliberately required, connect QSTRT to ground.
The fixed 7-bit I2C address is 0x36. Some documentation shows 0x6C for write and 0x6D for read; those are the address bytes after the read/write bit is included, not different devices. Before PCB layout, also verify the exact TDFN or WLP package, battery model assumptions, pull-up rail, alert ownership, firmware register handling, and the physical placement of the bypass and sense return. The checklist below follows the current Analog Devices MAX17048 product documentation and applies it to a real SpeedUp-generated KiCad first schematic draft.
What the MAX17048 Does—and Does Not Do
The MAX17048 is a ModelGauge fuel-gauge IC for one Li-ion cell. It uses cell-voltage behavior and a battery model to estimate relative state of charge without a current-sense resistor. The device reports cell voltage, state of charge, and charge or discharge rate over I2C. It can also generate alerts for low state of charge, state-of-charge changes, battery voltage thresholds, and reset events.
That simplicity is useful in small wearables, recorders, sensors, and portable products, but it creates an easy misconception: the MAX17048 does not charge the cell, disconnect an unsafe cell, limit charge current, or replace pack protection. A complete battery-powered product still needs a charger, protection strategy, power-path decision, and regulators sized for the load. The fuel gauge observes the cell and informs firmware; it does not make the rest of the power tree safe.
| Design question | MAX17048 role | Separate product decision |
|---|---|---|
| How much charge remains? | Estimates relative state of charge with ModelGauge | Define the battery model, empty voltage, temperature compensation, and user-facing percentage behavior |
| What is the cell voltage? | Measures the 1-cell battery through the MAX17048 voltage-sense path | Decide where the gauge sits relative to protection, power-path switches, and noisy loads |
| How is the battery charged? | Not handled by the fuel gauge | Select and validate the charger, charge current, input source, thermal limits, and charge termination |
| What happens during a fault? | Can report configured alert conditions | Provide battery protection, safe shutdown, fault handling, and any required load disconnect |
| How does the MCU read it? | I2C slave, up to 400 kHz | Choose the pull-up rail and values, interrupt strategy, polling cadence, and recovery behavior |
MAX17048 Pin and Connection Checklist
The MAX17048 is available in an 8-pin 2 × 2 mm TDFN package and a 0.9 × 1.7 mm 8-bump WLP. The functions are the same, but the physical numbering and assembly risk differ. Confirm the orderable part, symbol, footprint, top-view convention, and pad orientation as one package decision. Do not place a WLP footprint under a TDFN symbol simply because both expose eight functions.
| Function | TDFN / WLP assignment | Schematic check |
|---|---|---|
CTG | Pin 1 / bump A1 | Connect to ground as required by the datasheet; do not leave it floating |
CELL | Pin 2 / bump A2 | Do not treat this as the MAX17048 measurement input; the datasheet identifies it as not internally connected on MAX17048 and as the sense input on MAX17049 |
VDD | Pin 3 / bump A3 | For MAX17048, connect to the positive cell terminal and use it as the supply and voltage-sense input; bypass locally with 0.1 µF |
GND | Pin 4 / bump A4 | Connect to the negative cell terminal with a short, quiet return; connect the TDFN exposed pad to ground |
ALRT | Pin 5 / bump B4 | Optional open-drain active-low output; add a compatible pull-up if used and route to an MCU interrupt only with a defined service strategy |
QSTRT | Pin 6 / bump B3 | Connect to ground when unused; only drive it with an intentional rising edge for hardware quick-start |
SCL | Pin 7 / bump B2 | Connect to the I2C clock and verify the bus pull-up, voltage, frequency, and powered-off behavior |
SDA | Pin 8 / bump B1 | Open-drain bidirectional I2C data; provide a pull-up and confirm the shared bus capacitance |
Designing a battery-powered product around the MAX17048?
Describe the battery, charger, MCU, I2C, standby, and alert requirements. Create a free account to start a reviewable, editable KiCad first draft.
The important MAX17048/MAX17049 distinction is easy to miss. On MAX17048, VDD is both the power input and the voltage-sense input for the single cell. The CELL function becomes relevant to the two-cell MAX17049. If a generic library symbol shows both pins as active battery-sense inputs, annotate the chosen variant so a later reviewer does not copy the wrong two-cell topology.
Connect the Battery, Bypass, and Ground Before the Digital Pins
For a 1-cell MAX17048 design, begin with the battery path rather than the I2C connector. The datasheet specifies a 2.5 V to 4.5 V operating supply range and shows VDD powered directly from the battery. Place a 0.1 µF ceramic capacitor close to VDD and GND. The connection should not detour through long traces, high-current switch nodes, or a ground path shared with charger or regulator pulses.
The gauge may be placed on the pack side or system side, but that choice must match the product’s protection and removable-battery behavior. Ask what remains powered when the system load switch opens, whether the MCU can still communicate with the gauge, where battery insertion is detected, and whether the gauge sees the same cell terminals that define the product’s usable energy. A schematic net called VBAT is not enough evidence; trace the actual connection through connectors, protection FETs, charger power-path pins, fuses, and ship-mode switches.
Keep the gauge’s ground reference quiet because voltage error becomes state-of-charge error. The MAX17048 avoids a current-sense resistor, but it still measures a cell whose terminal voltage moves with load, temperature, age, and impedance. That is why a single voltage reading cannot be translated directly into battery percentage and why layout and battery modeling both matter.
Design the I2C Bus Around Address 0x36
The MAX17048 operates as an I2C slave at speeds up to 400 kHz. Its 7-bit address is 0x36. If a driver expects a 7-bit address, pass 0x36. The values 0x6C and 0x6D are the write and read address bytes with the read/write bit already appended. Shifting 0x6C again is a common reason a board appears to have no fuel gauge at all.
Both bus lines need pull-ups supplied by the system. Size them for the MCU rail, bus capacitance, target frequency, and total parallel resistance already present on other boards or sensors. If the fuel gauge remains attached to the battery while the MCU rail turns off, also check back-power paths and the logic levels on SDA, SCL, and ALRT. The I2C pull-up resistor guide provides a calculation workflow instead of relying on a default 4.7 kΩ value.
MAX17048 registers are generally read as two bytes, most-significant byte first. A useful bring-up sequence is to confirm the device version, read VCELL at 0x02, read SOC at 0x04, inspect CONFIG at 0x0C, and check STATUS at 0x1A. Read both bytes in the same transaction where required, log the raw values, and only then apply the driver’s scaling. This separates bus, byte-order, and interpretation problems.
Use ALRT and QSTRT Deliberately
ALRT is an open-drain active-low output. It can flag low state of charge, a 1% state-of-charge change, voltage-high or voltage-low conditions, and reset-related events. If firmware uses it, connect it to a compatible always-defined pull-up rail and MCU interrupt, then document how the handler identifies and clears the source. If several power ICs share one interrupt net, every output on the net must support that wired-OR arrangement and firmware must query each device.
QSTRT is not a normal enable input. A rising edge restarts the fuel-gauge calculation in a way similar to initial power-up. The manufacturer recommends connecting it to ground when unused. Quick-start can help when a noisy power-up corrupts the initial estimate, but it should be used only under the documented battery conditions. Triggering it repeatedly under load can make the displayed percentage less trustworthy, not more accurate.
Plan Battery Modeling and Firmware Before Layout
The MAX17048 includes a default battery model that can work for some Li-ion cells, but a polished product should not assume that every pouch cell has the same discharge curve. Define the actual cell, load profile, empty voltage, temperature range, charger behavior, and brownout point. Then compare reported state of charge with measured usable runtime under realistic dynamic loads—not only a slow bench discharge.
Temperature compensation is performed through the host. The datasheet recommends measuring battery temperature periodically and updating the RCOMP parameter, with a once-per-minute cadence given for best performance. Decide where that temperature comes from and whether it represents the cell rather than a warm MCU or charger. Also decide how firmware filters percentage changes, handles battery insertion, clears alerts, detects reset, and stores any model configuration that must be reloaded.
| Review area | Pass condition before PCB layout | Evidence to retain |
|---|---|---|
| Part and package | Exact MAX17048 order code, TDFN or WLP symbol, footprint, bump orientation, and assembly process agree | Manufacturer package drawing and footprint audit |
| Battery architecture | Gauge location relative to cell, protection, charger, ship mode, and load switch is explicit | Power-state diagram and battery insertion/removal behavior |
| VDD and bypass | VDD reaches the cell correctly and the 0.1 µF capacitor has a short local return | Annotated placement constraint |
| I2C | Address convention, pull-up voltage, effective resistance, bus capacitance, and off-state leakage are checked | Bus calculation and shared-device list |
| ALRT | Pull-up, interrupt polarity, shared-net compatibility, alert masks, and clear sequence are defined | Firmware interrupt flow and power-domain table |
| QSTRT | Grounded when unused or driven only by an intentional reviewed reset signal | Net ownership and quick-start test case |
| Battery model | Cell, empty voltage, load, temperature, and expected accuracy have been validated | Cell data, discharge tests, and model settings |
| Bring-up | Firmware can verify address, byte order, raw voltage, state of charge, status, alerts, and reset recovery | Register log and acceptance limits |
Example From a Real SpeedUp MAX17048 KiCad Project
The magnetic AI microphone KiCad project includes a MAX17048X+T10 fuel gauge in the same power sheet as a 1-cell charger, system load switch, and 1.8 V buck regulator. This is a useful product-level example because the gauge is not floating in a tutorial circuit: it must coexist with charging, ship mode, BLE/audio loads, I2C, interrupts, and low-power firmware.

| Generated evidence | What looks useful | What must be corrected or confirmed |
|---|---|---|
MAX17048X+T10 with WLP-style 8-bump footprint | The BOM names an exact orderable variant and the footprint dimensions reflect a small 2 × 4 bump package | Verify the official bump map, orientation, land geometry, mask rules, assembly capability, and footprint-to-symbol mapping |
| 0.1 µF capacitor on the fuel-gauge supply net | The expected local bypass component is present | Constrain it physically close to VDD and GND and keep the sense return out of high-current paths |
| Named I2C and interrupt nets | PMIC_I2C_SCL, PMIC_I2C_SDA, and PMIC_INT_N make firmware ownership reviewable | Find the actual pull-ups, calculate the effective values, confirm the rail, and verify every device sharing PMIC_INT_N is open-drain |
VDD, CELL, and QSTRT converge on the displayed fuel-gauge sense network | The draft exposes the intended battery relationship instead of hiding it in a generic block | Separate the required functions: MAX17048 VDD goes to the cell, CELL is not the MAX17048 sense input, and unused QSTRT must go to ground rather than remain tied high |
| Fuel gauge placed beside charger and system rail | The product power architecture can be reviewed on one sheet | Confirm gauge location, charger interaction, ship-mode behavior, removable-battery behavior, and MCU access in every power state |
The most important issue is the QSTRT connection. In the generated first schematic draft, QSTRT appears to join the same vertical network as the battery-related pins. The current datasheet says to connect unused QSTRT to ground. This is exactly why the generated project should be treated as a reviewable starting point, not a production reference: a named component and plausible topology make the mistake visible early enough to fix.
Common MAX17048 Schematic Mistakes
- Using the 8-bit address byte
0x6Cwhere a driver expects the 7-bit address0x36. - Treating the MAX17048 as a charger, protection IC, or load switch instead of a fuel gauge.
- Copying a MAX17049 two-cell connection and assuming
CELLis the MAX17048 voltage-sense input. - Leaving
QSTRTfloating or tying it high when hardware quick-start is not required. - Connecting
ALRTto an MCU without a pull-up, a compatible voltage domain, or a firmware clear sequence. - Adding pull-ups to every I2C board until the parallel resistance becomes too low.
- Powering the gauge from a switched system rail instead of confirming the required relationship to the cell.
- Placing the 0.1 µF bypass far from the WLP or routing its ground through charger and converter current paths.
- Reading only one byte of a two-byte register or applying the wrong byte order and scaling.
- Assuming the default battery model, room-temperature behavior, and a slow discharge test prove user-visible accuracy.
- Using a generic CSP footprint without checking the official WLP bump-side view, orientation mark, pad size, solder mask, and assembly process.
How SpeedUp Fits
SpeedUp can turn a product brief into a structured electronics architecture and editable KiCad sheets, so the MAX17048 is reviewed inside the actual charger, regulator, MCU, sensor, connector, and sleep-state context. A useful prompt should name the cell chemistry and capacity, charger input, peak load, standby target, desired battery-percentage behavior, MCU voltage, I2C devices, alert behavior, ship mode, enclosure limits, and preferred package.
The engineer still owns the manufacturer-document review, battery safety, component calculations, battery characterization, firmware, footprint approval, PCB layout, thermal behavior, sourcing, manufacturing, and validation. The value of the generated first schematic draft is that concrete pins, nets, footprints, and assumptions are available for review before they become expensive layout changes. The AI-generated KiCad schematic review guide shows how to apply the same discipline across the rest of a product.
Related Battery and Schematic Resources
- Magnetic AI microphone KiCad project — the full battery-powered recorder example used in this guide.
- Battery-powered sensor circuit design checklist — power states, charging, regulation, sensing, and runtime decisions around the fuel gauge.
- I2C pull-up resistor value calculation — calculate the shared bus instead of copying one resistor value.
- KiCad schematic generator workflow — move from a product prompt to editable engineering artifacts.
FAQ
What is the MAX17048 I2C address?
The fixed 7-bit I2C address is 0x36. The write and read address bytes are 0x6C and 0x6D after the read/write bit is included. Check which form your MCU driver expects.
Does the MAX17048 need a current-sense resistor?
No. ModelGauge estimates state of charge without a current-sense resistor. The minimal circuit still needs the correct battery, supply, ground, 0.1 µF bypass, I2C pull-ups, and deliberate ALRT and QSTRT connections.
What is the difference between MAX17048 and MAX17049?
MAX17048 is intended for one cell, while MAX17049 is intended for two series cells. Their supply and voltage-sense connections differ, so do not reuse the MAX17049 CELL topology in a MAX17048 design without checking the exact datasheet application circuit.
Should MAX17048 QSTRT be pulled high?
No. Connect QSTRT to ground when hardware quick-start is unused. A deliberate rising edge can initiate quick-start, but firmware and the battery state must satisfy the manufacturer’s conditions before using it.
Can MAX17048 measure battery percentage while charging?
It continuously reports state of charge and rate across charging and discharging conditions, but accuracy still depends on the battery model, temperature compensation, cell behavior, system load, empty-voltage definition, and correct circuit implementation.
Start Your Battery-Powered Project
Turn your battery-powered product brief into reviewable engineering artifacts.
Use SpeedUp to turn the product requirements into structured schematic sheets and an editable KiCad first draft for engineering review. Create a free account to begin.
Comments
No comments yet.
Leave a Reply