Microcontrollers are usually far less powerful than a typical desktop — or even mobile — CPU, but they’re popular because they are easy to use with basic components. For example, it’s easy to monitor a photoresistor with an Arduino development board, but quite difficult to do with your computer — at least directly; it’s actually easy to do if you have an intermediary device, which is exactly what the Binho Multi-Protocol USB Host Adapter is designed for, and I got my hands on one to review.
The first thing I noticed after receiving the Multi-Protocol USB Host Adapter from Binho was how well it was packaged. That includes the box it came in, the included carrying case, and the actual device itself. The slim adapter easily fits in the palm of your hand, and is protected by an attractive anodized aluminum enclosure. Also inside the package is a USB-C to USB-A cable, and a breakout board for the interface cable.
That breakout board — or one of the available protocol-specific interface boards — can be used to connect the Multi-Protocol USB Host Adapter to just about any hardware you might need to work with. It’s compatible with I2C, SPI, UART, Dallas 1-Wire, and Atmel SWI communication protocols. There are also GPIO pins with ADC (Analog-to-Digital Converter) and DAC (Digital-to-Analog Converter) capabilities. Both 5V and 3V3 power are available for components and devices that don’t require a lot of current. That’s all controlled by a Microchip SAM D21E Arm Cortex-M0+ microcontroller.
Once you have the Multi-Protocol USB Host Adapter connected to your hardware, you have multiple options for controlling it from your computer. There is a GUI interface, an ASCII terminal, and a Python API that can be used with any programming language. All of those are cross-platform, so the device is compatible with whatever operating system you prefer.
The GUI worked for simple communication, which I tested by connecting the Multi-Protocol USB Host Adapter to an Arduino board. While you can easily set the states of the GPIO pins, and even send or receive data bits via SPI or I2C, the versatility of the interface is fairly limited. It works for simple testing, but you’ll want to use the ASCII terminal or API for more complex tasks. Those options allow you to automate operations, send data programmatically, and much more.
The question you should ask yourself is if the Binho Multi-Protocol USB Host Adapter will add value to your workflow. Technically, you can do all of that with most microcontroller development boards. At $149, this isn’t a cheap device. It does, however, provide convenience, professional support options, and the various software options. The two closest competitors are the somewhat-outdated Aardvark I2C/SPI Host Adapter (which costs twice as much) and the popular Bus Pirate. The Bus Pirate is open source and costs just $30, but it’s just a bare PCB and there is no professional support available. In short, the Binho Multi-Protocol USB Host Adapter is a well-made device backed by versatile software, but the price may be prohibitive to hobbyists.