Buried and Blind Vias

I can’t seem to find any mention or sign of these features. Are these at all supported (even with workaround)?

If not, do you have any plan to support them?

No and there is no viable workaround I can think of.

Yes, it’s on the list of the next things to do as it’s one of the few features missing that you can’t live without if you need them.

I didn’t bother implementing them initially since I deemed that people who spend the money on blind vias will probably use a more mature PCB layout tool. But now that Horizon EDA has been around for almost six years and blind via PCBs will only get cheaper over time, it’s about time to take this step.

If you have any suggestions for how the interaction around blind/buried vias should look like, let me know.

As someone who has never designed a PCB with blind vias, here’s my interaction design :laughing: :

From what I can see, there are two ways of placing vias:

  1. When routing tracks.
  2. Using Place Via tool.

Routing Track

When v is pressed to enable via placement while routing tracks, number keys 1-6 let the user choose where the landing/target layer will be after clicking to place the via. 1 is top layer, 2 is first inner layer next to the top layer and so on. If/when designing 10+ layer boards is possible in Horizon, user will enter two digit number to choose the target layer.

[1..6] target layer is shown next to [v] toggle via in the help bar, and only when via mode is on. For two layer boards, it’s hidden.

To prevent users who do not wish to use buried vias from placing one by mistake, buried via functionality can be an option that can be enabled per board.

Via Tool

When Via Tool is selected and after the user has picked the net, the user can change which two layers will be connected by the via. This is done by pressing L which opens up a dialog showing a numbered drawing of cross section of the board with all the layers (like below). Pressing digits 1 to 6 (depending on the stack-up), moves one end of the drawing of the desired via to the given layer. Pressing another digit will move the other end to the next layer and so on. For example, if the user wants to connect the top and inner layer 2 in a 4 layer board, they will press 1 and 3 regardless of what is selected already. Similarly if they want to connect top and bottom, they press 1 and 4 (or double of any digit to connect all layers).

Screenshot from 2022-12-01 04-37-55

In full, to place a buried via between inner layers of a 4 layer board using the Via Tool:

  1. Click the Via Tool.
  2. Select a net.
  3. Press L.
  4. Press 2 and 3.
  5. Press Enter to close the dialog.
  6. Click on the location to place via.