Hattix.co.uk PC Hardware Collection
  Other Hardware
Internal USB 2.0 Hub
These cool little things were £1.95 from China. They come with a half-populated cable to fit on an internal USB header, and give you two headers. If you buy two of them, you can rewire the plug for the motherboard header, and run both of them off one header, as each header gives two USB connections. In its most basic form, one of these takes connectivity for two USB ports and turns it into four USB ports, while leaving a row of pins on the motherboard unused (but inaccessible without modifying the cable).

In an era where USB 2.0 is used for basic connectivity, these can add in enough connectivity for smartphone cables, keyboards, mice, WiFi, BlueTooth adapters... One niggle, and this is unfair with how cheap they are, is that they're bus-powered.

The ASIC in use is the GL850G by Genesys Logic, Inc. in its SSOP-28 packaging. That link there goes to locally hosted manufacturer documentation. The ASIC can control a green and amber LED natively for port status, but none is provisioned on this board (as it's intended for internal use).

At the heart of the GL850G is the RISC microprocessor, which has 2K firmware ROM and 64 bytes RAM. It runs at 6 MIPS from the USB base 12 MHz clock, and is employed to decode the USB command from the host and prepare the response to the host. It can also do GPIO and read an external EEPROM, which can configure a custom USB ID. One pin on the package serves to switch the ASIC between self-powered hub and bus-powered hub mode. In self-powered mode, the chip is still powered itself by the host USB 5V (or can be, it doesn't actually care), but will handle power assignment itself, with the assumption that each port has 500 mA available. In bus-powered mode, it will pass power requirement through to the host.

The date code on this says it was produced in week 50, 2019 (it was ordered in week 4, 2020!) and the package code is a "Y" which is likely newer than the specification document: It should be G for green package (mandated by EU) and N for normal package.

Like almost all USB hub controllers, it does not power the output ports itself, the PCB is meant to route the 5V rail. This means the downstream ports are unsuitable for charging modern smartphones. Variants are available which will accept a 4 pin or SATA-style power connector and so be self-powered.
Broadcom BCM2042
This is one of those cool little devices which went well above and beyond the call of duty. On paper (datasheet) the BCM 2042 is just a single chip Bluetooth I/O solution. It provides a mouse and a keyboard.

It has an onboard 8051-compatible microcontroller (Intel likes to call it "MCS-51", but the whole world calls it 8051), supports ball and optical mouse sensors, has an 8x20 keyboard scan interface and has an onboard regulator compatible with 2.7 to 3.3V input but has a very low dropout. It has 20 kB firmware boot ROM, 108 kB application ROM, and 22 kB RAM.

The BCM 2042 was good down to around 2.0V input voltage (spec was 2.7, but it worked), so a pair of NiMH AA cells would power it properly.

The mouse decoder is a three axis proportional signal processor for X/Y/Wheel, with three button support and togglable LED power. The keyboard controller supports three LEDs on top of the potential 160 buttons.

Here we see it in use as the highly innovative Nintendo Wii controller (Wiimote). This implements 12 buttons, an infrared camera, a three axis accelerometer (ADXL330 MEMS), the latter hooked up to the mouse inputs. The accelerometer has no gyroscope and so cannot distinguish linear acceleration and rotation, used to great advantage on games like Mario Kart Wii

The camera is an IR tracking solution, which can detect and measure four infrared sources reporting their brightness, position, and approximate size. This uses the BCM 2042's quadrature signal decoder (intended for optical mouse sensors) to track position and rotation.

The keyboard scan matrix is bifurcated between the onboard buttons and a port on the bottom, which goes to the "nunchuk".

The Wiimote also has a vibration "rumble motor" and a speaker to give sound effects, both of which are basic PCM driven from GPIO pins.
Script by dutches   © 2002-2023 Hattix.co.uk. All rocks deserved. Creative Commons LicenseHattix hardware images are licensed under a Creative Commons Attribution 2.0 UK: England & Wales License except where otherwise stated.