ESC G431
Public Made by Adomby adom
Single-motor ESC for the drone test cell: STM32G431 + DRV8300 driving a 3-phase bridge of six BSC016N06NS MOSFETs, TPSM365 buck to 12 V, INA181 low-side current sense (25 mV/A, 131 A full-scale). Runs AM32. 64 x 74 mm, 4-layer.
Silkscreen dashboard audit and full placement demonstration
Reviewed against adom-ui-design, icons, app-creator, caller identity, server lifecycle and settings skills, September 17, 2026.
| Check | Finding and result |
|---|---|
| Header | Corrected 48px to measured 44px; brand/subject/actions zones, divider, outline settings icon, version/details in reachable popover. |
| Icon/favicon | Added one white outline SVG shared by header and favicon. |
| Fonts | Satoshi and Familjen Grotesk loaded and verified. Remote font requests failed in WV; bytes fetched from the documented Adom font URLs are embedded. font-sources.json records URLs. |
| Colors | Added standard background/surface/border/accent tokens. Some canvas geometry colors remain specific to obstacle/decision categories. |
| Settings | Persisted server-side modal, Escape dismissal, undimmed geometry behind 25% backdrop. Toggle styling, reset-defaults and comprehensive shared settings layout still need work. |
| Identity/lifecycle | Thread/run scoped registry, state snapshots, idle cleanup and version hash exist. Same-port restart failed once; restarted on auto port and corrected the displayed URL. Needs stronger restart and URL consistency regression coverage. |
| Live channel | SSE state updates, observable candidates, placements and rework. No provider calls from playback. |
| Face isolation | Candidates and playback events now filter by selected face, in addition to placed labels/obstacles. A face change resets framing. |
| Camera | First bottom clip rejected: camera did not follow unreferenced board legends. Corrected to frame their actual label boxes and re-recorded. |
| Text size | Active label heights displayed in millimetres in sidebar and recorded HUD. |
| Recording | Dedicated 1920x1080 canvas independent of the WV panel shape; explicit REPLAY annotation; separate top and bottom recordings. |
| Architecture | Rust CLI invokes Python placement/server helpers; browser UI is JavaScript. This remains a prototype integration, not a pure-Rust implementation. |
The fresh placement starts with empty label occupancy on each face. It retains label content, electrical/physical anchors and native-derived text metrics. Unreferenced board legends retain logical section anchors from the existing content specification. It does not seed referenced label placement from old accepted positions. The complete inventory is 437 labels (285 front, 152 back). Failed searches, joint refinement, small-font rework and leader additions remain in the history. First attempt logs are retained separately; the published replay follows the run with native graphic obstacles and its subsequent refinements.
Native v32 contains all 437 labels and seven new curved leaders. Its KiCad DRC has the same 13 inherited error records and 539 warnings as v30, with no new silk-overlap warnings. Both native faces have been inspected. Native DRC is not a physical readability qualification: some dense-cluster labels are 0.20mm, and the fresh board legends would benefit from grouped typographic/layout refinement. Do not present this experimental full placement as a production approval or as globally optimal typography.
Rejected first bottom clip: bottom-first.webm, preserved for evidence, excluded from the published cut. Original run delivery timestamps remain unchanged.
# Silkscreen dashboard audit and full placement demonstration
Reviewed against adom-ui-design, icons, app-creator, caller identity, server lifecycle and settings skills, September 17, 2026.
| Check | Finding and result |
|---|---|
| Header | Corrected 48px to measured 44px; brand/subject/actions zones, divider, outline settings icon, version/details in reachable popover. |
| Icon/favicon | Added one white outline SVG shared by header and favicon. |
| Fonts | Satoshi and Familjen Grotesk loaded and verified. Remote font requests failed in WV; bytes fetched from the documented Adom font URLs are embedded. font-sources.json records URLs. |
| Colors | Added standard background/surface/border/accent tokens. Some canvas geometry colors remain specific to obstacle/decision categories. |
| Settings | Persisted server-side modal, Escape dismissal, undimmed geometry behind 25% backdrop. Toggle styling, reset-defaults and comprehensive shared settings layout still need work. |
| Identity/lifecycle | Thread/run scoped registry, state snapshots, idle cleanup and version hash exist. Same-port restart failed once; restarted on auto port and corrected the displayed URL. Needs stronger restart and URL consistency regression coverage. |
| Live channel | SSE state updates, observable candidates, placements and rework. No provider calls from playback. |
| Face isolation | Candidates and playback events now filter by selected face, in addition to placed labels/obstacles. A face change resets framing. |
| Camera | First bottom clip rejected: camera did not follow unreferenced board legends. Corrected to frame their actual label boxes and re-recorded. |
| Text size | Active label heights displayed in millimetres in sidebar and recorded HUD. |
| Recording | Dedicated 1920x1080 canvas independent of the WV panel shape; explicit REPLAY annotation; separate top and bottom recordings. |
| Architecture | Rust CLI invokes Python placement/server helpers; browser UI is JavaScript. This remains a prototype integration, not a pure-Rust implementation. |
The fresh placement starts with empty label occupancy on each face. It retains label content, electrical/physical anchors and native-derived text metrics. Unreferenced board legends retain logical section anchors from the existing content specification. It does not seed referenced label placement from old accepted positions. The complete inventory is 437 labels (285 front, 152 back). Failed searches, joint refinement, small-font rework and leader additions remain in the history. First attempt logs are retained separately; the published replay follows the run with native graphic obstacles and its subsequent refinements.
Native v32 contains all 437 labels and seven new curved leaders. Its KiCad DRC has the same 13 inherited error records and 539 warnings as v30, with no new silk-overlap warnings. Both native faces have been inspected. Native DRC is not a physical readability qualification: some dense-cluster labels are 0.20mm, and the fresh board legends would benefit from grouped typographic/layout refinement. Do not present this experimental full placement as a production approval or as globally optimal typography.
Rejected first bottom clip: bottom-first.webm, preserved for evidence, excluded from the published cut. Original run delivery timestamps remain unchanged.