This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ25504 battery management device on PCB?

Other Parts Discussed in Thread: BQ25504, BQ25505, BQ25570

Hi there. 

I wanted to ask you guys if there is a library file for this device for the pcb. 

I am using EAGLE CAD Software and theres nothing in the library which looks similar to that. 

Any help would be appreciated. 

it is a really tiny devcice and i couldnt find anything with this specifications. 

Thanks Alot.

Shahzad

  • I attached the Gerber.  Note that this is a new technology and the EVM was layouted with larger resistor to make it easy to change programming components and is not optimized for space.

    HPA674A_GBRS.zip
  • Hi Mr. Mauny. 

    Thanks for the gerber files. 

    I am completely new to this. Can u please let me know how to open these files in eagle? is there anyway you could have the library component for the bq25504 with the board part only?

    Thanks

    Shahzad

  • Your software should be able to import gerber files.  You need to get support from your software provider, if you need help since I am not familiar with your issue.

    I can send those files to any shop and they can make the board, so the files should be generic.

  • AFAIK a gerber file is for manufacturing pcb's.

    I think the original question concerns an EDA (electronics design automation) description of the BQ25505 part itself (not the EVM board.)  It could be as simple as a specification of the mechanical layout of the QFN-16 packaging, or more sophisticated to include labels on the pins that name the function of the pin, or even more sophisticated, an electrical description so it could be simulated.

    I don't think an EDA suite can construct a component description from a gerber board description.

    Who usually provides such files, the manufacturer of the component (TI) or the developer of the EDA suite (Eagle)?  I suspect Eagle is responsible for providing a generic QFN-16 component, which an Eagle user might be able to customize with pin labels.

  • I found these...

    QFN16: ftp://ftp.cadsoft.de/eagle/userfiles/libraries/qfn16.lbr

    It is a great starting point for the bq25504.  Note this footprint adequate but not excellent. (missing keepout, paste,...)

    QFN20: ftp://ftp.cadsoft.de/eagle/userfiles/libraries/silabs-eth.lbr

    This library is good for the bq25570 as it contains a QFN20 package and is very well defined.

    Pin organisation and package size was wrong for the bq25570 so I made my own part/library.  

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE eagle SYSTEM "eagle.dtd">
    <eagle version="6.3">
    <drawing>
    <settings>
    <setting alwaysvectorfont="no"/>
    <setting verticaltext="up"/>
    </settings>
    <grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
    <layers>
    <layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
    <layer number="2" name="Route2" color="1" fill="3" visible="no" active="yes"/>
    <layer number="3" name="Route3" color="4" fill="3" visible="no" active="yes"/>
    <layer number="4" name="Route4" color="1" fill="4" visible="no" active="yes"/>
    <layer number="5" name="Route5" color="4" fill="4" visible="no" active="yes"/>
    <layer number="6" name="Route6" color="1" fill="8" visible="no" active="yes"/>
    <layer number="7" name="Route7" color="4" fill="8" visible="no" active="yes"/>
    <layer number="8" name="Route8" color="1" fill="2" visible="no" active="yes"/>
    <layer number="9" name="Route9" color="4" fill="2" visible="no" active="yes"/>
    <layer number="10" name="Route10" color="1" fill="7" visible="no" active="yes"/>
    <layer number="11" name="Route11" color="4" fill="7" visible="no" active="yes"/>
    <layer number="12" name="Route12" color="1" fill="5" visible="no" active="yes"/>
    <layer number="13" name="Route13" color="4" fill="5" visible="no" active="yes"/>
    <layer number="14" name="Route14" color="1" fill="6" visible="no" active="yes"/>
    <layer number="15" name="Route15" color="4" fill="6" visible="no" active="yes"/>
    <layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
    <layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
    <layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
    <layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
    <layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
    <layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
    <layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
    <layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
    <layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
    <layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
    <layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
    <layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
    <layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
    <layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
    <layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
    <layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
    <layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
    <layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
    <layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
    <layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
    <layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
    <layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
    <layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
    <layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
    <layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
    <layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
    <layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
    <layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
    <layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
    <layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
    <layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
    <layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
    <layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
    <layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
    <layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
    <layer number="100" name="Muster" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="101" name="Flex-Kleb" color="1" fill="7" visible="yes" active="yes"/>
    <layer number="102" name="fp2" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="103" name="fp3" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="104" name="fp4" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="105" name="Beschreib" color="9" fill="1" visible="yes" active="yes"/>
    <layer number="106" name="BGA-Top" color="4" fill="1" visible="yes" active="yes"/>
    <layer number="107" name="BD-Top" color="5" fill="1" visible="yes" active="yes"/>
    <layer number="108" name="fp8" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="109" name="fp9" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="110" name="fp0" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="111" name="LPC17xx" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="112" name="tSilk" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
    <layer number="121" name="tTestdril" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="122" name="bTestdril" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="123" name="tTestmark" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="124" name="bTestmark" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="126" name="_bNames" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="127" name="_tValues" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="128" name="_bValues" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="131" name="tAdjust" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="132" name="bAdjust" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="152" name="_bDocu" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="199" name="Contour" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
    <layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
    <layer number="202" name="202bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="203" name="203bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="204" name="204bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="205" name="205bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="206" name="206bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="207" name="207bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="208" name="208bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
    <layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
    <layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
    <layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
    <layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
    <layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
    <layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
    <layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
    <layer number="248" name="Housing" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="249" name="Edge" color="7" fill="1" visible="yes" active="yes"/>
    <layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
    <layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
    <layer number="254" name="OrgLBR" color="7" fill="1" visible="yes" active="yes"/>
    </layers>
    <library>
    <packages>
    <package name="QFN20">
    <description>PLASTIC QUAD FLATPACK NO-LEAD
    
    S-PVQFN-N20</description>
    <wire x1="-1.5" y1="1.5" x2="1.5" y2="1.5" width="0.127" layer="20"/>
    <wire x1="1.5" y1="1.5" x2="1.5" y2="-1.5" width="0.127" layer="20"/>
    <wire x1="1.5" y1="-1.5" x2="-1.5" y2="-1.5" width="0.127" layer="20"/>
    <wire x1="-1.5" y1="-1.5" x2="-1.5" y2="1.5" width="0.127" layer="20"/>
    <wire x1="-1.65" y1="1.3" x2="-1.65" y2="1.65" width="0.127" layer="21"/>
    <wire x1="-1.65" y1="1.65" x2="-1.3" y2="1.65" width="0.127" layer="21"/>
    <wire x1="1.65" y1="-1.3" x2="1.65" y2="-1.65" width="0.127" layer="21"/>
    <wire x1="1.65" y1="-1.65" x2="1.3" y2="-1.65" width="0.127" layer="21"/>
    <wire x1="-1.3" y1="-1.65" x2="-1.65" y2="-1.65" width="0.127" layer="21"/>
    <wire x1="-1.65" y1="-1.65" x2="-1.65" y2="-1.3" width="0.127" layer="21"/>
    <wire x1="1.3" y1="1.65" x2="1.65" y2="1.65" width="0.127" layer="21"/>
    <wire x1="1.65" y1="1.65" x2="1.65" y2="1.3" width="0.127" layer="21"/>
    <circle x="-1.6" y="-2.1" radius="0.15" width="0.127" layer="21"/>
    <circle x="-1.6" y="-2.1" radius="0.05" width="0.127" layer="21"/>
    <wire x1="-2.15" y1="-2.15" x2="2.15" y2="-2.15" width="0.127" layer="20"/>
    <wire x1="2.15" y1="-2.15" x2="2.15" y2="2.15" width="0.127" layer="20"/>
    <wire x1="2.15" y1="2.15" x2="-2.15" y2="2.15" width="0.127" layer="20"/>
    <wire x1="-2.15" y1="2.15" x2="-2.15" y2="-2.15" width="0.127" layer="20"/>
    <smd name="3" x="0" y="-1.795" dx="0.28" dy="0.71" layer="1" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-0.14" y="-1.44"/>
    <vertex x="0.14" y="-1.44" curve="90"/>
    <vertex x="0" y="-1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-0.14" y="-1.44"/>
    <vertex x="0.14" y="-1.44" curve="90"/>
    <vertex x="0" y="-1.3" curve="90"/>
    </polygon>
    <rectangle x1="-0.21" y1="-2.22" x2="0.21" y2="-1.44" layer="29"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-0.21" y="-1.44"/>
    <vertex x="0.21" y="-1.44" curve="90"/>
    <vertex x="0" y="-1.23" curve="90"/>
    </polygon>
    <smd name="2" x="-0.5" y="-1.795" dx="0.28" dy="0.71" layer="1" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-0.64" y="-1.44"/>
    <vertex x="-0.36" y="-1.44" curve="90"/>
    <vertex x="-0.5" y="-1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-0.64" y="-1.44"/>
    <vertex x="-0.36" y="-1.44" curve="90"/>
    <vertex x="-0.5" y="-1.3" curve="90"/>
    </polygon>
    <rectangle x1="-0.71" y1="-2.22" x2="-0.29" y2="-1.44" layer="29"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-0.71" y="-1.44"/>
    <vertex x="-0.29" y="-1.44" curve="90"/>
    <vertex x="-0.5" y="-1.23" curve="90"/>
    </polygon>
    <smd name="4" x="0.5" y="-1.795" dx="0.28" dy="0.71" layer="1" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="0.36" y="-1.44"/>
    <vertex x="0.64" y="-1.44" curve="90"/>
    <vertex x="0.5" y="-1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="0.36" y="-1.44"/>
    <vertex x="0.64" y="-1.44" curve="90"/>
    <vertex x="0.5" y="-1.3" curve="90"/>
    </polygon>
    <rectangle x1="0.29" y1="-2.22" x2="0.71" y2="-1.44" layer="29"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="0.29" y="-1.44"/>
    <vertex x="0.71" y="-1.44" curve="90"/>
    <vertex x="0.5" y="-1.23" curve="90"/>
    </polygon>
    <smd name="5" x="1" y="-1.795" dx="0.28" dy="0.71" layer="1" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="0.86" y="-1.44"/>
    <vertex x="1.14" y="-1.44" curve="90"/>
    <vertex x="1" y="-1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="0.86" y="-1.44"/>
    <vertex x="1.14" y="-1.44" curve="90"/>
    <vertex x="1" y="-1.3" curve="90"/>
    </polygon>
    <rectangle x1="0.79" y1="-2.22" x2="1.21" y2="-1.44" layer="29"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="0.79" y="-1.44"/>
    <vertex x="1.21" y="-1.44" curve="90"/>
    <vertex x="1" y="-1.23" curve="90"/>
    </polygon>
    <smd name="1" x="-1" y="-1.795" dx="0.28" dy="0.71" layer="1" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-1.14" y="-1.44"/>
    <vertex x="-0.86" y="-1.44" curve="90"/>
    <vertex x="-1" y="-1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-1.14" y="-1.44"/>
    <vertex x="-0.86" y="-1.44" curve="90"/>
    <vertex x="-1" y="-1.3" curve="90"/>
    </polygon>
    <rectangle x1="-1.21" y1="-2.22" x2="-0.79" y2="-1.44" layer="29"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-1.21" y="-1.44"/>
    <vertex x="-0.79" y="-1.44" curve="90"/>
    <vertex x="-1" y="-1.23" curve="90"/>
    </polygon>
    <wire x1="1.65" y1="-1.3" x2="1.65" y2="-1.65" width="0.127" layer="21"/>
    <wire x1="1.3" y1="1.65" x2="1.65" y2="1.65" width="0.127" layer="21"/>
    <wire x1="-1.65" y1="1.3" x2="-1.65" y2="1.65" width="0.127" layer="21"/>
    <text x="-2" y="2.3" size="0.8128" layer="25">&gt;NAME</text>
    <text x="-2.3" y="-3.25" size="0.8128" layer="25">&gt;VALUE</text>
    <text x="-2.3" y="-3.25" size="0.8128" layer="51">&gt;VALUE</text>
    <text x="-2" y="2.3" size="0.8128" layer="51">&gt;NAME</text>
    <smd name="21@0" x="0" y="0" dx="1" dy="1" layer="1" stop="no" thermals="no" cream="no"/>
    <smd name="8" x="1.795" y="0" dx="0.28" dy="0.71" layer="1" rot="R90" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="1.44" y="-0.14"/>
    <vertex x="1.44" y="0.14" curve="90"/>
    <vertex x="1.3" y="0" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="1.44" y="-0.14"/>
    <vertex x="1.44" y="0.14" curve="90"/>
    <vertex x="1.3" y="0" curve="90"/>
    </polygon>
    <rectangle x1="1.62" y1="-0.39" x2="2.04" y2="0.39" layer="29" rot="R90"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="1.44" y="-0.21"/>
    <vertex x="1.44" y="0.21" curve="90"/>
    <vertex x="1.23" y="0" curve="90"/>
    </polygon>
    <smd name="7" x="1.795" y="-0.5" dx="0.28" dy="0.71" layer="1" rot="R90" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="1.44" y="-0.64"/>
    <vertex x="1.44" y="-0.36" curve="90"/>
    <vertex x="1.3" y="-0.5" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="1.44" y="-0.64"/>
    <vertex x="1.44" y="-0.36" curve="90"/>
    <vertex x="1.3" y="-0.5" curve="90"/>
    </polygon>
    <rectangle x1="1.62" y1="-0.89" x2="2.04" y2="-0.11" layer="29" rot="R90"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="1.44" y="-0.71"/>
    <vertex x="1.44" y="-0.29" curve="90"/>
    <vertex x="1.23" y="-0.5" curve="90"/>
    </polygon>
    <smd name="9" x="1.795" y="0.5" dx="0.28" dy="0.71" layer="1" rot="R90" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="1.44" y="0.36"/>
    <vertex x="1.44" y="0.64" curve="90"/>
    <vertex x="1.3" y="0.5" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="1.44" y="0.36"/>
    <vertex x="1.44" y="0.64" curve="90"/>
    <vertex x="1.3" y="0.5" curve="90"/>
    </polygon>
    <rectangle x1="1.62" y1="0.11" x2="2.04" y2="0.89" layer="29" rot="R90"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="1.44" y="0.29"/>
    <vertex x="1.44" y="0.71" curve="90"/>
    <vertex x="1.23" y="0.5" curve="90"/>
    </polygon>
    <smd name="10" x="1.795" y="1" dx="0.28" dy="0.71" layer="1" rot="R90" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="1.44" y="0.86"/>
    <vertex x="1.44" y="1.14" curve="90"/>
    <vertex x="1.3" y="1" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="1.44" y="0.86"/>
    <vertex x="1.44" y="1.14" curve="90"/>
    <vertex x="1.3" y="1" curve="90"/>
    </polygon>
    <rectangle x1="1.62" y1="0.61" x2="2.04" y2="1.39" layer="29" rot="R90"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="1.44" y="0.79"/>
    <vertex x="1.44" y="1.21" curve="90"/>
    <vertex x="1.23" y="1" curve="90"/>
    </polygon>
    <smd name="6" x="1.795" y="-1" dx="0.28" dy="0.71" layer="1" rot="R90" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="1.44" y="-1.14"/>
    <vertex x="1.44" y="-0.86" curve="90"/>
    <vertex x="1.3" y="-1" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="1.44" y="-1.14"/>
    <vertex x="1.44" y="-0.86" curve="90"/>
    <vertex x="1.3" y="-1" curve="90"/>
    </polygon>
    <rectangle x1="1.62" y1="-1.39" x2="2.04" y2="-0.61" layer="29" rot="R90"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="1.44" y="-1.21"/>
    <vertex x="1.44" y="-0.79" curve="90"/>
    <vertex x="1.23" y="-1" curve="90"/>
    </polygon>
    <smd name="13" x="0" y="1.795" dx="0.28" dy="0.71" layer="1" rot="R180" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="0.14" y="1.44"/>
    <vertex x="-0.14" y="1.44" curve="90"/>
    <vertex x="0" y="1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="0.14" y="1.44"/>
    <vertex x="-0.14" y="1.44" curve="90"/>
    <vertex x="0" y="1.3" curve="90"/>
    </polygon>
    <rectangle x1="-0.21" y1="1.44" x2="0.21" y2="2.22" layer="29" rot="R180"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="0.21" y="1.44"/>
    <vertex x="-0.21" y="1.44" curve="90"/>
    <vertex x="0" y="1.23" curve="90"/>
    </polygon>
    <smd name="12" x="0.5" y="1.795" dx="0.28" dy="0.71" layer="1" rot="R180" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="0.64" y="1.44"/>
    <vertex x="0.36" y="1.44" curve="90"/>
    <vertex x="0.5" y="1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="0.64" y="1.44"/>
    <vertex x="0.36" y="1.44" curve="90"/>
    <vertex x="0.5" y="1.3" curve="90"/>
    </polygon>
    <rectangle x1="0.29" y1="1.44" x2="0.71" y2="2.22" layer="29" rot="R180"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="0.71" y="1.44"/>
    <vertex x="0.29" y="1.44" curve="90"/>
    <vertex x="0.5" y="1.23" curve="90"/>
    </polygon>
    <smd name="14" x="-0.5" y="1.795" dx="0.28" dy="0.71" layer="1" rot="R180" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-0.36" y="1.44"/>
    <vertex x="-0.64" y="1.44" curve="90"/>
    <vertex x="-0.5" y="1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-0.36" y="1.44"/>
    <vertex x="-0.64" y="1.44" curve="90"/>
    <vertex x="-0.5" y="1.3" curve="90"/>
    </polygon>
    <rectangle x1="-0.71" y1="1.44" x2="-0.29" y2="2.22" layer="29" rot="R180"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-0.29" y="1.44"/>
    <vertex x="-0.71" y="1.44" curve="90"/>
    <vertex x="-0.5" y="1.23" curve="90"/>
    </polygon>
    <smd name="15" x="-1" y="1.795" dx="0.28" dy="0.71" layer="1" rot="R180" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-0.86" y="1.44"/>
    <vertex x="-1.14" y="1.44" curve="90"/>
    <vertex x="-1" y="1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-0.86" y="1.44"/>
    <vertex x="-1.14" y="1.44" curve="90"/>
    <vertex x="-1" y="1.3" curve="90"/>
    </polygon>
    <rectangle x1="-1.21" y1="1.44" x2="-0.79" y2="2.22" layer="29" rot="R180"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-0.79" y="1.44"/>
    <vertex x="-1.21" y="1.44" curve="90"/>
    <vertex x="-1" y="1.23" curve="90"/>
    </polygon>
    <smd name="11" x="1" y="1.795" dx="0.28" dy="0.71" layer="1" rot="R180" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="1.14" y="1.44"/>
    <vertex x="0.86" y="1.44" curve="90"/>
    <vertex x="1" y="1.3" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="1.14" y="1.44"/>
    <vertex x="0.86" y="1.44" curve="90"/>
    <vertex x="1" y="1.3" curve="90"/>
    </polygon>
    <rectangle x1="0.79" y1="1.44" x2="1.21" y2="2.22" layer="29" rot="R180"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="1.21" y="1.44"/>
    <vertex x="0.79" y="1.44" curve="90"/>
    <vertex x="1" y="1.23" curve="90"/>
    </polygon>
    <polygon width="0" layer="1">
    <vertex x="-1.025" y="1.025"/>
    <vertex x="1.025" y="1.025"/>
    <vertex x="1.025" y="-1.025"/>
    <vertex x="-0.725" y="-1.025"/>
    <vertex x="-1.025" y="-0.725"/>
    </polygon>
    <rectangle x1="0.15" y1="0.15" x2="0.97" y2="0.97" layer="31"/>
    <rectangle x1="-0.97" y1="0.15" x2="-0.15" y2="0.97" layer="31" rot="R180"/>
    <rectangle x1="0.15" y1="-0.97" x2="0.97" y2="-0.15" layer="31"/>
    <polygon width="0" layer="31">
    <vertex x="-0.97" y="-0.15"/>
    <vertex x="-0.15" y="-0.15"/>
    <vertex x="-0.15" y="-0.97"/>
    <vertex x="-0.685" y="-0.97"/>
    <vertex x="-0.97" y="-0.685"/>
    </polygon>
    <smd name="18" x="-1.795" y="0" dx="0.28" dy="0.71" layer="1" rot="R270" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-1.44" y="0.14"/>
    <vertex x="-1.44" y="-0.14" curve="90"/>
    <vertex x="-1.3" y="0" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-1.44" y="0.14"/>
    <vertex x="-1.44" y="-0.14" curve="90"/>
    <vertex x="-1.3" y="0" curve="90"/>
    </polygon>
    <rectangle x1="-2.04" y1="-0.39" x2="-1.62" y2="0.39" layer="29" rot="R270"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-1.44" y="0.21"/>
    <vertex x="-1.44" y="-0.21" curve="90"/>
    <vertex x="-1.23" y="0" curve="90"/>
    </polygon>
    <smd name="17" x="-1.795" y="0.5" dx="0.28" dy="0.71" layer="1" rot="R270" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-1.44" y="0.64"/>
    <vertex x="-1.44" y="0.36" curve="90"/>
    <vertex x="-1.3" y="0.5" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-1.44" y="0.64"/>
    <vertex x="-1.44" y="0.36" curve="90"/>
    <vertex x="-1.3" y="0.5" curve="90"/>
    </polygon>
    <rectangle x1="-2.04" y1="0.11" x2="-1.62" y2="0.89" layer="29" rot="R270"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-1.44" y="0.71"/>
    <vertex x="-1.44" y="0.29" curve="90"/>
    <vertex x="-1.23" y="0.5" curve="90"/>
    </polygon>
    <smd name="19" x="-1.795" y="-0.5" dx="0.28" dy="0.71" layer="1" rot="R270" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-1.44" y="-0.36"/>
    <vertex x="-1.44" y="-0.64" curve="90"/>
    <vertex x="-1.3" y="-0.5" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-1.44" y="-0.36"/>
    <vertex x="-1.44" y="-0.64" curve="90"/>
    <vertex x="-1.3" y="-0.5" curve="90"/>
    </polygon>
    <rectangle x1="-2.04" y1="-0.89" x2="-1.62" y2="-0.11" layer="29" rot="R270"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-1.44" y="-0.29"/>
    <vertex x="-1.44" y="-0.71" curve="90"/>
    <vertex x="-1.23" y="-0.5" curve="90"/>
    </polygon>
    <smd name="20" x="-1.795" y="-1" dx="0.28" dy="0.71" layer="1" rot="R270" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-1.44" y="-0.86"/>
    <vertex x="-1.44" y="-1.14" curve="90"/>
    <vertex x="-1.3" y="-1" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-1.44" y="-0.86"/>
    <vertex x="-1.44" y="-1.14" curve="90"/>
    <vertex x="-1.3" y="-1" curve="90"/>
    </polygon>
    <rectangle x1="-2.04" y1="-1.39" x2="-1.62" y2="-0.61" layer="29" rot="R270"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-1.44" y="-0.79"/>
    <vertex x="-1.44" y="-1.21" curve="90"/>
    <vertex x="-1.23" y="-1" curve="90"/>
    </polygon>
    <smd name="16" x="-1.795" y="1" dx="0.28" dy="0.71" layer="1" rot="R270" stop="no"/>
    <polygon width="0" layer="1">
    <vertex x="-1.44" y="1.14"/>
    <vertex x="-1.44" y="0.86" curve="90"/>
    <vertex x="-1.3" y="1" curve="90"/>
    </polygon>
    <polygon width="0" layer="31" spacing="0.05">
    <vertex x="-1.44" y="1.14"/>
    <vertex x="-1.44" y="0.86" curve="90"/>
    <vertex x="-1.3" y="1" curve="90"/>
    </polygon>
    <rectangle x1="-2.04" y1="0.61" x2="-1.62" y2="1.39" layer="29" rot="R270"/>
    <polygon width="0" layer="29" spacing="0.05">
    <vertex x="-1.44" y="1.21"/>
    <vertex x="-1.44" y="0.79" curve="90"/>
    <vertex x="-1.23" y="1" curve="90"/>
    </polygon>
    <pad name="21@1" x="0" y="0.5" drill="0.2" diameter="0.3" stop="no" thermals="no"/>
    <pad name="21@2" x="0.5" y="0" drill="0.2" diameter="0.3" stop="no" thermals="no"/>
    <pad name="21@3" x="0" y="-0.5" drill="0.2" diameter="0.3" stop="no" thermals="no"/>
    <pad name="21@4" x="-0.5" y="0" drill="0.2" diameter="0.3" stop="no" thermals="no"/>
    </package>
    </packages>
    <symbols>
    <symbol name="BQ25570">
    <description>TI bq25570</description>
    <pin name="VSS@1" x="-20.32" y="5.08" length="short" direction="pwr"/>
    <wire x1="-17.78" y1="-17.78" x2="-17.78" y2="17.78" width="0.254" layer="94"/>
    <wire x1="-17.78" y1="17.78" x2="17.78" y2="17.78" width="0.254" layer="94"/>
    <wire x1="17.78" y1="17.78" x2="17.78" y2="-17.78" width="0.254" layer="94"/>
    <wire x1="17.78" y1="-17.78" x2="-17.78" y2="-17.78" width="0.254" layer="94"/>
    <pin name="VIN_DC" x="-20.32" y="2.54" length="short" direction="pwr"/>
    <wire x1="-17.78" y1="-17.78" x2="-17.78" y2="17.78" width="0.254" layer="94"/>
    <pin name="VOC_SAMP" x="-20.32" y="0" length="short" direction="in"/>
    <pin name="VREF_SAMP" x="-20.32" y="-2.54" length="short" direction="in"/>
    <pin name="EN" x="-20.32" y="-5.08" visible="pin" length="short" direction="in" function="dot"/>
    <pin name="VOUT_EN" x="-5.08" y="-20.32" length="short" direction="in" rot="R90"/>
    <pin name="VBAT_OV" x="-2.54" y="-20.32" length="short" direction="in" rot="R90"/>
    <pin name="VRDIV" x="0" y="-20.32" length="short" rot="R90"/>
    <pin name="NC1" x="2.54" y="-20.32" length="short" direction="pwr" rot="R90"/>
    <pin name="OK_HYST" x="5.08" y="-20.32" length="short" direction="in" rot="R90"/>
    <pin name="OK_PROG" x="20.32" y="-5.08" length="short" direction="in" rot="R180"/>
    <pin name="VOUT_SET" x="20.32" y="-2.54" length="short" direction="in" rot="R180"/>
    <pin name="VBAT_OK" x="20.32" y="0" length="short" direction="out" rot="R180"/>
    <pin name="VOUT" x="20.32" y="2.54" length="short" direction="pwr" rot="R180"/>
    <pin name="VSS@2" x="20.32" y="5.08" length="short" direction="pwr" rot="R180"/>
    <pin name="LBUCK" x="5.08" y="20.32" length="short" direction="pwr" rot="R270"/>
    <pin name="NC2" x="2.54" y="20.32" length="short" direction="pwr" rot="R270"/>
    <pin name="VBAT" x="0" y="20.32" length="short" direction="pwr" rot="R270"/>
    <pin name="VSTOR" x="-2.54" y="20.32" length="short" rot="R270"/>
    <pin name="LBOOST" x="-5.08" y="20.32" length="short" direction="pwr" rot="R270"/>
    <pin name="PWPD" x="15.24" y="-20.32" length="short" direction="pwr" rot="R90"/>
    <text x="-5.588" y="2.286" size="1.4224" layer="95">BQ25570RGR</text>
    <text x="-17.78" y="-20.32" size="1.778" layer="95">&gt;NAME</text>
    </symbol>
    </symbols>
    <devicesets>
    <deviceset name="BQ25570" prefix="U">
    <description>TEXAS INSTRUMENTS
    BQ25570 - VQFN20
    
    http://www.ti.com/lit/ds/symlink/bq25570.pdf</description>
    <gates>
    <gate name="G$1" symbol="BQ25570" x="0" y="0"/>
    </gates>
    <devices>
    <device name="RGR" package="QFN20">
    <connects>
    <connect gate="G$1" pin="EN" pad="5"/>
    <connect gate="G$1" pin="LBOOST" pad="20"/>
    <connect gate="G$1" pin="LBUCK" pad="16"/>
    <connect gate="G$1" pin="NC1" pad="9"/>
    <connect gate="G$1" pin="NC2" pad="17"/>
    <connect gate="G$1" pin="OK_HYST" pad="10"/>
    <connect gate="G$1" pin="OK_PROG" pad="11"/>
    <connect gate="G$1" pin="PWPD" pad="21@0 21@1 21@2 21@3 21@4"/>
    <connect gate="G$1" pin="VBAT" pad="18"/>
    <connect gate="G$1" pin="VBAT_OK" pad="13"/>
    <connect gate="G$1" pin="VBAT_OV" pad="7"/>
    <connect gate="G$1" pin="VIN_DC" pad="2"/>
    <connect gate="G$1" pin="VOC_SAMP" pad="3"/>
    <connect gate="G$1" pin="VOUT" pad="14"/>
    <connect gate="G$1" pin="VOUT_EN" pad="6"/>
    <connect gate="G$1" pin="VOUT_SET" pad="12"/>
    <connect gate="G$1" pin="VRDIV" pad="8"/>
    <connect gate="G$1" pin="VREF_SAMP" pad="4"/>
    <connect gate="G$1" pin="VSS@1" pad="1"/>
    <connect gate="G$1" pin="VSS@2" pad="15"/>
    <connect gate="G$1" pin="VSTOR" pad="19"/>
    </connects>
    <technologies>
    <technology name=""/>
    </technologies>
    </device>
    </devices>
    </deviceset>
    </devicesets>
    </library>
    </drawing>
    </eagle>
    

    (rename the file with the extension .lbr - the TI blog tool doesn't allow that extension)

    Conclusion and thoughts:

    Although I'm using these files/libraries, I make no claim to their validity.  Always check before you turn the board.

    Eagle by default will assign the ground tab paste amount at 100%.  This means that the paste will be applied across the entirety of the bottom pad if you plan on manufacturing it.  This very often results in excess solder for the bottom pad which then creates a "floating" part on a concave island of solder when reflowed.  This is especially true of their are no vias under the bottom pad to wick/pull away the solder.  My rule is ~50% fill on bottom terminated components and it hasn't failed me yet. It offers better part adhesion, coplanarity and thermal conductivity.

    Happy making!

    Michael