Hello guys.

I’m trying to learn some more KiCAD and general electronics design from scratch by continuing my thesis project after I’ve submitted it and its all done, but by taking it to the next step and actually getting a PCB and soldering everything on. This is to get experience through the entire process from design to assembly.

Where I’m stuck is at creating the footprints for my components. I’ve watched a bunch of videos about the topic, but they all seem to be for boards with no header pins attached to them, or for pins that are vertical (perpendicular to the actual board). The two boards I have are breakout boards for a DS3231 RTC and an HM-10 BLE module, and they both have right-angle male header pins sticking out, which obviously made prototyping on a breadboard really easy, but I’m struggling with converting them to PCB.

Here are some photos to make it clearer:

HM-10:

DS3231:

I know one of my options is to desolder the right-angle header pins and add straight pins to them, but I’d like to avoid that so that I can easily use them in any future projects by simply disconnecting them from the eventual PCB and using them in a breadboard.

As such, I know that I would like there to be female headers on the final PCB, and ideally the female headers will also be at a right-angle so that the final PCB is a little more compact and there aren’t just some boards sticking out from it.

So, after getting some measurements with my calipers, how can I translate them into the KiCAD footprint editor knowing the footprint should include the female right-angle header pins (which will of course extend the length of the modules beyond what I have currently measured), and also take their height into account so that they don’t have any obstacles between them and the PCB as they are laying parallel to it?

I hope I made myself clear enough, but if not please feel free to ask me for any clarification.

Thanks in advance for any replies :)

  • lemmyman@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    25 days ago

    I’m not sure I understand your question. But I think what you’re trying to do is plug those breakout boards into headers on your pcb, have them aligned parallel and on top of your custom pcb, and ensure that no other components on your pcb interfere with the breakout boards.

    If that’s right, I would make a new footprint that is basically just a copy of your right-angle header(s), and add silkscreen around the profile of your breakout boards (and any other features you want to make room for), and make sure nothing crosses that silkscreen outline.

    There are fancier ways to do it, with courtyards and keep outs and whatnot, but silkscreen is often the simplest and most obvious way

    • promitheas@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      25 days ago

      Pretty much yea thats what I want to do, but I havent started designing the PCB yet, as I wasnt sure how to create the footprints for these components.

      If I’m understanding you correctly, in this case I need to kind of “work backwards” and instead of creating the footprint for the board and add pins to it, I need to create the footprint for the headers I will use, and simply mark out a region which the board will sit on so that that area is free from other components?

      • lemmyman@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        24 days ago

        I wouldn’t call that “backwards.” What I suggested was just a straightforward way to start the footprints for the boards, using the header footprint as a template. Your footprint for the board is literally just a copy of the header footprint with added silkscreen.

        If you want, you can also take an additional step of making a custom schematic symbol with signals labeled, and link that to your footprint. Or you could just use a generic header symbol and rely on the pin numbers.

  • CorneliusTalmadge@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    25 days ago

    So I am a little bit confused about what you are asking.

    From my understanding the 2 boards that you included as images are boards that you want to combine together into one single board?

    -if so why do you need the right angle headers?

    If you do need the right angle headers. You just get the foot prints you need and make sure they fit on the board layout. From the edge of the board to solder pads.

    However since they will need to hang over some degree you need to look at the 2d drawing and make sure the right angle header pins are long enough to mate to the matching component on the board.

    If you are sending the board out to be made at a shop you will need to define these features and tolerances in the manufacturing layer that will export as part of the gerber file and possibly provide a 2d drawing.

    As far as I am aware there isn’t a tool to do this in kiCAD you just have to look at the design layout the sizes of the physical parts and decide which part number will meet your requirements.

    Hopefully that makes sense for you. If not I will try and respond. Maybe this reply will help get some more feedback from others.

    • promitheas@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      25 days ago

      These 2 boards are part of my circuit, which I want to move from my breadboard to a PCB, so I need a way to attach these boards to the PCB. Due to the fact that I want the ability to re-use these boards in other projects, and also not have them stick up from the PCB vertically, I decided to go with right-angled headers so that I have both of these features (easy plugging in/unplugging of the boards from the final PCB, and a more compact final design).

      However since they will need to hang over some degree you need to look at the 2d drawing and make sure the right angle header pins are long enough to mate to the matching component on the board.

      By this do you mean I need to make sure the pins on the boards will fit in the hole of the headers? I was under the impression that pin length is quite standard, much like pin separation. I believe mine are 2.54 mm because they fit nicely in my arduino headers, as well as the breadboard. I’d assume the length is also standardised. Please correct me if Im wrong.

      If you are sending the board out to be made at a shop you will need to define these features and tolerances in the manufacturing layer that will export as part of the gerber file and possibly provide a 2d drawing.

      By this I assume you mean that I need to make sure the boards will clear any other components on the PCB? I’ve been getting through this playlist: https://www.youtube.com/watch?v=ZHH4G_EWhm0&list=PL3bNyZYHcRSUhUXUt51W6nKvxx2ORvUQB&index=4&t=2s

      as I go through each step of the process. When he gets to the point about designing the PCB I’ll see if he mentions how to make sure I have enough clearance for all my components, otherwise I guess I’ll look for other videos explaining how to do this.

      • CorneliusTalmadge@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        24 days ago

        So from reading through the comments here.

        I think I have a simple solution that you might want to consider.

        Since you want to connect these 2 PCBA modules to your main board but want to be able to disassemble it when the project is done.

        You can potentially just is female to male jumper wires. Image below as an example, this are the same wires you use on a bread board however one end is a socket that you can connect to the header pins on the 2 modules. The pin end can be soldered to the main PCBA just like you would if it was a through hole component.

        Depending on the conditions the final board will be in (movement or vibration). Just the push in force on the socket ends maybe enough for them not to come loose. Or you might be able to tape them in place.

        If you wanted to go with a header you could possible go with a screw in terminal block similar to this: