OHS 2012 talk proposal: A sketchy history: USB and open hardware

Open Hardware Summit talk, poster, and demo proposals are due today. As always, we publish our conference applications to give you an inside look and a template for your own submissions.

This year we revised and resubmitted a talk proposal on USB vendor IDs and open source. This was rejected last year, though the two reviewers gave it the highest score and great comments. We’re trying again because maybe this issue is widespread enough now that it fits in the OHS lineup. Just in case, we also submitted it as a poster so maybe we can have a small group discussion.

Type of submission: talk

Title: A sketchy history: USB and open hardware

Description: USB is the go-to interface for small electronic devices, and open hardware is no exception. From Kickstart campaigns to hobby projects, there are more USB connectors on open hardware than ever before. Each of these devices needs a unique ID number, issued in blocks by the USB Implementers Forum at a cost of $2000. Not a big deal for a giant corporation, but it’s a hefty investment for a small open hardware community or kitchen table start up.

The ID also comes with restrictions that don’t jive with open source, namely it can’t be shared under an open source license. Projects may have open source code, but a compiled firmware with a USB ID can’t be used freely. For example, the ATMEGA-based USB to serial converter chip on the latest Arduino requires a USB vendor ID. Anyone who wants to manufacture their own UNO-inspired project has to cough up $2000 bucks to get their own ID, Arduino can’t share theirs.

The shady past. How open hardware projects and hobbyists have tried to engineer around the USB ID problem:

  • Resell them: Each USB vendor ID is block as 65,000 numbers, so why not resell them? Let’s talk about the Dutch guys who tried. Despite Dutch law supporting resale, the USB Forum harassed two hobby electronics shops until they gave up. Now the shell of the OpenMoko open source smart phone is having a go too, we’ll talk a bit more about their approach too.
  • Sub license one: Microchip, FTDI, and other USB hardware makers are allowed to sub license USB IDs to use with their hardware. This is Dangerous Prototypes does USB projects. The number can’t be shared (not open source friendly), and may have a limit like 10,000 units.
  • Squat a range: USB Forum can’t recycle a number once it’s assigned. Open hardware can squat an abandoned or revoked (eg, the Dutch guys’) number. There’s no law to prevent it (*probably, yet) and it’s unlikely to duplicate an existing device. Fine for testing but not very professional, and the USB Forum may still send nasty-grams if you sell devices with it.

Potential solutions:

  • Relax resale policy: Hardware engineers often want to engineer a solution that fits a loophole in the USB Forum’s contract, but the Forum just changes the rules. A social approach such as lobbying for a change in resale policy could be effective. So far though the rules are only getting more strict. Even with a relaxed resale policy, there’s still licensing and sharing restrictions are not open hardware friendly.
  • Testing block: There’s no block of IDs for internal testing. A free-for-all range would be great, with some reserved IDs for common services like USB to serial. No restrictions on this range, but no guarantee devices won’t conflict.
  • Open block: A block of IDs available to open hardware projects. It’s probably not worth the USB forum’s time to sell individual numbers, but even if they’re adverse to resale maybe they would allow a non-profit to issue numbers for qualified open hardware licensed projects. The key is that open source project be able to share these numbers so we don’t have to dance around proper open source distribution.
  • Wait: Eventually the USB Forum will run out of vendor ID blocks. Selling individual numbers will be the next brilliant idea out of the marketing department.

Importance: USB is already the standard interface on most computers, and many open hardware projects use it too. As open hardware becomes more wide spread the issues of USB IDs will become bigger. A big company doesn’t blink at $2000 for an ID, but it locks out small makers and open source communities.

Bio: Ian builds a new open hardware project every month at DangerousPrototypes.com, many of them use USB. Copies of the projects are available from Seeed Studio’s open hardware manufacturing service.

Join the Conversation

6 Comments

  1. This is a really important issue and needs to be addressed. Even more so now with more and more USB-native chips arriving in the hands of makers and an opportunity to avoid the same mistakes for USB 3.0. I wish you the best of luck and look forward to catching the video of the talk.

  2. It’s one thing that community projects can register PIDs within the Openmoko VID. It’s another thing to *sell* products featuring these IDs. This looks like a gray market thing but could be useful for some hobby projects. I still don’t see this issue fully resolved.

  3. I don’t see a problem with selling a device which I have been assigned a PID for.

    When I discussed this with USB-IF their only concern was that the VID owner might get reputation affected according to the quality of my device, and perhaps they would get support inquiries if my device is really really badly done. The decision for how to assign a PID was with the VID owner. I’m sure that Openmoko factored the support burden into their decision. :)

    1. As far as i know this is still expressly prohibited by the USB if according to them about 2 months ago. I plan to talk about the openmoko development as outlined above, but I’m not convinced that one rogue potentially co.tract breaking org handing out USB ids really solves all the issues of USB and open source.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.