main
Caleb Add the page README, the run and process video sub-pages, and captions 64663a4
1
00:00:01,952 --> 00:00:05,849
It starts with four photos of a motor driver board, and one request.

2
00:00:05,869 --> 00:00:10,135
Find the parts, the functional blocks, the pours and the routing.

3
00:00:10,155 --> 00:00:11,794
Copy everything you can see.

4
00:00:11,814 --> 00:00:15,780
Then work out what you can't, pick a layer count, and say how sure you are.

5
00:00:16,361 --> 00:00:21,041
The first attempt reused the existing AI Flow program, and Caleb called that

6
00:00:21,061 --> 00:00:21,288
out.

7
00:00:21,308 --> 00:00:25,908
So this became its own Rust program, with its own copper reader and its own

8
00:00:25,928 --> 00:00:26,339
router.

9
00:00:26,359 --> 00:00:29,894
The program does the measuring. The AI does the naming.

10
00:00:29,914 --> 00:00:33,128
Eleven steps, and each one records what it produced.

11
00:00:33,690 --> 00:00:35,968
Two photos of the top, two of the bottom.

12
00:00:35,988 --> 00:00:39,805
The program finds the board edge in each one and straightens it.

13
00:00:39,825 --> 00:00:44,512
Then it turns the bottom over to line up with the top. 38 holes agree, 2

14
00:00:44,532 --> 00:00:44,904
don't.

15
00:00:45,482 --> 00:00:51,031
Scale comes from the board itself. The header rows have known pitches, 2 mm

16
00:00:51,051 --> 00:00:51,923
and 2.54 mm.

17
00:00:51,943 --> 00:00:55,113
That gives 46.6 pixels per millimeter.

18
00:00:55,133 --> 00:00:59,787
The driver chip's 6 mm body settles which pitch standard the rows are.

19
00:01:00,360 --> 00:01:02,841
Then the parts, 137 of them.

20
00:01:02,861 --> 00:01:06,374
103 are placed by their own pads on the photo.

21
00:01:06,394 --> 00:01:12,507
Markings get read where they're legible, like this TI DRV8323S.

22
00:01:12,527 --> 00:01:16,699
Where they aren't, the program says so. 91 parts still need a test.

23
00:01:17,284 --> 00:01:20,918
Silkscreen and circuit role sort them into 11 blocks.

24
00:01:20,938 --> 00:01:26,152
Power entry, the three-phase power stage, bridge sensing, the logic supply.

25
00:01:26,172 --> 00:01:31,719
The gate driver, the microcontroller, CAN, AUX, the fan, motor temperature and

26
00:01:31,739 --> 00:01:33,074
the mounting holes.

27
00:01:33,658 --> 00:01:38,749
Then came the real miss. The first copy had 58 pours, all on the bottom, and

28
00:01:38,769 --> 00:01:40,026
not a single track.

29
00:01:40,046 --> 00:01:44,773
Caleb looked at it and said fill and via recognition was completely lacking.

30
00:01:44,793 --> 00:01:45,676
That was correct.

31
00:01:46,249 --> 00:01:50,301
So the reader was rewritten. Under solder mask, copper looks a little lighter

32
00:01:50,321 --> 00:01:53,209
than bare laminate, compared with its own neighborhood.

33
00:01:53,229 --> 00:01:56,060
Thin dark lines mark the gaps between copper.

34
00:01:56,080 --> 00:02:02,294
Follow those gaps and the board falls apart into islands. 1,444 of them.

35
00:02:02,314 --> 00:02:07,370
That became 116 pours and 314 tracks, on both faces.

36
00:02:07,949 --> 00:02:13,882
Vias are next. 2,681 candidates, and 1,028 kept.

37
00:02:13,902 --> 00:02:18,031
They're tented on the top, so only 45 show on both faces.

38
00:02:18,051 --> 00:02:22,994
Zoom in and the misses show. Up to a third land on something pale, mostly

39
00:02:23,014 --> 00:02:24,965
silkscreen letters and lines.

40
00:02:24,985 --> 00:02:29,825
And the 3 read as leading only inward look like ordinary domes in a stitching

41
00:02:29,845 --> 00:02:32,477
field. So that's no proof of inner layers.

