I was doing something else, and then I noticed: Schematic Editor / Import / Non-KiCad Schematic and Altium Schematic File in the supported formats, which made me curious.
First tried the whole project, but this did not work, some trouble in KiCad with saving or renaming files (separate message for each sheet). So then I opened the Schematic Editor and did the sheets one at a time, and dumped them all in the same directory of a KiCad project, and this does work. I can now browse through the hierarchy, and all sheets of the schematic looks reasonable.
So I thought, I’d give the Gerber files also a try, and these are the settings I used during export to the PCB Editor:
Like in the "reverse engineering FAQ article I skipped paste and solder mask, and put the silkscreen on some user layers.
I’ll go further now to have a look of it works, just wanted to dump the screenshot here first.
18:28u I’m struggling quite hard now. for some *&^%$#@! reason I can only move stuff in horizontal, vertical and diagonal directions, and I can’t find a setting for this to undo it, and this is distracting me so much I can hardly get anything done, which annoys me even further. So I’m stuck in a feedback loop. At the moment I’m wondering if it’s some kind of user setting, or a bug in KiCad-nightly V5.99.
Pcb Editor / Tools / Cleanup Graphics finds over 1000 “zero-size graphic lines”.
I’d thought to report it here before I delete them. (I also already merged a whole lot of lines into rectangles Nice function.
While placing the LQFP144, I noticed that I could only get a good placement for 1/3rd of the pads. I remember something of bad resolution in Altium, (or maybe just in Altiums Gerber export). It clearly shows on the reverse-imported Gerbers.
I’ve seen enough to know that it’s doable. the user setting (or bug?) that limits movement to horizontal/vertical/diagonal is annoying, but I’m shifting a bit to cleanup of redundant stuff. For example, there is no footprint info, and It’s quite easy to replace the footprint graphics with real footprints. If you do this in the “dumb” way, it’ a lot of work. And I really mean a lot. Just the THT connectors CN7 through CN12 is: (20 + 16 + 30 + 34 + 2 * 72) * 6 layers = 1464 redundant polygons to delete, and that is just 6 connectors, so doing this manually is far from optimal.
It’s quite easy to delete the polygons in bulk with PCB Editor / Edit / Global Deletions, but then you also delete the zone boundaries which you want to preserve / recreate.
You can also first move them all with PCB Editor / Edit / Edit Text and Graphics Properties, to some otherwise empty layer and then Turn them off or delete them later.
I have lost interest to take this further. It’s not very complicated but just a lot of tedious work and I have no personal interest in it. It is also a very bad choice for a beginners project. It is a quite involved 6-layer PCB and it’s too easy to get lost. It’s also completely unnecessary. To make a PCB that can mate with this nucleo-144 you just need the PCB outline and connector layout, and can simply delete the rest of the PCB.
Overall, I’m surprised by the quality of the automatic import from the Altium schematics. Reverse engineering the PCB is quite a lot of work, and I only did it partially. I just assigned footprints in the schematic for some big parts such as the connectors and the LQFP144 and some of the 0603 resistors and capacitors which I could do in bulk, so a lot of footprints are still missing, and most are not even placed on the PCB. Currently this project has around 15000 DRC violations, so still some cleanup to do
I advise to not try to take this to completion, but I post the partial conversion as an example of what can be done, and as a showcase of the Altium schematic import.
nucleo-144_2021-09-30T19:25.zip (2.3 MB)