What feature are you most looking forward to in Kicad v10?

I would very much like to be able to rotate the view of the PCB in a similar fashion to the way you can flip the view. There are many times that the “proper” orientation of the PCB for design purposes doesn’t match with the orientation of the object in the mechanical enclosure, or the data sheet or the board on the table with cables attached.

Sure I could select everything, rotate and the put it back after. However, no body would suggest that a great solution to viewing the PCB from the back side would be to just select everything and hit flip.

While I’m always looking to rotate in 90 degree increments I am sure that there are use cases to just set the angle to an arbitrary value.

I believe an issue already exists: Implement “Rotate canvas (view)” (#11672) · Issue · kicad/code/kicad

Thanks for your consideration of my request.

5 Likes

I am not sure if there is any support for deleting unused inner layer pads via connection pad. Maybe it could be a useful feature.
image

Doesn’t this already do what you want ?

2 Likes

Be aware that it is common for fab houses to require small restrings even on unconnected layers. As far as I know, this is to help center the drill bit with a tiny etched hole in the copper ring.

Where does that fable come from?
A bit of copper somewhere on an inner layer does not help to center the drill at all.

No. This does not happen, Center holes in pads are a thing, but only for home etching and DIY drilling. There is no PCB manufacturer that is going to modify your Gerber files to put center holes in pads. Not on the outer layers, and not on the inner layers. It’s even much worse then that. If there is a small misalignment between the CNC coordinates and the actual position of the PCB, then it is likely that the drill attempts to center on the hole, but it can’t because the CNC machine is too stiff, and as a result the drill breaks.

1 Like

Where does that fable come from?
A bit of copper somewhere on an inner layer does not help to center the drill at all.

From my eMails with our fab house in germany. I tried to order a PCB just a few months back where I really wanted to avoid even the smallest rest ring on one specific layer. They would not do it and told me to place at least something like 100u around the hole (not sure about the exact value).

I’m really not sure about the drill centering thing, you might absolutely be right there. But I could not get that via manufactured without that restring with our fab house.

An annular ring of 100 um is about standard. Inner pad with no annular ring are a very bad thing for the same reason as misalignment with centering dimples. But it is a very different situation from having no pad on an inner layer at all. When there is no copper and density is uniform, there is also nothing that can push the drill sideways.

At the moment I’m assuming there was some mis communication with your PCB manufacturer.

1 Like

Looking into it again it seems like you are right. Hmm…

I think this feature only works for vias. Does it work for TH Pads as well?

Looks like it does, have you tried ?

2 Likes

I agree. HOWEVER… It can help when drilling through polyimide.i didn’t think of this much until a recent flexirigid was showing copper dots when we reviewed the returned artwork.

The fab added it as they said without any copper, the drill bit will tear up the poly around said holes so they would always add it. They stated it is all drilled out as it is the same diameter of the drill bit… THAT only works if their registration is like 0.00001mm accurate… Problem for us… In a few areas we had a key signal running and needed clearance.

Getting the cards in a few weeks so we can see if the circular connector pc-tail holes leave some copper and reduced the voltage withstand…

1 Like
  1. Being able to rotate pin numbers and descriptions in the schematic editor.
  2. Being able to revert the decision that made F.Fab and B.Fab a mess to look at because now the Reference text can’t be hidden by the user by default.
2 Likes

I would opt to make the F/B-Fab layers not visable by default. I agree that every new board with new components look extra messy. I always turn of these layers in board setup even. The only time when I need the layers is when i want to move some component attributes like resistor values into the silk layer.

I don’t agree with this. Sure, those layers are mostly messy, but it’s trivial to turn them off manually. And in a few of my footprints I’m actually using those layers for very important details. The footprints are for brackets similar to the metal brackets on the plugin cards for PC’s. If that info is skipped, it can be confusing of how to integrate it into the PCB Edge.Cuts layer.

If you find customizations like this important, you can always start new projects from a template. It would be nice to be able to set a (self made or modified) template as the default. Currently, initial project settings are created from some internal voodoo I know nothing about. Also moving these to a (read only?) template would be nice.

you can create a custom template where those layers are turned off

I have actually. I use the “import settings from another board” option for every new project that I start

I think what Mineotopia is suggesting is that you make a template project where those layers are already turned off, so you don’t have to import settings from another board every time.

1 Like

Omg I completely forgot. I have once let chatGpt reverse engineer me a python script on my PC which I can call from anywere (global executable) which makes me a brand new Kicad project. I think I can redo this process after adding the the board as well as schematic settings. Than I can start me a project with all the things that I want.

I can even add the bus aliasses I hope. Safes the the hassle from making me the same I2C bus over and over again :sweat_smile:

#!/usr/bin/env python

import os

def create_kicad_pro(project_name):
    return f"""{{
  "board": {{
    "design_settings": {{
      "defaults": {{}},
      "diff_pair_dimensions": [],
      "drc_exclusions": [],
      "rules": {{}},
      "track_widths": [],
      "via_dimensions": []
    }}
  }},
  "boards": [],
  "libraries": {{
    "pinned_footprint_libs": [],
    "pinned_symbol_libs": []
  }},
  "meta": {{
    "filename": "{project_name}.kicad_pro",
    "version": 1
  }},
  "net_settings": {{
    "classes": [],
    "meta": {{
      "version": 0
    }}
  }},
  "pcbnew": {{
    "page_layout_descr_file": ""
  }},
  "sheets": [],
  "text_variables": {{}}
}}"""

def create_kicad_sch():
    return """(kicad_sch (version 20231120) (generator "eeschema") (generator_version "8.0")
  (paper "A4")
  (lib_symbols)
  (symbol_instances)
)"""

def create_kicad_pcb():
    return """(kicad_pcb (version 20240108) (generator "pcbnew") (generator_version "8.0")
)"""

def create_kicad_project(project_name):
    print(f"Creating project folder: {project_name}")
    os.makedirs(project_name, exist_ok=True)
    
    # File paths
    pro_file_path = os.path.join(project_name, f"{project_name}.kicad_pro")
    sch_file_path = os.path.join(project_name, f"{project_name}.kicad_sch")
    pcb_file_path = os.path.join(project_name, f"{project_name}.kicad_pcb")
    
    print("Writing .kicad_pro file")
    with open(pro_file_path, 'w') as pro_file:
        pro_file.write(create_kicad_pro(project_name))
    
    print("Writing .kicad_sch file")
    with open(sch_file_path, 'w') as sch_file:
        sch_file.write(create_kicad_sch())
    
    print("Writing .kicad_pcb file")
    with open(pcb_file_path, 'w') as pcb_file:
        pcb_file.write(create_kicad_pcb())
    
    print(f"KiCad project '{project_name}' created successfully.")

#if __name__ == "__main__":
project_name = input("Enter the project name: ")
print("name entered!")
create_kicad_project(project_name)

I’d love to see bus routing, routing auto complete, and support for circular coordinate routing.

“Routing auto complete”… Is that similar to the f hotkey, which finishes a track when pressed during routing to the nearest pad?