Isolated USB Connection Project

Mark Harris
|  Created: December 19, 2019  |  Updated: September 9, 2020

While working heavily with microcontroller projects in the past, I learned that computer USB ports can be fragile things. Simply shorting dozens of volts across the port just kills them dead—and there are so many other creative ways to destroy USB functionality on a motherboard!

I’ve seen USB isolation devices on the market which solve precisely these sorts of problems (developers doing bad with their devices), however, I never really got around to buying one. It always seemed too expensive...until the next USB port died. Eventually, you get to the point where you’re looking at having to get a new motherboard, and end up realizing those devices are probably worth the money in the long run.

That being said, for the past two years, I’ve had the idea of just building my own USB isolator. You can readily buy digital isolator ICs that handle USB 2.0 full speed, and you can also buy isolated power supplies that output the same voltage they run off of. So in this article, I’m going to make my dream of having a USB port isolation device come true—it’s certainly long overdue.

This should be a fairly simple article discussing a fairly simple build, but if you’re anything like me and you tend to break things in new and creative ways when working on projects, I feel as though you might find this useful. Like all my other projects, this project will, of course, be available on GitHub and be open source, so you can do with it as you wish; make one, sell one, or use the design to add USB isolation to your own project.

For this project, I’m back to using my open source Altium Library, so there are no included library files in this project’s GitHub repository, as has been the case in my previous projects. You can find the SchLib and PcbLib files in the library repository, or get a free account to access the library if you want to implement this design in your own project.

I’m only looking at USB 2.0, as all my ARM programmers and dev kits run on USB 2.0. At this point in time, nothing I own runs on USB 3.0, and ARM JTAG/Single Wire Debug devices don’t need more bandwidth than they already have. This might change in the future, but for now, a USB 2.0 isolator will provide all the isolation I require to hopefully save my USB ports from further harm.

Isolating Power

Isolating the USB port is going to be a two IC/device process, as we need to isolate both the power and the data lines. Something burning out on the dev board could allow high voltages or transients to go back into the computer and cause problems. Noise can also go down the power connection and wreak havoc with the computer’s other peripherals if we’re working on a ‘not quite there yet’ RF board, or some other board with a lot of potential electrical noise.

Because of these issues, I’m looking for something that can provide total electrical isolation to save the computer from the bad stuff (engineering term) I tend to throw at it. In past projects, I’ve had great success with the Murata NXE and NXJ series of voltage isolation modules. They are nice little assemblies that include everything required to completely isolate power. The NXE2 series is of particular interest, as with 2 watts of power rating, it’s almost able to provide the full 500mA of the USB 2.0 specification. I haven’t maxed out a USB port with a dev board before, well, at least not with normal usage, so I feel this should be sufficient. The price for these is right and their isolation specifications are excellent.

To provide 5V to 5V isolation, I’m going to use the Murata NXE2S0505MC.

AD20 Isolated USB Connection NXE2S0505MC power isolation schematic
The NXE2S0505MC power isolation schematic

The manual recommends a 15uH inductor combined with a 4.7uF capacitor as an input filter for this regulator model to ensure electromagnetic compliance, which is extremely important. The output filter is also as recommended in the manual for the voltage isolator, reducing voltage ripple on the output which I value for my RF based projects.

In order to tell when something has gone horribly wrong, I’ve added two LEDs to the schematic as well. The green one on the input side will tell us that there is power coming from the computer, and that we haven’t caused the USB port to shut down from over current limiting. The blue one will tell us that we haven’t (yet) killed the voltage isolator.

I’m limiting these LEDs to 5mA of current, as developer tools almost always have blindingly bright LEDs and I don’t want my board to be part of my vision problems. This does have one downside to it: I won’t be able to claim that the dev tools’ LEDs were so bright I couldn’t see that my oscilloscope probe had drifted off the pad I was inspecting and shorted out the USB line!

Isolating USB Data

With the power lines isolated, we need an IC that can isolate the USB data lines and still allow the full data rate through them. Analog Devices make some very nice isolation devices, and among them, ADUM4160BRIZ is one specifically designed for 12Mbps bidirectional USB data. With magnetic coupling and 5000Vrms of isolation, even the most creative engineer will be struggling to destroy their USB ports through this device.

AD20 Isolated USB Connection ADUM4160BRIZ USB signal isolation schematic
The ADUM4160BRIZ USB signal isolation schematic

We are powering both sides of the device through the 5V USB supply, so the VDD pins need to have a bypass/decoupling capacitor for stable operation. I’m also pulling up the speed setting pins so this will operate at full USB speed.

As I’m expecting to run at full USB speed, we need to have 24ohm termination resistors on both data lines on both sides of the device too. That’s really all there is to isolating a USB data connection—so simple!

A Little Extra Protection

With the data lines and power isolated, you might feel that it’s time to layout the board—but we’re not done yet. There’s one more little bit of protection to add to the board, and that is a USB-specific TVS Diode from Nexperia. This should help prevent electrostatic discharge from causing problems.

