News for hackers. Stuff that matters.
Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by alright2565 on Sunday February 25, 2024 @10:42AM (#39501665)
Looks like the answer is yes, for money. Nothing I can quickly find that is FOSS.

It doesn't seem like this problem requires anything crazy, just traditional computer vision, but of course the devil is in the details.

Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by uSoldering on Sunday February 25, 2024 @10:53AM (#39501800)
The issue I was concerned about was dealing with high-density interconnect microvias. This PCB is 10-layers with a core of 4 layers of normal vias, and 3 layers of lasered microvias on each side. Someone has actually done the sand and scan method on this board you can view here: https://balika011.hu/switch/lite/

PCBs can warp to various amounts post reflow, which can cause all sorts of problems with parallelism between your PCB and sanding surface. You would also be able to mitigate this type of attack by filling vias with conductive epoxy and plating over them, which is a well established process option in PCB fabrication.

Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by alright2565 on Sunday February 25, 2024 @11:04AM (#39501881)
I expected scan-and-sand to be somewhat automated, but they're doing it by hand? Incredible!

Might another way to resolve issues with the PCB dishing be to photograph the layers at a fraction of a layer height? So that in that way you have a lot more slices to work with, and you can digitally "flatten" the PCB?

Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by uSoldering on Sunday February 25, 2024 @11:57AM (#39502396)
Making a machine to automagically remove a tiny bit of material and image the result over and over would be easy for me. The image processing to take the stack of 3D sequential images and automagically process them into a netlist is well beyond my programming capabilities. If anyone thinks they could do this, contact me.
Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by Keyframe on Sunday February 25, 2024 @12:22PM (#39502630)
Not gonna pretend I have the solution, but it sounds like most of the groundwork for that has been laid out in medical imagery already. CT scans, combined into volumes, identifying structures..
Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by alright2565 on Sunday February 25, 2024 @04:50PM (#39505183)
That's what I was thinking, but now I'm pretty sure it doesn't even need crazy algorithms like that.

1. align the image stack. not trivial, but a common task.

2. take several cross-sections, in both dimensions, and have a human draw a line along a specific layer line

3. linearly interpolate these lines into a surface.

4. for each pixel in each output layer, set the value to layers[l + offset][x][y], where the offset was calculated in step 3.

Re:Show HN: Reverse-Engineering a Switch Lite with 1,917 wires by willis936 on Tuesday February 27, 2024 @06:53AM (#39522961)
Steps 3 and 4 seem like a largely solved problem using blob detection in computer vision libraries. The last step is in plated via detection. If no microvias are present this seems pretty easy: just look for circles. If microvias are present then you need to check for plating at each layer for each hole below a certain size. That seems difficult if the sanding process does not result in very clean features.