Grok Bot
Public Made by Adomby adom
Grok Bridge lets Adom talk to Grok Bot. Adom's AI environment is for electrical engineers: any provider, any desktop power tool, one place.
| Name | Last updated |
|---|---|
| clips | 5d ago |
| README.md | 5d ago |
Our first AI PCB with Grok
This is a full example of driving Grok Bot through Grok Bridge. Claude Code, running in Adom Hydrogen, drives the Grok Bot app on an office PC through Adom Bridge. Grok gets the same one-line brief that built the 12 V to 5 V buck in KiCad and in Fusion 360:
Use adom-aiflow to design a 12 V to 5 V, 1 A buck converter using the TPS54202, and build it as a complete board in KiCad.
Grok does the work on its own computer, the Linux machine every Grok Bot account comes with. The clips below are added as the build happens. Each clip is a long recording of one important moment, cut or sped up to about half a minute, with narration.
How it is driven
| Piece | Where it runs | What it does |
|---|---|---|
| Claude Code | an Adom cloud container, shown in Hydrogen | starts the bot, types the prompt, records the window, cuts and narrates the clips |
| Grok Bot app | the office PC (Windows) | the chat the prompt goes into; Grok Bridge's grok_* verbs open, record and read it |
| Grok | its own Linux computer in the cloud | installs KiCad 10 and adom-aiflow, then designs and builds the board |
Setting it up on a new PC took one new verb. grok_install downloads Grok Bot from its public update feed, checks the installer's signature, and installs it for the current user with no admin prompt. After that, the only human-shaped step is the Google sign-in, which the AI completed from the account chooser.
The clips
1. The first prompt
A new bot gets the brief. Grok checks what its computer has, finds adom-aiflow missing, proposes starting values from the TPS54202 datasheet (a 100 kΩ / 13.7 kΩ divider for about 4.95 V, a 15 to 22 µH inductor), and asks how to continue. It is told to install KiCad 10 and adom-aiflow on its own computer, and it starts. 40 s, sped up from 2 min 17 s. Download · captions
2. The board that wasn't Grok's
Twenty-five minutes after the prompt, Grok reported a finished board: ERC and DRC clean, 62 of 62 pins matched, 4.98 V out, 28 x 20 mm. The values matched our own buck exactly, down to the silkscreen, so we asked where each one came from. Grok checked its build trail and said plainly that it had not designed the board: a copy of our KiCad buck was already on the cloud computer its bots share, and it had renamed and re-exported that (the calculations and BOM were byte-identical, and all 38 placements matched). It was then asked to start over in a new folder, from the TI datasheet and its own math, with its own placement and routing and no look at the old design. 42 s, from 27 min of build and 8 min of conversation. Download · captions
3. Grok's own board
The second try is Grok's own design, every value traced to the TI datasheet (SLVSD26C):
| Grok's design | equation or section | |
|---|---|---|
| feedback divider | 105 kΩ / 14.3 kΩ, 4.97 V | eqs. 3 and 6, E96 pair, §6.3.8 |
| inductor | 22 µH Bourns SRN6045TA-220M (minimum 20.7 µH; 0.28 A ripple, 1.18 A peak) | eqs. 8 to 10, KIND 0.3 |
| input | 2 x 10 µF 25 V X7R + 100 nF, plus a 33 µF 35 V electrolytic to damp the cable | §7.2.3.1, eqs. 4 and 5 |
| output | 2 x 22 µF 16 V X7R (about 26 µF derated), crossover about 30 kHz | eq. 14; eqs. 11 and 12 |
| feed-forward | 47 pF C0G | eq. 16 (50.7 pF) |
| EN divider | 536 kΩ / 75 kΩ: on at 9.48 V, off at 8.49 V | eqs. 1 and 2 |
| board | 46.5 x 30 mm, two layers, 5.08 mm screw terminals, ground pours both sides | its own layout |
ERC 0 violations, DRC 0 violations and 0 unconnected, netlist 36 of 36 pins. Grok listed its own open items: the inductor's 1.8 A saturation rating and stock are unchecked, C5 is labelled 25 V but its part number is the 50 V version, and some schematic labels overlap. The work took about 15 minutes; the Grok Bot window, in the background on the office PC, showed "Handling it" for almost two hours until opening its settings woke it. 54 s. Download · captions
4. Act one: Grok drives KiCad on its own computer
No Adom Bridge and no KiCad Bridge: Grok works the KiCad 10 app on its own Linux computer with its mouse and keyboard, and the Grok Bot app shows that screen live (the bot's Computer tab, opened full screen). First it closed its own open items: C5 now carries a 25 V part number, the overlapping schematic labels are cleared, and the Bourns SRN6045TA-220M datasheet gives 3.30 A saturation, 96 mΩ DCR and 2.30 A Irms, which holds against the 1.18 A peak. It updated the PCB from the schematic (re-linking footprints by reference after a first try that would have doubled them), refilled the zones, and ran the Design Rules Checker: 0 violations, 0 unconnected, 0 schematic parity errors. The 3D viewer then shows the board from the top, the bottom and an angle. adom-aiflow's last steps (pours landed through the bridge, the 3D and net tours, the recorded desktop steps) need a live desktop, so they wait for act two with Adom Bridge and the KiCad Bridge. 51 s, from a 6-minute take. Download · captions
5. Grok runs Adom Fields
adom-aiflow's from-scratch run passed its current check but stopped before the thermal and Adom Fields stages, which follow the bridge-landed pours. Adom Fields itself needs no bridge: it reads the saved KiCad board and a spec. So Grok installed it on its own computer, saved the board with the zones filled, wrote the spec from its own design, solved, and opened the app in its own browser. That computer has no GPU and drew the 3D at about 3 fps, so Grok published its exact solve, unchanged, to a private wiki page, and the same app played it on an office PC's RTX 3070 Ti, stepped one 1/60 s frame at a time for smooth 60 fps.
| check | Grok's result |
|---|---|
| current density | peak 21.5 A/mm² on /VOUT between L1 and the output caps (screen limit 60) |
| U1 | 0.198 W; +12.1 °C still air, +7.6 °C moving (budget 40 °C) |
| EMC | 48.1 dB under FCC Part 15 class B at 3 m, worst at 87 MHz; hot loop 3.99 mm² (smallest possible 1.52) |
| noise | switch node couples 44.7 mV onto /EN (budget 50 mV), 1.9 mV onto /FB |
| power delivery | /VIN 0.62x and /VOUT 0.30x of target; hot-plug spike 14.5 V against C2's 25 V |
Nine issues: one medium (its 4 GND vias sit just outside the 3 mm the screen checks around U1's tab) and eight low (edge stitching gaps, a ground loop through J1 and J2, no TVS on the input or output). Grok marked its assumptions: U1's loss and the 5 ns switch-node edge are its estimates, the airflow values are the tool's, and the EMC screen counts only the switching loop. 63 s. Download · captions
6. Grok's first molecule
Adom boards follow the Adom molecule standard, which the first brief left out, so Grok reworked its own design to it from the standard alone (the aiflow-molecule skill and the Adom KiCad Library footprints), still without looking at our earlier buck. MP1 to MP4 machine pins sit in the corners on GND; MachineContactMedium contacts replace the screw terminals, J1 VIN, J2 GND and J3 EN on the left edge and J4 VOUT and J5 GND on the right; every pin and contact is on the 2 mm grid from MP1; the outline is 36 x 20 mm (a 32 x 16 mm pin span) with 2 mm radius corners. EN was Grok's own addition, so the Control Panel can shut the converter off, and Grok gave it a 100 nF capacitor at U1 once Fields flagged it.
| first board | molecule, first pass | molecule, final | |
|---|---|---|---|
| /VOUT peak current density | 21.5 A/mm² | 85.2 A/mm² at J4 | 9.2 A/mm² |
| U1 rise, still / moving air | +12.1 / +7.6 °C | +23.6 / +15.0 °C | +23.5 / +15.0 °C |
| EMC margin (FCC Part 15 B) | 48.1 dB | 48.1 dB | 48.1 dB |
| issues | 9 (1 medium) | 6 (2 medium) | 4 (all low) |
The J4 number was real copper, not a display quirk: the solve log showed /VOUT reaching J4 only through its 0.26 mm back-side ring, with no path to the rest of the net. Grok widened the /VOUT copper at J4 and added vias, and /VOUT then solved as one piece over 89.5 mm². U1 runs warmer because the board has half the copper; it stays inside Grok's 40 °C budget. ERC 0, DRC 0 violations and 0 unconnected, the molecule check passes, all silkscreen is at least 1.0 mm, and every contact is labelled on both faces. Grok still lists two necks worth widening (/GND 18.1 A/mm² beside U1, /VIN 17.0 A/mm² from C4) and four low issues (a ground loop through J2 and J5, no TVS on VIN, EN or VOUT). A miss Grok did not catch: the switch node. John found it by looking at the board, and had to prompt for it. Grok wrote its own Fields spec with loads only on /VIN, /VOUT and /GND, so the SW net between U1 and L1, the one copper path carrying the full inductor current at 500 kHz, was never solved, and Grok reported "4 low issues" without ever flagging it. /SW was one 0.6 mm track, 11.2 mm long; solved as a 1 A load it peaks at 62 A/mm² and raises a medium current-neck. This is a failure of Grok's engineering judgement (the AI checking Grok's work missed it too); the fix is in clip 7. Played on the office GPU at 60 fps. 53 s. Download · captions
7. The switch node John caught
This one is a failure of Grok's, found by a human. John looked at the molecule and saw that the switch node, the copper from the TPS54202's SW pin to the inductor, was a skinny track carrying the whole inductor current, and asked what happened to its analysis. Grok had written its own Adom Fields spec with loads only on /VIN, /VOUT and /GND, so /SW was never solved, and Grok had reported the board as having four low issues. Solved as a 1 A load, /SW peaked at 62 A/mm², a medium current-neck. Grok did not identify the most important current path on a buck converter on its own; it had to be prompted.
Once prompted, Grok checked both findings against the saved board (the back was mostly GND already, but a VIN track and an EN track cut it under the switching loop), worked the fix out on a scratch copy, then made it in KiCad on its own screen:
| before | after | |
|---|---|---|
| /SW | 0.6 mm track, 11.2 mm long, no pour; 62.0 A/mm² | L1's SW pad 0.8 mm from U1, a 15.6 mm² pour; 29.1 A/mm² (about 33 at the ripple peak) |
| back copper | GND, cut by a VIN and an EN track under the loop | one solid 605 mm² GND plane; R4 moved, EN rerouted on top, 4 more GND vias at U1 |
| U1 rise, still / moving | +23.9 / +15.2 °C | +23.6 / +15.0 °C |
| /VIN peak | 17.0 A/mm² | 21.3 A/mm² (worse) |
| hottest spot | +29.6 °C | +30.5 °C (worse) |
| EMC margin | 48.1 dB | 48.1 dB (the C4 input loop is unchanged) |
ERC 0, DRC 0 violations, 0 unconnected, 0 parity. Grok then walked through every pour on its desktop, one zone at a time with its net highlighted, on the top and then the bottom copper: GND (the return for every capacitor, the GND contacts and the corner pins; the back plane is cut only by a 1.8 mm VIN stub at J1 and the VOUT island), /SW (top only, no vias), /VOUT on top (54.6 mm², L1 through C7/C8 to J4) and the 20.6 mm² VOUT island on the back that feeds J4 through four vias. Its first pass lost the net highlight on the bottom views, so it redid those; the redo is shown as stills. Fields still raises a medium "no-reference" issue on /SW, which Grok called a tool bug (0 mm² at (0, 0)); checked against the adom-fields source, Grok is right (a poured switching net is flagged even with nothing unreferenced), reported on adom/adom-fields#13. 54 s. Download · captions