The TetraHub is a fixed function hub. Being a fixed function USB device, there is no risk or added engineering effort required for firmware development. You do not need to write any firmware for the design. The only programmability is realated to the configuration of the device via an external EEPROM which allows to change the VID, PID and DID of the device and define various other features: EnableOverCurrentTimer/DisableOverCurrentTimer , ActivePorts/RemovablePorts, etc. Please refer to Configuration Options section of the TetraHub Datasheet for further information on this feature.