To USB or Not to USB


Feature Flexibility with USB in IoT

“If it isn’t broken, it doesn’t have enough features.”

I’ve been thinking about this Engineering joke all week. I love it because it balances what Marketing loves (features) vs. what engineering delivers (quality implementation).

A great example of this is the IoT market. At this point in the adoption cycle, we are still in the earliest market.  For consumers, a lot of education is required.  Do they need it? Where to buy it?    IoT for the Home is still in its infancy.   Unless you’re an uber geek or at least a beginning geek, it’s going to take some time set up your IoT home of the future.  Or you are going to pay someone $10,000 so you can turn you lights off from your mobile phone.

I am aware for smart buildings the market ahead of the home automation market.  The incentives for energy, cost, and security will continue to drive building automation.  The staff that install and maintain those systems routinely receive training. At the same time, the custodian and staff have to enable or disable features as needed.

So the balance to be struck with IoT products, the products that support the IoT market for smart homes and smart buildings requires simplicity for the user, and flexibility to realize the goals.    Certainly for the end-user, the home-owner or facilities manager, much of this is in the software.

What do you include in your IoT chip which everyone needs?
What are the essential features that you can produce in high volume?
What flexibility do you need to make it marketable for system makers?

For the hardware platform, it’s required, absolutely required to have the flexibility to accommodate different standards.  This is because volumes are so low.

–       Wireless Connectivity (and occasionally wired)

–       Sensors – Motion, Heat, Temperating, Vision/Cameras

–       Controls – Touch screen

–       Security

–       Power

–       Interface to the environment (like a light bulb)

These will vary based on the design of the product.  For example, if some IoT devices will have no controls since all the control will be via your smartphone or tablet or a central control center.

When designing a platform for IoT, the platform must be flexible enough to accommodate changes to meet the different requirements.  The hardware specifically must be able to connect to different Connectivity, Sensor, Control, and Power components.

USB and PCIe should be in every IoT design

I like USB (for obvious reasons.)

I like PCIe for even more flexibility

Ideally, an IoT product has both. The cost is relatively low, and it gives greater flexibility in adding the modules you need with off-the-shelf products.  So if it’s 5 cents less for the USB version of the WiFi chip, you buy that for this version of the system/end-products.

Connectivity and Controls – USB is attractive because for Connectivity and Controls. It’s easy to prototype an application by buying off the shelf chips, plugging them in via USB and and in a few hours be running WiFi data, connected to a USB camera, on an IoT platform. The host drivers available in Linux (as long as your IoT device runs Linux).  They are available in other open source also.  If the device is built to be Gadget API compatible, that makes it more likely you can develop a host driver quickly.   The Gadget API is a standardized way for drivers to work in Linux.  Read more about the Gadget API here.

Sensor – Connect a sensor using USB 1.1 and you can be sending your sensor data through also.  (I honestly don’t know if sensors have USB connectors.  For the data rates of most sensors, it seems like USB 1.1 would be sufficient)

Power – You can even use USB to power the device or connect a USB battery as you prototype, or charge an onboard battery with USB if you want.

So fast prototyping and bring up with USB

Standard, off the shelf peripherals

Faster driver development with open source

Faster driver development with Gadget API

Customize the features you need, and only the features you need.

Does this reduce IoT devices to a microcontroller, software, PCIe and USB interfaces?  Yes, yes it does.

Just choose the number of USB ports you need, and you are done.

There are better minds than mine working on this, I’m sure secret ingredients that make an IoT chip better.  If I knew what those were, I’d be there, doing that.

Closing Joke

“ Two city slickers go hunting for the first time, get lucky and are dragging the deer back to car. A veteran hunter corrects them, “You’re dragging it by the front legs. That’s wrong. You should drag it by the hind legs.” The city guys thank him and switch it round. After a few minutes, one says,” We are doing this all wrong.” “Whatya mean?” says the other. “We’re getting further away from the car.” ”


Send this URL onto your friend, or people you’d like to be your friend. and tell them to Subscribe to this Blog, one option to subscribe is as follows:

  • Go      into Outlook
  • Right      click on “RSS Feeds”
  • Click      on “Add a new RSS Feed”
  • Paste      in the following
  • Click      on “Accept” or “Yes” or whatever the dialogue box says.
Share and Enjoy:
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS