// Code snippet components for the one-pager function CodeHero() { return (
power.ato live
# buck regulator · parametric{"\n"}
import Power from "interfaces.ato"{"\n"}
import Buck from "generics.buck"{"\n"}
{"\n"}
module Rail3v3:{"\n"}
{"    "}power_in  = new Power{"\n"}
{"    "}power_out = new Power{"\n"}
{"    "}v_out: voltage = 3.3V ± 2%{"\n"}
{"    "}i_max: current = 2A{"\n"}
{"\n"}
{"    "}reg = new Buck{"\n"}
{"    "}reg.v_out ~= v_out{"\n"}
{"    "}reg.i_max ~= i_max{"\n"}
{"\n"}
{"    "}assert power_in.voltage > v_out + 0.5V{"\n"}
{"    "}assert reg.efficiency > 85%
      
); } function CodeChecks() { return (
power.ato
Checks
Simulation
verify · 142 assertions · 18 modules 1 failed
Voltage compatibility 78 / 78
Current budget 21 / 21
I²C bus uniqueness 14 / 14
Pull-up strength 9 / 9
! SPICE ripple < 30mV 42mV @ L1
fix Change L1 from 4.7µH6.8µH (Coilcraft XAL)
● Build blocked in CI Apply fix →
); } function CodeAgent() { return (
Agent
Review
Diff
session · feat/pd-sink 4 tools · 2.1s
You
Add a USB-C PD sink, negotiate 9V or 12V.
Agent · running tools
parts.search "usb-c pd sink" 14 hits
compiler.build pd_sink 0.8s
spice.simulate vbus @ 2A 14mV ripple
block.render pd_sink diagram
For your review
Block diagram 4 blocks · 2 interfaces open
Power tree 12V → 5V → 3.3V · 620mA open
MCU pinout ESP32-S3 · 42 / 45 assigned open
BOM diff +3 parts · 2 changed · $1.84 Δ open
PR #417 opened · all checks passing
feat/pd-sink → main
); } Object.assign(window, { CodeHero, CodeChecks, CodeAgent });