AD20 Isolated USB Connection PRTR5V0U2X,215 TVS diode ESD protection schematic schematic
The PRTR5V0U2X,215 ESD protection schematic

I’ve also added a little extra capacitance to the voltage lines with a 1uF ceramic capacitor. Both the input and output of the isolators have the same TVS diode.


For connectors, I’m adding a USB Micro-B connector for the computer side, as it’s probably the most common cable a user of this device is likely to have on their desk despite the rise of USB-C.

For the output side, I feel as though a USB 2.0 A connection will work best. This will allow me to use the most common cables I have to make the most of this isolator.

The Board

With so few components required to build this board, building layout for most of them is pretty quick and painless. I could make this board smaller, but then I would need to move the TVS diodes, which would potentially reduce their effectiveness. Having lived in a very dry climate for several years, I came to greatly appreciate TVS diodes for protecting electronics from harm, so I’d prefer to have the board the extra 10mm longer and maximize the ability of the TVS diodes to do what they do best.

AD20 Isolated USB Connection board with components and sockets placed
With everything laid out, now we need to move on to impedance control and routing


The USB lines should have a differential pair with 90Ω differential impedance. We can set up the impedance profile in the layer stack manager, but first, we need to set the layer stack up. I will be making these boards in 0.8mm FR-4, so I set the layer stack up as such.

AD20 Isolated USB Connection layer stack management tool two layer board with solder and overlay
A simple stack with an FR-4 dielectric coated in 1oz copper on both sides

Then, we can use the Impedance tab at the bottom to create a new USB Differential pair for 90Ω.

AD20 Isolated USB Connection create differential pair D90 (USB) with differential impedance of 90Ω and 10% tolerance
Our impedance profile, D90 (USB), has a differential impedance of 90Ω with a 10% tolerance

For a board such as this with just one differential pair impedance, I find it easier to use the filter for Diff Pair Class rather than a specific diff pair. This allows me to match all differential pairs with one rule. Applying the impedance profile we set up in the layer manager is as simple as clicking the Use Impedance Profile checkbox.

AD20 Isolated USB Connection PCB rules and constraints editor differential pairs routing
The PCB Rules and Constraints Editor can be accessed through the menu Design > Rules

To maintain isolation, we should also specify the new Creepage Distance rule that was introduced with Altium Designer® 20. This rule will ensure that the distance between separate ground levels across the board is never less than 2.5mm. I am using 2.5mm specifically as it is the minimum creepage offered by my two isolating devices on the board.

AD20 Isolated USB Connection PCB rules and constraints editor new creepage distance
Altium Designer 20’s new Creepage Distance rule in the rules editor

Next, we can set the clearance rule to be the same 2.5mm. The new rule’s priority needs to be increased to have any effect. In the screenshot below, you can see it is towards the bottom of the list which will mean it is superseded by the other rules.

AD20 Isolated USB Connection PCB rules and constraints editor electrical clearance
Note the order of the design rules in the left side of this screenshot

Routed Board

As I was laying out the board, I decided to move the connectors onto the centerline of the board for aesthetic reasons. The new snake routing style works really great with differential pairs like USB tracks. Unfortunately, my USB traces are not quite perfect, as I had to drop the microcontroller side down to the bottom layer to get it to the isolator pin. This shouldn’t affect the operation of the isolator or the USB performance, as it’s quite a short deviation.

AD20 Isolated USB Connection

The USB data lines are snake routed

At this point, the board looks quite complete, however, it could do with a couple of mounting holes. This will allow the use of standoffs, or perhaps a future enclosure to further protect against ESD.

AD20 Isolated USB Connection
Two mounting holes could be handy to have

In 3D view, I can see the inductor is perhaps a bit too close to that mounting hole!


AD20 Isolated USB Connection

With a small nudge, everything looks to have good clearances and be easy to assemble.

AD20 Isolated USB Connection

Final 3D view of the board


Despite the simplicity of this project, I feel it's going to be a board that saves me some real headaches. You can find the Altium Designer files for this board on GitHub if you’d like to build your own. I’ll be ordering a few boards to make some extra Christmas presents for friends who are prone to using electronics under development as weapons against their computers as well.

Would you like to find out more about how Altium can help you with your next PCB design? Talk to someone today.

About Author

About Author

Mark Harris is an engineer's engineer, with over 16 years of diverse experience within the electronics industry, varying from aerospace and defense contracts to small product startups, hobbies and everything in between. Before moving to the United Kingdom, Mark was employed by one of the largest research organizations in Canada; every day brought a different project or challenge involving electronics, mechanics, and software. He also publishes the most extensive open source database library of components for Altium Designer called the Celestial Database Library. Mark has an affinity for open-source hardware and software and the innovative problem-solving required for the day-to-day challenges such projects offer. Electronics are passion; watching a product go from an idea to reality and start interacting with the world is a never-ending source of enjoyment. 

You can contact Mark directly at:

Related Resources

Back to Home
Thank you, you are now subscribed to updates.