vusb-iButton - an iButton lock adapter

Author: Jan Kandziora <ed.xmg|jjj#ed.xmg|jjj>
Copyright 2012 Jan Kandziora
License: GPLv2 (see file COPYING)

The device shown in the picture is a simple iButton keylock to USB
adapter. Unlike the existing solutions for connecting such a keylock to a PC,
this one doesn't need a special driver as it emulates keypresses, much like a
magnet card or barcode reader does. As another benefit, you aren't required
to poll a onewire bus frequently for pushed/pulled iButton keys in the lock;
the µC does it for you. The USB is polled for keypresses by the OS of your
choice anyway, so it's less overhead than with existing solutions.

To make it possible to tell apart real typing on a parallel keyboard from
plugging a key into the lock, each lock action is prefixed by a special string,
which is %%bi for plugging a key into the lock and %%bj for pulling it.
These strings can be changed in the source code. The actual iButton ID is
encoded in lower case hex digits and send as keypresses afterwards, followed by
a <Return> keypress.

A fully assembled 23mm diameter PCB suitable for glueing on the back of an
Addimat iButton keylock is available at, feel free to ask
for samples.

Many thanks to the folks at, who made it possible to
create such a thing without much hassle.

September 2012,

Jan Kandziora

Download: vusb-iButton.tar.gz

For a complete list of projects based on V-USB see Objective Development's projects list.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License