Free Trials

Download a free trial to find out which Altium software best suits your needs

Altium Online Store

Buy any Altium Products with few clicks or send us your quote to contact our sales

Downloads

Download the latest in PCB design and EDA software

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    Agile PCB Design For Teams

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions
  • EMBEDDED
  • TASKING

    World-Renowned Technology for Embedded Systems Development

  • TRAININGS
  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience

    Altium Online Store

    Buy any Altium Products with few clicks or send us your quote to contact our sales

    Downloads

    Take a look at what download options are available to best suit your needs

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Isolated USB Connection Project

    Mark Harris
    |  December 19, 2019

    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.

    Connectors

    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

    Impedance

    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

    Outcome

    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 12 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: mark@originalcircuit.com

    most recent articles

    Back to Home