BackToBasics: PCB Vias and their types

This is one topic I wish someone had taught me when I first started designing boards. Back then, finding content online wasn’t as easy as it is today. Vias are essentially small holes that create electrical connections between different layers of a PCB. Whether a PCB has just 1 layer or several, vias are the key to connecting layers and routing signals between them.

The most common via is the Through-hole via, drilled from the top to the bottom layer, connecting one or more layers in between. It doesn’t need to connect all layers, but the hole goes completely through the PCB. It’s the cheapest option due to easy manufacturing (drill once through all layers). However, it takes up space, and you can’t place parts or pads on both sides unless you use a via-in-pad. If the signal doesn’t connect the top and bottom layers, the metallic hole can create stubs(We can discuss this in the future) that cause reflections in high-speed designs.

Blind Vias connect one outer layer to one or more inner layers but do not go all the way through the board. Useful when you want to save on space and can do part mounting on the other layer that you haven’t connected to.

Buried Vias as the name suggests, is buried inside the PCB, in the inner layers, with no direct connection to the 2 outer layers. Pros: Excellent for multi-layer PCBs, no impact on the outer layers, great for high-density designs. Both Buried and Blind vias are expensive as they require multiple stacking and drilling processes.

Micro vias are a special type of via with an aspect ratio of 1:1 or less and a hole depth of less than 0.25mm, typically used for single-layer transitions. Unlike traditional cylindrical vias, micro vias have a conical structure that tapers from one layer to the next. Categorized into two types: Stacked Vias, where multiple micro vias are aligned vertically across different layers (one on top of the other), and Staggered Vias, where vias are placed on different layers but do not align directly with each other.

Always weigh the trade-offs between cost and space requirements for your next PCB design.

If you liked the post, Share it with your friends!

Back To Basics: I3C

I3C is one of the newer standards in the wired domain and yes, the name is deliberately similar to I2C. It’s called “Improved Inter-Integrated Circuit”. Developed by the MIPI Alliance as an evolution of the older I2C protocol, it addresses some of the limitations of I2C, like its restricted speed. Just a heads-up: it’s pronounced ‘eye-three-see,’ not “eye-cubed-see,” unlike how I2C is pronounced “eye-squared-see.”


I3C still uses the familiar two-wire interface (SDA and SCL) but has enhanced features. SDA carries data and SCL the clock. I3C introduces dynamic address assignment, where devices can be automatically assigned addresses without manual configuration. Additionally, it supports hot-join, allowing devices to join the bus after initialization without disrupting communication which is a big feature upgrade from I2C. In-Band-Interrupts is a new feature that allows the slave devices to generate interrupts without requiring an external signal. In I2C master usually polls the slaves for info or the slave pings the master via a separate line. I3C can theoretically now reach a speed of 33Mbps compared to 3Mbps in the latest I2C HS mode which is coming close to the SPI realm of things. I3C handles this by reducing the bus capacitance limit to 50pF from 400pF on I2C. It supports lower voltage levels like 1.2V and 1.8V. Also, you don’t need external resistors as it’s built-in.

Why does it matter? The new protocol provides a standardized method for connecting multiple sensors to an SoC using just two lines. Imagine IoT sensors all utilizing a common 2-line protocol – it greatly simplifies layout and connections. It’s designed to address the need for higher speeds in connecting multiple sensors within mobile devices. I3C offers a future-proof solution that retains the simplicity of I2C while enhancing performance.

It’s still early days for this protocol. Currently, only a limited number of SoCs and sensor modules support it. I expect a gradual adoption over the next few years. Personally, I wouldn’t recommend using it in projects unless there’s a compelling reason to do so.

If you liked the post, Share it with your friends!
1 18 19 20 21 22 66