Replicate board layout from image (Reverse engineer comodore C64 board)


#21

The Scans are JPG files

BTW… as new user i’m limited to how many posts i can do and just hit that limit

import worked perfectly… eagle just has a limit on how big boards you can do without paying them money

the board is 180x388mm and free eagle does not allow me to place components outside the free area which is 100x80mm

that is why i want to use photo to place the components in kicad… they are there i just need to move them to the correct place

i cant reply to post before 23 hours… so keep an eye out here
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Correct, and that is why the eagle board looks wrong

I have no rush… and i like simple ways of doing things, that might not be the way you do things.

But it does not matter to me if it takes one or 2 months


#22

Ok, so nightly build.

The Eagle schematic import is quite new, so may be buggy. The Eagle board import is not new, but may also be buggy. It looks like you found a bug, since the import should work much better.


#23

Clearly it didn’t. If so why are you messing with scanned photos?

Of course, but if you are just reproducing it, you can create gerbers with the free version. Are you also modifying the design?

I guess the project is this one https://github.com/boelle/C64-Schematics-Boards


#24

Ok, now I think I understand! :slight_smile: You got part way through creating a project in Eagle, before realising the free Eagle version would not let you create the board layout. You have the schematics captured already.

You imported your partly complete version using nightly version of KiCad
Now you want to use KiCad to finish the board layout.

You want to use PCB photos as a template to create the layout. That is a pretty common request, and is fairly straightforward, but you will need to understand KiCad fairly well. I think the Eagle part is not relevant to what you are trying to do, which is what confused me. A better title might be “Replicate board layout from image”.


#25

If you are trying to duplicate an existing PCB, you may be able to use the standalone utility ‘autotrace’ to more efficiently extract the tracks from the board photos in a format which can then be imported.

Part of the following instructable describes its use, resulting in svg format export of the tracks:

If you manage to get most of the board duplicated this way, you really only need the netlist from the schematic to populate the layout, since the imported board (.brd) is a bit useless by the look of it.


#26

It looks like you tried to import AFTER opening it in the free version of Eagle and THEN imported the resulting file? Did you try and import the original .brd file?


#27

i made the schematic and board in eagle

i then found out that eagle has a board limit of 100*80mm and i then used the nightly build to open it up

so i have schematic and board but all components are in a pile in the corner due to eagle doing that.

I did try and convert the 2 pictures to footprints and it did not work well… i could barely see the tracks

an option where i simply pick an image for each side and have them in the background would work far faster… maybe put it in a future nightly build… i will for sure be ready to test it out


#28

I think you are out of luck for a couple of reasons. KiCad is in feature freeze in preparation for for v5, so no new features are likely to be accepted until after v5 release. This feature has been requested before, there is a wishlist item https://bugs.launchpad.net/kicad/+bug/1672422. However, it could be a long time before a developer takes an interest in such a feature, since reverse engineering PCBs is quite a niche activity.

It seems that you have already created Gerbers for the same PCB using Sprint Layout, why not use those as a template?


#29

mostly due to that they might not be 100% correct vs the org board

and if use that as a base and dont get it 100% correct then it will be more incorrect than what i made in sprint layout

but well i’m not in a rush


#30

https://www.mikrocontroller.net/articles/KiCad-Bitmap2Component
(sorry german)

When you create a 1000dpi picture from image and use bitmap2component and a little hack with a text editor
you can create a Footprint from an image. The Footprint you can use in a board.


#31

Well so far i have used a copy of the top copper layer that sprint layout made

so i have allmost every component placed but it might not be 100% correct

next step is to place all the via’s

after that i think i will start to rotate all the resistors and capacitors so they point in the right direction

i have also found out that the schematic i had in eagle does not match up with the board, there are about 4 components in the schematic that are not on the board. but that is typical commodore, they did not have the same level of control and documentation as we do today.

if the feature of having a picture as background is not added when i have everything in place and schematic corrected my next step will be using the drill gerber to make the super fine adjustments

will be left with just the silk screen to copy

my goal is still to make a 99.99% copy of the org board


#32

Where are the Files of the copper layers?


#33

github

everything i made in program sprint layout: https://github.com/boelle/C64-Schematics-Boards/tree/master/From%20Programmer’s%20Reference%20Guide/Sprint%20Layout

picture of the back side of board: https://github.com/boelle/C64-Schematics-Boards/blob/master/From%20Programmer’s%20Reference%20Guide/pro_scan_600_x_600_20170501125732_00001_mirrored.jpg

picture of front side: https://github.com/boelle/C64-Schematics-Boards/blob/master/From%20Programmer’s%20Reference%20Guide/pro_scan_600_x_600_20170501125732_00002_cropped_and_rotated.jpg


#34

i have now managed to get all the components placed approx where they should be by converting the to layer copper to a bitmap and then import that as a mod

i know want to use the drill file to place things more precisely, how would i do that?

once that is done i want to “smas” the components on the board so i can move the silkscreen designator to another place, is that possible?


#35

I am a bit unsure why you would need such precise replication of a board.

Did you create the original board or do you try to reverse engineer someone elses work. (If you did it what program did you use originally. Maybe there is some script that can import your board into kicad directly)


#36

I have a damaged board for the first batch of C64’s that came out, and as you can guess its cheaper to create the board than getting another C64. And commodore filed for bankrupcy in 1993 so no chance of getting a blank board


#37

I’m not sure what that means. If you have a drill file, you can read coordinates out of it then place components accordingly.

“Smashed” is an Eagle term (may be other CAD packages use it) to mean that the refdes, value can be freely moved instead of being at their default locations. In KiCad the default is to allow free placement already.


#38

uppps. spelling error… know=now

and yes i could read the valules out in notepad and correct manual, but i wanted to load them on the eco1 or eco2 layer and use that as a sort of background template and then remove it once i’m done


#39

one of the footprints are causing me a bit of pain… it’s a crystal and i have been able to remove most of what is not needed

but there is a white shape left i cant remove… the 2 holes are perfect so i wanted to just remove the white shape


#40

Ok, I see. I can’t think of a convenient way to do that.