Dallas Semiconductor has a group that
makes the iButton. The primary interesting
things about iButtons are:
The basic iButton is just that. It contains a serial number and nothing else.
The more interesting models contain various amounts of EPROM, EEPROM, NVRAM
(Dallas has a lot of experience at putting lithium batteries in chips),
clocks, temperature sensors, small microcontrollers, and Java virtual
machines. They have solder-mount versions of many of the iButtons too,
TO-92-shaped gadgets that act just like an iButton but are easier to solder
down to a board. The serial-number-only device could be useful for assigning
ethernet addresses; the temperature device is useful for measuring
- a basically indestructable metal case, looks like a thick watch battery.
Two contacts: data and ground.
- A signalling protocol that can communicate bidirectionally over two
wires (the so-called "One-Wire Protocol"), in which the iButton steals
power from the data line, and drives it with an open-drain gate.
- An identification scheme whereby each iButton has a unique 48-bit ID
number, letting multiple devices reside on the One-Wire Bus at the same
time. The protocol lets you discover what devices are on the bus, and
allows you to talk to a single device at a time.
There is supposed to be a crypto button that is basically a 8051
microcontroller running a special program that will let you run cryptographic
scripts, but it isn't clear that you can actually buy one: the online
documentation is confusing at best. There is also a Java button that has 6kb
of NVRAM and a complete Java Virtual Machine in it. You can buy these: I have
one. The Javabutton is supposed to be revised (perhaps next year?) to more
than 128kb of NVRAM and will have a useable 1024-bit hardware exponentiator,
making stuff like RSA much faster.
This page is meant to document the stuff I find out about iButtons and the
hacking I do with them.
Useful iButton sites:
- Kits: I've got the iButton Starter Kit and the
JavaButton Kit. I couldn't figure out how much they were or what came in
them before I bought them, so I list the prices and contents here for
the benefit of others.
- My iButton hacking: iButton things I've
done. At this moment this only includes a Perl module to talk to
iButtons and notes on what I plan to do with it.
Miscellaneous notes about iButtons:
- http://www.ibutton.com: The
official iButton site, set up by Dallas. Mostly marketing stuff.
- http://www.dalsemi.com: Dallas
Semiconductor. Data sheets and app notes for iButtons, as well as other
iButtonpunks, folks that like to hack on iButtons. There's a mailing
list. That's about it. Most of the links on this page are teasers or
placeholders and don't actually lead to anything.
Dallas makes it really easy to order these widgets. The easiest thing that I
found was to call 1-800-336-6933 and buy stuff with a credit card. You can buy
small quantities (<$200) of anything that Dallas sells this way. You can
also just ask them for prices in unit quantities. I spent a long time
searching various distributors' web catalogs looking for prices with little
luck, and I should have just called Dallas. I think this is cool; I've ordered
parts from distributors for personal projects, and the reps aren't generally
interested unless you're going to be ordering 4 zillion parts over the next
year. I can't blame them, I know that I don't represent much in the way of
commission, and I'd be happy to go to a mail-order or retail outlet, but a lot
of the parts I'm interested in just aren't going to be at Digi-Key or
Radio-Shack. So I think it's really convenient that you can order hobbiest
quantities straight from Dallas.
Brian Warner <email@example.com>
Last modified: Mon Jan 11 00:12:50 PST 1999