I had been developing the hardware extension for OpenWRT routers.
It may serve as USB hub with USB or serial device based on STM32F072 or other STMs with the appropriate pinout.
(watch the circuit USB-hub.pdf)
It may be configured as hub as STM based devices each alone of both.
STM may be connected as one of hub devices or as actually host for hub.
It may have individual power control, for any USB port, as well as it has optional power DCDC converter. It may be both 5 volts and about to 12 volts fed.
It also may combine both chips and in that order one of USB hub connection is already connected to the STM.
Optional crystal generator soldered on board for any of two chips. Actually it may be crystal-less, and both chips synchronised with STM32F072 stable generator.
It is also allows to make present the Lion battery or Ionistor, for CMOS memory and real time clock, with "watch" 32KiHz crystal.
It allows to have serial SPI Flash or sound device (not both simultaneously however).
The actual configuration is chosen with actually soldered components and 0 resistors.
Alternatively STM may be connected with serial interface, and as the very final solution with GPIOS.
It also has various pins unused, with optional pins soldered. They resolve to connect simple keyboard.
and some SPI stuffs as I believe LCD or OLED display (as available for "Arduino platforms").
Basically to option the router with several USB devices as cellular modems (3g 4g), cameras. And to have serial terminal connected with USB, display for to show modes and real time graph or keyboard.
But also in some configuration to make old routers to obtain USB and more flash just through the serial connection.
The variety of options expired me as soon as I developed a PCB.
In some cases it requires relatively serious programming for STM32. In other cases if used extension of USB for no USB devices it would require changes in kernel.
The board is actually 80×100mm.
I even though about to order them, until got in stupor out of my creativity.