Where a traditional electronic PCB is solid, flex PCBs are electronic circuits and components mounted on a (normally bright orange) ultra flexible film that can be folded with a lot of freedom and give. The current generation of wearables are dependent on this technology to fit all the electronics it needs into something that can be worn. For the last few years I’ve seen more and more manufacturers offer them as an option, and really they’re not much more difficult to design for.

As it looks like I have a project coming up that will use a flex PCB design, as a reminder to myself and as a guide to anyone who’s new to this, I thought I’d write a quick how too guide.

Uses

The most common use I’ve seen of flex PCBs are for connectors between devices. If anyone has used a Raspberry Pi Zero camera, then you’ve likely seen one.

Pi Zero and camera

This is simply a set of traces placed on the film that then connects two components together. By doing this you can create connectors for your custom components when an off the shelf flexible cable wouldn’t be suitable.

As with a normal PCB, electronic components can also be placed on them allowing you to create intricate ultra flexible designs. The example below is from a new experimental wearable health sensor that can be wrapped directly around someones arm to get readings. With a traditional PCB, this would be close to impossible to put together.

Flex PCB worn on a persons arm

If you have a wearble IoT device such as a smartwatch, you’ve likely already worn one.

Advantages / Disadvantages

The obvious advantage is that they’re more flexible, allowing you to create unusual designs and create products that would be otherwise impossible. They’re also thinner for when space is a factor.

And the obvious disadvantages is that they’re more expensive. They don’t benefit from the economies of scale that you get from a traditional PCB, which mixed with the more difficult manufacturing process increases the cost of creating your designs. On top of that their fragility makes them harder to assemble or repair if need be.

Considerations

When placing components on a flex PCB design, stiffiners are recommended to be placed parallel to where the components will be place. The picture on the left below shows stiffiners placed on the underside of a camera design. These reduce the flexibility in specific areas.

Although not strictly necessary, they make it much easier to place the components when manufacturing and reduce the likelihood of the contacts for the parts being damaged when the PCB flexes. In my experience there isn’t a standard for setting where these should be placed on a design, so when ordering I would speak to the manufacturer to ensure they know where to place them.

Also the more components placed on a design the less flexible it will become. This is especially pertinent for double sided designs which can lead to a lot of the advantages being lost.

Although this isn’t unique to flex PCBs, if you’re using one for a camera connector or a high speed sensor, a long connector can absorb noise from the rest of the circuit. There are a couple of techniques that can help with this issue when they come up, I want to write a blog post on this in the near future.

If you’re interested in a much more detailed guide that goes into details on the materials and manufacturing processes behind the tech, you can read one from Altium here.

Good luck with your design, I hope you consider making a product using one in the future. If you want some advice or help putting something together, feel free to let me know.

Featured image credit: Furniturewalla et al, doi: 10.1038/s41378-018-0019-0.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s