Early Design

A project log for Integrated HUB - Ethernet, USB, RS232

Swiss Army Switch - Ethernet Switch, USB HUB, USB-Ethernet and USB-RS232 Adatper

jesse-farrellJesse Farrell 05/09/2024 at 05:000 Comments


I’ve been thinking about making an ethernet switch for awhile and finally found a good reason to make my own. At work I often have to use 4 tools for high level debug;

It’s a real pain to have to scavenge all these adapters from around the lab, and the assortment of dongles takes up valuable bench space. The goal of this project is to Frankenstein these 4 devices into a single design.

FYI for anyone reading. I’m not very familiar with the networking stack, so if I sound a bit uncertain about the topic it’s because I am… (part of the reason I wanted to do a project related to networking. Time to do some learning!)

General Block Diagram

I’m using a “keep it simple stupid” philosophy for this design. As such the block diagram looks eerily similar to the 4-tool amalgamation I just mentioned. Something that might be interesting is the PHY-PHY connection b/w the USB to ethernet adapter and the switch. I don’t need any isolation there, so no need for expensive magnetics.

Now that I have the rough functionality worked out, I need to see what components are actually out there (and at what price!). As much as possible I’d like the design to be (a) cheap and (b) simple. I’ve been in firmware hell for another project, so I’ve had my fill of SW/FW debug for a while.

Exploration - Ethernet Switch

There really isn’t much on Digikey. At least not within my budget. Filtering for an in stock / non-marketplace / Ethernet switch, leaves me with several Microchip parts all >$5 at low quantity (see for yourself -> Digikey Search).

Let’s see what China has to offer. LCSC conveniently has an entire page dedicated to “Ethernet Switches” (here). Filtering on cheapest in stock part lands me on IC Plus IP175G. Can’t say I’ve heard of this manufacturer but at ~$1 it has my attention.

I’ve read through the datasheet and it seems like it fits the bill for my project. Its got an integrated MAC (thank God), decent buffers (I think?), and some more advanced features. Its recommended application is “5 port 10/100 Dumb swith” and “4TX+1FX Dumb Switcn”. The switch must be extra dumb!

I did some hunting for reference design, but its very bleak. There’s no official reference design, nor is there any open-source example. The best I could find was this product (SwitchBlox Nano) uses the chip, so clearly its 

Exploration – USB to Eth / HUB

Digikey doesn’t seem to have ANY cheap options for a USB to ethernet adapter. In this case it seems like I can’t really avoid an expensive part, and I’m not sure I’d want to anyhow. I’d like a more widely available part with good support, so I don’t have to fight with any windows driver wackiness.

I ended up going with the Microchip LAN951x series. Its an integrated USB to ethernet adapter coupled with a USB HUB. Its only USB 2.0, but for my use case I don’t need heaps of bandwidth. I haven’t done a deep dive of the datasheet yet, but it looks like I could easily use any of the 3 variants; LAN9512 / LAN9513 / LAN9514. The last digit reflects the number of USB ports present on the HUB. I’ll design in LAN9514 and DNP parts as needed to support the cheaper variants.  

When searching for reference designs, it looks like this part is even used on the Raspberry Pi 3! That’s handy.

Exploration – USB to RS232

Another adapter that will be potential for windows driver wackiness. Similar to the previous adapter, I’d like to avoid the bottom of the barrel options. I suspect I’m overthinking the driver setup headaches, but I’ve never worked on a board that needs any kind of windows support so…. Rule number 1 “keep it simple stupid”.

My first thought for RS232 support was FTDI, I think most designers have used or at least heard of this manufacturer, and I figured it would be dead simple to implement based on its popularity. A quick digi-search revealed that FTDI seems to be the ONLY USB to serial adapter that specifically calls out RS232. Expanding my search to generic USB-UART adapters revealed a coupled more options from Infineon, Maxlinear, FTDI, Microchip and Silicon Labs (Digikey search).

I ended up going with FTDI FT234XD. Pricing for all these parts was >$3 on digikey and I’m happy to pay the extra ¢50 for the FTDI part. (For a future revision I will likely look into downgrading this part to something cheaper, maybe WCH CH240N)

Next Steps

Now that all the core parts are selected, I’ll work on adding supporting components, and dig deeper into all the datasheets. I quickly noticed several quirks on my switches datasheet that I’ll talk (maybe complain) about in my next log.