iButton on Arduino Mega running v2.1.1 - firmware bug?

I’ve had a read of the forum and it seems that there is a problem with iButton working. Does this apply to an Arduino run version of the software too? I’ve got a buzzer connected and get a notification when I tap a button but can’t seem to get it to authenticate.

Assuming this is the issue reported before, how do write the value of the token:

  1. 12ad5cb0da
  2. 1 2a d5 cb 0 d a
  3. 92 1 2a d5 cb 0 d a 92
  4. Binary?!

I should say that the iButton has 0a0d00cbd52a laser etched on it but I used another arduino to read the tag and got the following:
a d 0 cb d5 2a 1 92

Split over two lines as above. I’ve tried a variety of combinations with no success.

I’ve had a go using an ID-12LA RFID reader and it seems that it reads hexadecimal codes (although the tags I bought have decimal codes printed on them). I’m going to try and get that to work and then maybe try going back to iButtons.

Well it’s a year later but not much has changed. Still running a Arduino Mega (since I have 3 taps) sending data to a Raspberry Pi (no tablet anywhere). I came back to the iButton as the wiring is easier but I still can’t get it to authenticate. The logs don’t show anything.

I updated the pi to the most recent version. There hasn’t been an update to the arduino firmware since 2014 so that’s the same. Has anyone been able to get their iButton working?

Not sure if this will help you but I thought I would offer my experience with the Ibutton reader. I have been using a Kbpm since the kickstarter days but the USB input has broken off so I just recently started down the path of building an Arduino kegboard and wanted to add Ibutton authentication and a solenoid for the cool factor. Yesterday I received the Ibutton reader (which is the 4 wire type with the LED in the center) and buttons that I purchased off of eBay. The reader came with no instructions and when I bought it I assumed it would have a dedicated data wire along with power and ground. I discovered this was not the case and began trying multiple ways of connecting it. Two of the wires provide power and ground to the LED and the other 2 are for the Ibutton itself. The wires are red and green so I assumed the red was power/data and the green was ground. I discovered that with a 2 wire configuration I would need to use a resistor between the data pin and power. After hooking it up, using the assumed color code the lights on thr Arduino ( I’m using the Duemilanove board as the UNO board I initially purchased would not recognize the flow sensors) would blink when I scanned a button but the app did not see it nor was there anything in the log. Finally, around 2:00 am after trying what I thought was every possible combination of wiring, I discovered that the red wire of the reader was ground and the green was the data pin which I had tried but did not have the resistor installed correctly. After writing correctly, the Android app immediately recognized the button reads and would prompt me to associate a new button with a user (meaning you don’t have to manually input the button ID into the token section). Here is the correct wiring for my reader: red wire from reader to the ground pin of the Arduino, green wire from reader goes to the #8 pin of Arduino, a 2.2k ohm resistor should go between the #8 pin and 5v power. I also discovered after I finally got it working that 3 of the 10 buttons I bought did not work so try multiple buttons when testing. I hope this helps, of you have any questions, let me know.


Thanks for the reply. I checked my wiring and it’s correct. The buzzer was really useful for this, I got a sound when the iButton was presented. The fact I get a notification makes me think the arduino recognises the iButton but the Raspberry Pi doesn’t process it.
Either way I ordered some more iButtons and still the same issue.

Even when I have the android app open and connected (over wifi) to the kegberry server I don’t get a pop up to assign the new token. Surely this is a problem between communication the arduino and the raspberry pi… does it make any difference that I’m using a Mega? I know there’s been an issue about pins on the mega so I changed the input for Presence OneWire bus from pin 8 to 52. Given that the buzzers beeps I guess this isn’t the issue.