iButtons
Dallas Semiconductor has a group that
makes the iButton. The primary interesting
things about iButtons are:
- 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.
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
temperatures.
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.
Contents:
- 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.
Useful iButton sites:
- 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
fun gadgets.
- http://sof.mit.edu/ibuttonpunks/:
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.
Miscellaneous notes about iButtons:
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 <warner@lothar.com>
Last modified: Mon Jan 11 00:12:50 PST 1999