component
TP4054-42-SOT25R
Public Made by Adomby adom
TOPPOWER Nanjing Extension Microelectronics Battery Management, SOT-23-5. Pinout extracted from the datasheet, KiCad symbol/footprint/3D.
← Commit history
pin 1: carry the footprint's marker into the .lbr, the viewer and page.json (silk-marker, drawn, top-left)
5 files changed
+197−3
package.json+2−1@@ -24,6 +24,7 @@ "docs/hero.png", "docs/tp4054-42-sot25r-datasheet.pdf", "viewers/symbol.html",- "viewers/footprint.html"+ "viewers/footprint.html",+ "pads.json" ] }
pads.jsonadded+182@@ -0,0 +1,182 @@+{+ "schema": "adom.pads/1",+ "slug": "tp4054-42-sot25r",+ "footprint": "SOT-23-5",+ "generated_from": {+ "footprint": "SOT-23-5@sha256:455a3f7c3e5eb5b8",+ "pins": "page.json:component.pins",+ "overrides": null+ },+ "pin1": {+ "pad": "1",+ "at": [+ -1.1375,+ -0.95+ ],+ "corner": "top-left",+ "source": "silk-marker",+ "derived_from": "SOT-23-5@sha256:455a3f7c3e5eb5b8"+ },+ "pad_count": 5,+ "symbol_pins": [+ "1",+ "2",+ "3",+ "4",+ "5"+ ],+ "paste_apertures": 0,+ "issues": [],+ "pads": [+ {+ "pad": "1",+ "kind": "smd",+ "shape": "roundrect",+ "at": [+ -1.1375,+ -0.95+ ],+ "rot": 0.0,+ "size": [+ 1.325,+ 0.6+ ],+ "layers": [+ "F.Cu",+ "F.Mask",+ "F.Paste"+ ],+ "thermal": false,+ "pin": "1",+ "name": "CHRG",+ "type": "output",+ "description": "Open-drain charge status output. Pulled low by an internal N-channel MOSFET during charging (strong pull-down, ~10 mA). When charging terminates, a weak ~20 uA current source pulls the pin up to indicate an 'AC present' standby state. Goes to high-impedance when the TP4054 detects an under-voltage lockout condition.",+ "is_pin1": true,+ "source": {+ "geometry": "SOT-23-5.kicad_mod",+ "meaning": "page.json:component.pins",+ "correspondence": "kicad: symbol pin number == pad name"+ }+ },+ {+ "pad": "2",+ "kind": "smd",+ "shape": "roundrect",+ "at": [+ -1.1375,+ 0.0+ ],+ "rot": 0.0,+ "size": [+ 1.325,+ 0.6+ ],+ "layers": [+ "F.Cu",+ "F.Mask",+ "F.Paste"+ ],+ "thermal": false,+ "pin": "2",+ "name": "GND",+ "type": "power_in",+ "description": "Device ground reference.",+ "is_pin1": false,+ "source": {+ "geometry": "SOT-23-5.kicad_mod",+ "meaning": "page.json:component.pins",+ "correspondence": "kicad: symbol pin number == pad name"+ }+ },+ {+ "pad": "3",+ "kind": "smd",+ "shape": "roundrect",+ "at": [+ -1.1375,+ 0.95+ ],+ "rot": 0.0,+ "size": [+ 1.325,+ 0.6+ ],+ "layers": [+ "F.Cu",+ "F.Mask",+ "F.Paste"+ ],+ "thermal": false,+ "pin": "3",+ "name": "BAT",+ "type": "power_out",+ "description": "Charge current output to the battery. Supplies programmable charge current (up to 800 mA) and regulates the final float voltage to 4.2 V via an internal precision resistor divider. In shutdown mode the internal divider is disconnected so the pin does not drain the battery.",+ "is_pin1": false,+ "source": {+ "geometry": "SOT-23-5.kicad_mod",+ "meaning": "page.json:component.pins",+ "correspondence": "kicad: symbol pin number == pad name"+ }+ },+ {+ "pad": "4",+ "kind": "smd",+ "shape": "roundrect",+ "at": [+ 1.1375,+ 0.95+ ],+ "rot": 0.0,+ "size": [+ 1.325,+ 0.6+ ],+ "layers": [+ "F.Cu",+ "F.Mask",+ "F.Paste"+ ],+ "thermal": false,+ "pin": "4",+ "name": "VCC",+ "type": "power_in",+ "description": "Positive input supply voltage powering the charger. Operating range 4.0 V to 9.0 V (typ 5 V). Should be bypassed to GND with at least a 1 uF capacitor. UVLO threshold ~3.6 V.",+ "is_pin1": false,+ "source": {+ "geometry": "SOT-23-5.kicad_mod",+ "meaning": "page.json:component.pins",+ "correspondence": "kicad: symbol pin number == pad name"+ }+ },+ {+ "pad": "5",+ "kind": "smd",+ "shape": "roundrect",+ "at": [+ 1.1375,+ -0.95+ ],+ "rot": 0.0,+ "size": [+ 1.325,+ 0.6+ ],+ "layers": [+ "F.Cu",+ "F.Mask",+ "F.Paste"+ ],+ "thermal": false,+ "pin": "5",+ "name": "PROG",+ "type": "bidirectional",+ "description": "Charge-current program, monitor and shutdown pin. A 1% resistor R_PROG from PROG to GND sets the charge current (I_BAT = 1000/R_PROG for I_BAT <= 150 mA; extended formula for higher currents). In constant-current mode the pin is regulated to ~1.0 V and mirrors 1/1000 of the charge current for monitoring. Leaving PROG floating (internal 2.5 uA pull-up drives pin above ~2.7 V) puts the chip in shutdown, reducing supply current to ~45 uA.",+ "is_pin1": false,+ "source": {+ "geometry": "SOT-23-5.kicad_mod",+ "meaning": "page.json:component.pins",+ "correspondence": "kicad: symbol pin number == pad name"+ }+ }+ ]+}
page.json+11@@ -78,6 +78,17 @@ "viewers": { "symbol": "viewers/symbol.html", "footprint": "viewers/footprint.html"+ },+ "pin1": {+ "pad": "1",+ "at": [+ -1.1375,+ -0.95+ ],+ "corner": "top-left",+ "source": "silk-marker",+ "derived_from": "SOT-23-5@sha256:455a3f7c3e5eb5b8",+ "mark": "drawn" } }, "metadata": {
tp4054-42-sot25r.lbr+1−1@@ -68,7 +68,7 @@ <wire x1="0.9100" y1="-1.5600" x2="-0.9100" y2="-1.5600" width="0.1200" layer="21"/> <text x="0" y="2.212" size="1.27" layer="25" align="bottom-center">>NAME</text> <text x="0" y="-2.212" size="1.27" layer="27" align="top-center">>VALUE</text>-</package>+<!--adom-pin1--><polygon width="0.0500" layer="21"><vertex x="-1.4500" y="1.5100"/><vertex x="-1.6900" y="1.8400"/><vertex x="-1.2100" y="1.8400"/></polygon></package> </packages> <symbols> <symbol name="TP4054-42-SOT25R">
viewers/footprint.html+1−1@@ -23,7 +23,7 @@ rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke} #tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4} </style></head><body> <div class=bar><span class=h>PCB footprint</span><span class=sp></span><button class="lyrtog on" data-lyr="copper"><span class="d" style="background:#e35d5d"></span>Copper</button><button class="lyrtog on" data-lyr="silk"><span class="d" style="background:#e6edf3"></span>Silkscreen</button><button class="lyrtog" data-lyr="fab"><span class="d" style="background:#8b949e"></span>Fab</button><button class="lyrtog" data-lyr="courtyard"><span class="d" style="background:#bc8cff"></span>Courtyard</button></div>-<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-2.450 -2.100 4.900 4.200' style='width:100%;height:100%'><line class='ly-silk' x1='-0.910' y1='-1.560' x2='0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='-1.510' x2='-0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='1.560' x2='-0.910' y2='1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-1.560' x2='0.910' y2='-1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-0.390' x2='0.910' y2='0.390' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.510' x2='0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.560' x2='-0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-2.050' y1='-1.500' x2='-1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.050' y1='1.500' x2='-2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.700' x2='1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.500' x2='-1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.500' x2='-2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.700' x2='-1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.700' x2='1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.500' x2='2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-0.390' x2='1.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='0.390' x2='2.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.500' x2='1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.700' x2='-1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-1.500' x2='2.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-0.390' x2='1.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='0.390' x2='2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='1.500' x2='1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='CHRG' x='-1.800' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='-0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>1</text><rect class='ly-copper pad' data-num='2' data-name='GND' x='-1.800' y='-0.300' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>2</text><rect class='ly-copper pad' data-num='3' data-name='BAT' x='-1.800' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><rect class='ly-copper pad' data-num='4' data-name='VCC' x='0.475' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><rect class='ly-copper pad' data-num='5' data-name='PROG' x='0.475' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='-0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>5</text></svg></div>+<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-2.450 -2.100 4.900 4.200' style='width:100%;height:100%'><line class='ly-silk' x1='-0.910' y1='-1.560' x2='0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='-1.510' x2='-0.910' y2='-1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-0.910' y1='1.560' x2='-0.910' y2='1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-1.560' x2='0.910' y2='-1.510' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='-0.390' x2='0.910' y2='0.390' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.510' x2='0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='0.910' y1='1.560' x2='-0.910' y2='1.560' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-2.050' y1='-1.500' x2='-1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-2.050' y1='1.500' x2='-2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.700' x2='1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='-1.500' x2='-1.050' y2='-1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.500' x2='-2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-1.050' y1='1.700' x2='-1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.700' x2='1.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-1.500' x2='2.050' y2='-1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='-0.390' x2='1.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='0.390' x2='2.050' y2='0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.500' x2='1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='1.050' y1='1.700' x2='-1.050' y2='1.700' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-1.500' x2='2.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='-0.390' x2='1.050' y2='-0.390' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='0.390' x2='2.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='2.050' y1='1.500' x2='1.050' y2='1.500' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='CHRG' x='-1.800' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='-0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>1</text><rect class='ly-copper pad' data-num='2' data-name='GND' x='-1.800' y='-0.300' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>2</text><rect class='ly-copper pad' data-num='3' data-name='BAT' x='-1.800' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-1.137' y='0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><rect class='ly-copper pad' data-num='4' data-name='VCC' x='0.475' y='0.650' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><rect class='ly-copper pad' data-num='5' data-name='PROG' x='0.475' y='-1.250' width='1.325' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='1.137' y='-0.950' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>5</text><polygon class='ly-silk adom-pin1' points='-1.450,-1.510 -1.690,-1.840 -1.210,-1.840' fill='#d8b4fe' stroke='none'><title>pin 1</title></polygon></svg></div> <div id=tip></div> <script> var KIND="footprint", MPN="RAY/TP4054-42-SOT25R", PINS=[{"desc":"","name":"CHRG","number":"1","type":""},{"desc":"","name":"GND","number":"2","type":""},{"desc":"","name":"BAT","number":"3","type":""},{"desc":"","name":"PROG","number":"5","type":""},{"desc":"","name":"VCC","number":"4","type":""}];