molecule
BQ25792 Charger
Public Made by Adomby adom
Buck-boost 1S-4S battery charger board (TI BQ25792) with 14 Adom machine pins, by Adonis
← Commit history
SMD/through-hole split: penetrating parts (pins/contacts in vias) anchored at bottom layer, never animated; tighter default zoom
3 files changed
+27−8
package.json+1−1@@ -2,7 +2,7 @@ "slug": "bq25792-charger", "title": "BQ25792 Charger", "type": "component",- "version": "0.1.40",+ "version": "0.1.41", "description": "BQ25792 Charger - buck-boost 1S-4S battery charger board by Adonis, with real 3D copper traces and measured stackup.", "tags": [ "hardware"
page.json+10−3@@ -4,9 +4,16 @@ "slug": "bq25792-charger", "title": "BQ25792 Charger", "brief": "Buck-boost 1S-4S battery charger board (TI BQ25792) with 14 Adom machine pins, by Adonis",- "version": "0.1.40",+ "version": "0.1.41", "tags": [- "hardware"+ "adom",+ "adom-modular",+ "component",+ "charger",+ "battery",+ "bq25792",+ "power",+ "usb-c" ], "license": "proprietary", "component": {@@ -49,7 +56,7 @@ "email": "[email protected]" }, "visibility": "public",- "description": "BQ25792 Charger - buck-boost 1S-4S battery charger board by Adonis, with real 3D copper traces and measured stackup.",+ "description": "BQ25792 Charger - a buck-boost 1S-4S battery charger board (Texas Instruments BQ25792) designed by Adonis in Fusion 360, with 14 Adom machine pins for the modular stack. Interactive colored 3D model, schematic and layout views.", "dependencies": {}, "files": [ "README.md",
readme.html+16−4@@ -196,7 +196,7 @@ exported bodies + design rules.</p> // LAYERS top->bottom. z = nominal assembled plane (mm) for the readout + order check. const LAYERS=[- {key:"components", label:"Components", z:1.582},+ {key:"components", label:"Components (SMD)", z:1.582}, {key:"silk_top", label:"Silkscreen (top)", z:1.600}, {key:"mask_top", label:"Soldermask (top)", z:1.592}, {key:"cu1", label:"Copper L1", z:1.534},@@ -208,6 +208,7 @@ exported bodies + design rules.</p> {key:"cu16", label:"Copper L16", z:-0.019}, {key:"mask_bot", label:"Soldermask (bot)", z:-0.075}, {key:"silk_bot", label:"Silkscreen (bot)", z:-0.083},+ {key:"tht", label:"Components (thru-hole)", z:-0.090}, ]; const N=LAYERS.length; LAYERS.forEach(L=>{ L.meshes=[]; L.visible=true; });@@ -231,7 +232,18 @@ exported bodies + design rules.</p> let pre=sc.meshes.length; await B().SceneLoader.AppendAsync("", new File([compBytes],"components.glb",{type:"model/gltf-binary"}), sc, null, ".glb"); try{ if(viewer.toggleAxes) viewer.toggleAxes("world",false); }catch(e){}- attach("components", sc.meshes.slice(pre));+ // split: THROUGH-HOLE = geometry penetrating below the board bottom (pins/contacts in+ // vias) - anchored, never animated. SMD = everything seated on top.+ {+ const all=sc.meshes.slice(pre), smd=[], tht=[];+ all.forEach(function(m){+ let below=false;+ try{ m.computeWorldMatrix(true); below=m.getBoundingInfo().boundingBox.minimumWorld.z < -0.0005; }catch(e){}+ (below?tht:smd).push(m);+ });+ attach("components", smd);+ attach("tht", tht);+ } for (const g of [["grp-cu1.glb.png","cu1"],["grp-cu16.glb.png","cu16"]]){ const bytes=await loadPngBytes(R+g[0]);@@ -316,11 +328,11 @@ exported bodies + design rules.</p> setTimeout(function(){ try{ const ext=sc.getWorldExtends(m=>!/ground/i.test(m.name||""));- const c=new (B().Vector3)((ext.min.x+ext.max.x)/2,(ext.min.y+ext.max.y)/2,(ext.min.z+ext.max.z)/2+18*mm);+ const c=new (B().Vector3)((ext.min.x+ext.max.x)/2,(ext.min.y+ext.max.y)/2,(ext.min.z+ext.max.z)/2+10*mm); const dx=ext.max.x-ext.min.x, dy=ext.max.y-ext.min.y, dz=ext.max.z-ext.min.z; const diag=Math.sqrt(dx*dx+dy*dy+dz*dz); const cam=sc.activeCamera;- cam.setTarget(c); cam.radius=diag*2.6; cam.beta=1.2; cam.alpha=-1.2;+ cam.setTarget(c); cam.radius=diag*1.4; cam.beta=1.2; cam.alpha=-1.2; cam.minZ=diag*0.005; cam.maxZ=diag*400; if(typeof cam.wheelPrecision==="number") cam.wheelPrecision=3/diag; }catch(e){}