42
00:02:33,050 --> 00:02:37,964
All of that goes straight into a KiCad board, as photographed, before anything

43
00:02:37,984 --> 00:02:38,659
is guessed.

44
00:02:38,679 --> 00:02:41,979
Here's the copy laid over the top photo, and over the bottom.

45
00:02:42,550 --> 00:02:48,074
Now for what nobody can see. Datasheets and the circuit fill in the rest of

46
00:02:48,094 --> 00:02:51,252
the nets. 77 nets, 249 connections to make.

47
00:02:51,272 --> 00:02:56,221
99 pins disagree with the copper they seem to touch. Those get reported, not

48
00:02:56,241 --> 00:02:57,136
quietly fixed.

49
00:02:57,726 --> 00:03:02,040
Then the router. It's written for this job, and it uses every inner layer.

50
00:03:02,060 --> 00:03:06,974
When photographed pours were hard walls, 235 connections stayed open.

51
00:03:06,994 --> 00:03:11,990
Real vias pass through pours, so seen copper became expensive to cross instead

52
00:03:12,010 --> 00:03:12,826
of forbidden.

53
00:03:12,846 --> 00:03:17,587
17 recorded runs later, 6 and 8 layers are down to about 30.

54
00:03:18,157 --> 00:03:21,244
The layer count comes from how hard that is.

55
00:03:21,264 --> 00:03:27,699
4 layers: 54 open, and 327 mm cut through copper the photos show.

56
00:03:27,719 --> 00:03:30,646
6 layers: 34 open, 24 mm.

57
00:03:30,666 --> 00:03:37,037
8 layers: 29 open, 30 mm. That's no real gain, since runs vary by about a

58
00:03:37,057 --> 00:03:37,737
quarter.

59
00:03:37,757 --> 00:03:42,411
So the proposal is 6. It's a measure of difficulty. Nobody has seen inside

60
00:03:42,431 --> 00:03:43,105
this board.

61
00:03:43,693 --> 00:03:48,776
The rules were set from the start: KiCad's defaults, 0.2 mm track and

62
00:03:48,796 --> 00:03:49,516
clearance.

63
00:03:49,536 --> 00:03:53,723
Most of what's left open is fan-out at the two QFN chips.

64
00:03:53,743 --> 00:04:00,570
The same copy at JLC-style rules, 0.127 mm, leaves just 2 open at 6 layers.

65
00:04:00,590 --> 00:04:05,024
So that's mostly a rules limit. That run has no valid design rule check yet.

66
00:04:05,592 --> 00:04:10,631
Then it reviews itself, in a loop. 4 passes, and the last one changes nothing.

67
00:04:10,651 --> 00:04:15,930
Blocks and placement come out high. Identity, values, copper, vias and layers,

68
00:04:15,950 --> 00:04:16,406
medium.

69
00:04:16,426 --> 00:04:18,593
Connectivity is low, and it says why.

70
00:04:18,613 --> 00:04:23,647
Everything still unknown gets a test. 119 of them.

71
00:04:24,218 --> 00:04:25,731
So this is not a finished board.

72
00:04:25,751 --> 00:04:31,262
34 connections stay open. KiCad counts 76 missing, because some seen copper

73
00:04:31,282 --> 00:04:33,105
isn't joined in the copy.

74
00:04:33,125 --> 00:04:37,466
The rails at the upper left of the bottom are largely missing, and signal

75
00:04:37,486 --> 00:04:39,139
bundles mostly read as gaps.

76
00:04:39,159 --> 00:04:43,115
And the inner copper is one way to connect it, not what's actually inside.

77
00:04:43,682 --> 00:04:48,729
Every stage is saved in the flow window. 110 recorded steps you can replay.

78
00:04:49,308 --> 00:04:54,732
From the first prompt to the report took about 6.5 hours of AI time, with idle

79
00:04:54,752 --> 00:04:56,756
gaps over 15 minutes cut out.

80
00:04:56,776 --> 00:05:05,483
914,981 output tokens, and 272 million cache reads, across 463 model calls.

81
00:05:05,503 --> 00:05:10,357
Next up: real measurements on this board, and a second board, before any of it

82
00:05:10,377 --> 00:05:11,107
goes public.