My iButton Hacks

Well, all I've done so far is a perl module that uses DS2480-type serial interfaces to talk to iButtons. I'll keep the latest version here. Keep in mind that this is still alpha; the interface and even the name of the module may change drastically.

With this module you can poll the bus for devices, access an individual device, read and write NVRAM in buttons, and perform a temperature conversion with the DS1920 button. There are some example scripts provided that do all these things. There's a rough application to play with iButtons that uses the Perl/Gtk interface called '', I threw it together to learn something about Gtk and because it looked cool. Some day (maybe) I'll add more to it, maybe it can provide some similar functionality to Dallas's excessive-looking $200 iButton Viewer TMEX software (but on better platforms, and with free software).

I'd love to hear feedback or fixes for this module: in particular I could use some help getting the stty settings right. It works for me, but if I reboot my machine (thus resetting the serial port) I have to futz with it for a while before it starts to work again. There's a script in examples/ to aid in this task: sending some reset codes (0xc1) and breaks seems to do the trick. If anyone can figure out how to make it into more of a science, I'd really appreciate it.

Latest version: Hardware-iButton-0.02.tar.gz (sig)

This module is destined to run on my sparc in the closet. I'll have the closet door closed to make it quieter, but monitor the temperature with a DS1820 (the solder-mount version of the DS1920 temperature iButton) and have it mail me if things get too hot.

Brian Warner <>
Last modified: Thu Dec 23 11:09:47 EST 2004