KiKit For Panelizing PCBs in KiCad in 5(ish) Minutes

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ต.ค. 2022
  • This video showcases and really neat and useful tool for KiCad. It is called KiKit, which is used to make panels of PCBs quickly and efficiently.
    -- KiKit - -
    github.com/yaqwsx/KiKit
    -- Blog Post --
    TODO
    -- Support me on Patreon! --
    / microtypeengineering
    -- Discord Server --
    / discord
    -- About MicroType Engineering --
    MicroType Engineering is a full service electronics and mechanical product design firm. We offer turnkey support no matter how far along in the design process you are. We have full schematic capture, PCB design, firmware, mechanical design, and prototype/small-batch assembly services. Please reach out to learn more! microtype.io/
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 18

  • @derekkonigsberg2047
    @derekkonigsberg2047 ปีที่แล้ว +12

    KiKit also lets you put all of your parameters into a JSON file, instead of a super-long command line. I find this a lot easier to maintain as part of a project, as the file can look a lot more organized and contain comments.

    • @simonmerrett
      @simonmerrett ปีที่แล้ว

      Thanks for that encouragement - I used the json approach today and it made things much nicer. I keep a json file in the project folder, along with a text file containing the path and the command to panelise with the json file. Not perfectly portable but minimal pain and effort. One aspect I really like about the json file is that you can comment lines out, effectively allowing it to become a template/boilerplate with all the settings you may want to reuse over time.

  • @Bob-zg2zf
    @Bob-zg2zf ปีที่แล้ว +8

    great great video
    a very underrated channel

  • @Sulzi86
    @Sulzi86 ปีที่แล้ว +7

    KiKit has a GUI for entering the desired values and enabling options. I have it working with the newest KiCad version.
    Also it is crazy that KiCad doesn't include a panelizing tool itself. That's one of the many small deficiencies that hinders KiCad to be used in a professional setting comfortably.

    • @MicroTypeEngineering
      @MicroTypeEngineering  ปีที่แล้ว +4

      Yes, that's the GUI I mentioned. But also like I said, it doesn't let you save or load past options, which is a deal breaker for me.

    • @Sulzi86
      @Sulzi86 ปีที่แล้ว +1

      @@MicroTypeEngineering As far as I remember there is a output of the command, which can be copied or saved and loaded.

    • @MicroTypeEngineering
      @MicroTypeEngineering  ปีที่แล้ว

      @Sulzi86 hmm I'll need to check on the latest version. The one I tried would show the output like you said, you could copy it, but couldn't import it back in. I certainly could be wrong though!

    • @Leif_YT
      @Leif_YT ปีที่แล้ว +1

      "Also it is crazy that KiCad doesn't include a panelizing tool itself."
      I like the approach in the new EasyEDA Pro. V-Cut, Stampouts, V-Cut + Stampout, optional positioning holes for tools... All in a very nice and simple GUI with a good preview.

  • @MariusHeier1
    @MariusHeier1 ปีที่แล้ว +7

    Great tutorial!!

  • @Bob-zg2zf
    @Bob-zg2zf ปีที่แล้ว +4

    😍😍😍😍

  • @rjordans
    @rjordans ปีที่แล้ว +1

    That looks great indeed. I'm wondering though how this works with getting boards assembled. Do you export a new BOM and coordinate file for the panel or is there a way to re-use the one from the single board? Especially since you now have many 'duplicate' components in the panel.

    • @Graham_Wideman
      @Graham_Wideman ปีที่แล้ว +1

      For BOM, just take the single board BOM and multiply by the number of boards. For PnP part positions, our PnP machine accepts a file of the single-board component positions (and orientation), plus offsets for each of the individual board origins.

    • @rjordans
      @rjordans ปีที่แล้ว

      @@Graham_Wideman thanks! That was what I was hoping for though so far I've seen quite a few people struggling in getting a new PnP file created with the extra locations. Good to hear that this isn't necessary!

    • @Graham_Wideman
      @Graham_Wideman ปีที่แล้ว +1

      @@rjordans Since you still seem interested in this slightly old topic, there's a bit more nuance. You might set your component-position frame-of-reference to be the board edges, with say bottom left as the origin.
      The PnP may set the position of the board in the machine by simply running the conveyor until the board hits a pop-up stop. Given a list of component positions (plus width of board) the machine could then place parts, but that's not very accurate as the board edges and exact position of board on conveyor are not perfect to the accuracy needed for fine-pitch parts. Instead, generally you design a board with so-called "fiducial marks", say exposed 2mm dots in the top copper near bottom left and top right corners.
      The PnP will use the position of the fiducials provided in the component-position list to find them (based on board edge) with the head camera, which then sets the PnP's understanding of the frame-of-reference. Using that frame of reference it now knows the position of the rest of the components in the list with greater accuracy.
      So the PnP is generally fairly sophisticated about working with offsets: Board edge giving an approx frame of ref for the fiducials, then fiducials implying a more accurate FoR and origin for the component positions. So it's only a small additional feature that the PnP wants you to provide it with an additional offset that accounts for the panel's "rails' (frame of PCB around the outside of the actual boards), and from one board in the panel to the adjacent boards in the row and column. These offsets allow the PnP head camera to find the fiducials of the first board, and from there the fiducials of the other boards, and from there, all the components.
      You could certainly treat the entire panel as one big board, and you could get a component position list from Kicad, using the panel composed by Kikit, using the bottom left and top right fiducials of the bottom left and top right boards. However, the PnP manufacturers know that is less accurate than using the fiducials of the individual boards, so they assume the PnP will be used with panels, and thus provide the ability to work with the per-board part-position list, and offset that accordingly.
      Finally, I should note that PnP machines vary in the formats of part-position list they can import. For example, the machine I work with can accept a CSV file, but then you have to manually enter some non-component info like the number of rows and cols, and board-to-board offsets. (You can of course save the resulting "board file" for later runs.). Or, the machine can accept a slightly more sophisticated text format that includes the additional info. We have a simple python script to create that from Kicad's output.
      You will likely need such a bridge script anyway, in order to deal with the bedeviling issue of component orientation, to bridge the gap between orientation of the part in the Kicad library versus the PnP's reference orientation for the package type. The PnP separately resolves the difference between its reference orientation for each package type, and the actual orientation of the part as it arrives on tape, tube or tray. Ie: you don't want your script to be the place where you accommodate the orientations of the parts on the tape/tube/tray, because those may change when you get a new delivery of parts.

    • @rjordans
      @rjordans ปีที่แล้ว +1

      @@Graham_Wideman wow, thanks again for the extended answer. Very much appreciated!

  • @rianpratama8262
    @rianpratama8262 ปีที่แล้ว

    How to run kicad shell on cmd? Beacuse if i'm run cmd module 'pcbnew' not found

    • @Willem-Bever
      @Willem-Bever ปีที่แล้ว

      Could it be that you use a standard Windows Shell, you should however use the Kicad Shell. You can find the Kicad Shell by pressing the Windows key, then look in the Kicad entry. (If you use Windows)