log
Build notes
-
2026-10-13
Fixing what the CADFather comparison found
Scoring featuretree with another project's rules found solids that would not mesh closed, sealed voids and split bodies. The causes were holes cut a few hundredths of a micron short and faces a tenth of a micron wide. With those fixed, all eleven NIST outputs are valid under CADFather's rules and the mean score goes from 0.759 to 0.917. A new check now reports such defects; the last three parts it flagged were fixed a day later. Also: first results on samples of DeepCAD and Fusion360.
-
2026-10-13
A second CAD kernel is a second test oracle
NVIDIA open-sourced the SMLib solid modelling kernel last week. We wired it into our small SCAD-to-STEP interpreter beside OpenCASCADE, not to replace it but to check it: two kernels that share no code must agree on every part. They do, on all sixteen of our parts and on every OpenSCAD test file both can run. Getting there found one sign convention, one silent boolean failure and one segfault, each by disagreement rather than by reading code.
-
2026-10-12
CADFather on the NIST test parts, scored next to featuretree
We ran CADFather, a new open-source agent that rebuilds CAD programs from meshes, on the eleven NIST test parts we use for featuretree, and scored both tools' outputs with CADFather's own metric code. CADFather returned a valid solid for all eleven, at a mean overlap of 0.839. featuretree is at 0.977 on nine, and fails the metric's closed-mesh rule on the other two. The two tools start from different inputs and write very different amounts of tree.
-
2026-10-07
A scan-to-CAD test part, and when a hexagon is regular
An article tested Backflip AI on a scanned flanged bushing and reported a hexagon with unequal flats. We ran the shared mesh through a small slicing tool of ours. The scan's flats measure 39.98, 40.10 and 40.03 mm; the tool decides that is one regular hexagon and writes a single 40 mm feature, in an eight-feature tree that overlaps the scan by 97.8%. It only handles round stepped parts, and the FreeCAD sketch is still six unconstrained lines.
-
2026-10-06
Recognising CAD features by cutting the stock into cells
A second way to recover a feature tree from a STEP file: split the bounding box with the part's own surfaces, then merge the empty cells into cuts. It recovers a flange coupling exactly, passes two of eleven NIST parts with about half the features our slicer needs, gets closer on four more, and fails on drafted and conical parts.
-
2026-10-05
Placement hints: telling the placer roughly where things go
A small text language, modelled on reladraw, for saying roughly where parts go on a PCB: on this edge, right of that chip, near this pin. Wired into our placer as soft constraints and measured on 52 real boards, the hints are followed (80–85% met) and put the big parts twice as close to the designer's floorplan. Boards that route clean go from 15% to 21%; the designers get 63%. What limits it is placement legality, not the floorplan.
-
2026-10-05
We benchmarked a new open-source router against ours. It won, so we added it.
TraceMaker, a new open-source autorouter built largely by coding agents, finished 99%, 100% and 90% of PCBWorld's real boards clean on our machine, against our 78%, 70% and 20%. We added it and an older Freerouting as backends and now match it. With placement to do as well, its placer gets half the boards clean, ours one in ten, and the designers' placements all of them. Also: a repair step that makes the tscircuit router's output legal, measured weights for our placement score, and a public corpus of 235 boards with their own rules.
-
2026-10-04
Re-routing flexisette: ten open nets to zero, by routing the real board
The cassette-shaped ESP32 board we shipped in June had 10 connections open and 5 DRC errors after days of work. Re-run unattended next to the original, it has none, in six seconds of routing. The router now gets the placed KiCad board itself: KiCad's exporter had been refusing tscircuit boards over one footprint with no reference. The three leftover items turned out to be placement questions.
-
2026-10-04
Cooling a robot joint motor from inside the copper
A design study in simulation: a joint motor wound with hollow copper conductors and coolant in every turn, sized, field-solved and drawn as an assembly. It gives three to four times the continuous torque of the same motor air-cooled and lets the gear ratio drop from 9:1 to about 3:1, at several times the holding power. Our first saturation assumption was wrong, more iron didn't help, and a plain water jacket gets 70% of the way with ordinary wire. Nothing has been built.
-
2026-10-04
A muscle-control paper, tried on two muscles
A 2026 Nature Communications paper controls an electrohydraulic (HASEL) muscle with a fitted static map plus a small PI loop. In simulation the recipe adds nothing on our shape-memory-alloy muscle cell, and reproduces on a model of the paper's own cell. The difference is how fast the muscle is next to the feedback loop. The HASEL model's dimensions and dynamics are our assumptions, and nothing has been built.
-
2026-10-04
Can a router finish a real board? 119 boards, scored
We ran circuit-skills' routers on PCBWorld's benchmark of real open-source boards: each one keeps its designer's placement, has its routing stripped, and every result is scored by KiCad DRC. They finished 78% of the small boards clean, 70% of the medium and 20% of the large, close to the paper's best-of-five Freerouting. Every unfinished board was 1 to 5 items from done. The benchmark also caught three bugs in our harness, and a wrong rule in our hand-finish-or-re-place diagnosis.
-
2026-10-04
Can you one-shot a PCB? Four routers, one board
We routed the same 4-layer RP2040 board with four automatic routers, scored every result with the same checks, and kept the scores. tscircuit's own autorouter, run directly on the KiCad board, connected every net with fab-sized vias; Freerouting left two nets open; the tscircuit export path got the connections but not the vias. None of the four produced a board you could order, and the harness is now part of the pcb-layout skill.
-
2026-10-04
circuit-skills in ChatGPT and Claude: a board viewer that runs the checks
Our code-driven PCB skills now ship as a Codex plugin for the ChatGPT desktop app and as a Claude Code mod. Both put the routed board in the conversation with every DRC marker on it, and give the agent the same checks the pipeline gates on: DRC triage, fab rules, floating pads, and a new critical-routing gate. How to install each, how they work, and what two agents in two different apps each contributed.
-
2026-10-03
Re-driving ArtNode: four layers, a repaired power path, and a checker fix
A fresh four-layer ArtNode layout reaches zero KiCad violations and zero open connections. The re-drive repairs the USB/battery power path, adds FastRoute to circuit-skills, and catches a coordinate bug behind seven false hole-spacing errors. Current limits, signal integrity and thermal review remain open before fabrication.
-
2026-10-01
Re-routing einhander: the tail we hand-patched was an export bug
We re-ran our code-driven PCB pipeline on einhander, a 4-layer RP2040 USB-MIDI board, with nobody touching it, and put it next to the board we shipped in July. The shorts we had blamed on the autorouter came from the export: three top-side capacitors were described to the router as mirrored bottom-side parts. Fixed, the unattended run has no shorts and two open nets, and our own DRC check turned out to call open nets clean.
-
2026-10-01
CADSketch in Codex: a sketch the agent edits with you
Our sketch-first CAD editor is now a plugin for Codex and the ChatGPT desktop app. It opens in the sidebar, opens .cadsketch and .dxf files from your workspace, and publishes 18 tools so the agent moves vertices, adds holes, sets dimensions and exports STL in the sketch you have open, one undo step at a time. Two commands to install, and four things a stand-in host caught before any user did.
-
2026-10-01
One finger and a thumb: shrinking a 13-servo hand to four
The minimal version of our VTAP gripper, explored in simulation before any CAD: one of its fingers against a thumb. A fixed, rigid-backed thumb at the right height holds balls and cylinders in table picks, palm grasps and pinches with four servos. A sprung thumb is worse the softer it gets, and a driven one adds three points for a fifth servo.
-
2026-09-30
featuretree assemblies: closed loops, a pose solver, MuJoCo and 3MF
featuretree's assembly format used to be only where ingested cadgen assemblies landed. Now it's a design artifact: loop-closing mates for four-bars and other linkages, a numpy pose solver checked against the closed-form four-bar, and a MuJoCo model and 3MF packages generated from one assembly file, with no geometry described twice.
-
2026-09-30
The battlebot can't flip its twin: an antweight designed for robots to assemble
A 176 g printed antweight with a wedge and servo lifter, designed so every part goes in along a straight line a build cell could follow. The assembly gate caught six defects before any print. The MuJoCo duel showed a rotary lifter can't flip a same-size twin, for geometric reasons rather than torque. The assembly IR, now with loop-closing mates, generates the sim and the 3MF print plates.
-
2026-09-29
From a paper to a 13-DoF hand in a few hours: rebuilding the VTAP gripper
An IROS 2026 three-finger reconfigurable gripper with an active palm, rebuilt on Feetech servos in a few hours with dryfit, our design-verify-simulate harness. The first pass gave the structure and all eleven parts; the verify stage caught nine defects with no print; the simulation found the palm has to lift small objects into the fingers' reach, then held every grasp and read grip force from servo current until the tips slipped.
-
2026-09-29
The servo in the sim is too good
Every SO-101 sim we ran treated the arm's servos as near-perfect, about 100× stiffer than the real firmware loop. Swapping in Rhoban's BAM actuator model, the recipe Pollen used for Microduck, moves predicted sag at full reach from 0.3 mm to 16.5 mm. It also turns "arrives within X mm" into a band, and adds a record, replay and fit loop to correct the model from a real arm.
-
2026-09-29
One feature tree, several CAD systems
We published the featuretree IR: a small JSON format for CAD feature trees that FreeCAD, build123d and Onshape rebuild natively, each checked the same way. FreeCAD matches the reference on 10 of 11 NIST parts; running the backends against each other found six defects, one of them in the reference, and reading NIST's native SolidWorks files back showed why one decoder is not enough.
-
2026-09-29
featuretree on the NIST test parts: results
The scorecard for every distinct NIST MBE PMI test geometry: an editable tree for 11 of 11 parts, 3 verified, 0 wrongly accepted, and average overlap with the input up from 65% to 97.6%. Timing, complexity, design intent scored against the designer's own PMI, and the false accepts our checks caught in our own recogniser.
-
2026-09-28
featuretree: heuristic feature recovery for B-rep geometry
A harness that turns a STEP solid into an editable feature tree for FreeCAD, Onshape or build123d, and checks every recovery by rebuilding it. Run on every distinct NIST MBE PMI test geometry: all eleven yield a tree, three verify above 99.6% IoU, none is wrongly accepted — plus what it took to get the whole corpus through, and why the evaluation had to stop trusting CAD Booleans.
-
2026-09-26
Two agents, one finger: Claude's slip gripper and Astra's printable frame
Claude and Astra built the same one-finger slip gripper and finished different jobs: Claude turned it into a measured instrument, Astra rebuilt the housing so it prints. A third pass, written by Grok, compares the two trees from the CAD and the sim and finds three print fixes that moved the mechanism.
-
2026-09-26
The slip gripper as an open frame that prints flat
Astra's rework of the one-finger slip gripper for the printer: a bolted frame of flat parts instead of a solid block, half the modeled material, a 27 mm tallest part instead of 101 mm, an accessible cable guide, real countersinks and screws with something to thread into. Prototype CAD, not yet printed.
-
2026-09-25
Pad or web: why a soft gripper drags objects into its palm
A soft tendon-driven hand meant for a slip-sensing paper kept pulling objects into the web of the hand instead of holding them at the pads. A simulation bench built from the CAD parameters found the mechanism, ruled out the obvious fix, and settled the two-or-three-finger question before a single part was printed.
-
2026-09-25
Design and simulation should be one loop: a paper-to-assembly case study
Engineers have simulated beyond geometry for decades, but as separate, late, specialist steps. Case study in hardware CI/CD: a novel motor from a 2025 paper, taken by AI agents through one continuous define → simulate → verify loop to a printable assembly, with six defects caught before anything physical existed.