A while ago, I bought a couple of 125kHz RFID modules from eBay. I actually have had them for ages and only just got around to doing something with them....
After some sniffing around, I found this:
It gives some details of the board and has a link to the EM H4102 data sheet. I'm interested in getting some data from PIN 9 of the chip. It should be something like "U2008BCFAF8" after decoding. It uses some Manchester coding scheme that I'm not familiar with but should be able to work out. This will allow me to see "who" is present rather than just "a valid ID is present" (which I can already do, a PIN goes HIGH when a valid fob is presented).
Has anyone had any experience with this module, there is little to no data on it (I think they're surplus) and I can't seem to read any data into the Arduino... I'm guessing I need to know what pin the CLK is?
Any help will be appreciated, even with creative ideas about what they could be used for?
PS: Sorry about the links, I'm not aloud to post active URLs as this is my first post
cool idea , but its going to get quite difficult assigning 'names" to the different tags within the arduino. an i dea would be to set them up like switches with high or low values instead of using one input form the rfid reader.
Maybe use it to unlock something , maybe hack one of those cheap electronic safes :D.
Yeah, I'll be happy with just the decoded data to be honest. If I can get it working properly, I might wire it up to my front door. There is actually some data coming from another pin that is unique to the module, so technically I should be able to determine who used a fob and where at what time etc. Kind of cool for the price (I bought 4). I'm really interested in what they were originally used for, looks like it could be automotive and they're made in Germany. Other than that I can't determine much.
It's Manchester encoding, so there is no clock it's all in the data line. Look it up on Wikipedia for a good explanation. It is quite easy to decode.
It should be something like "U2008BCFAF8"
I am not sure where you got the U from but all the other characters look right. The card stores four bit numbers (hence the hex numbers in your quote look fine) arranged in an array so that the fifth bit is a parity bit and the last number consists of a parity byte of the columns of all the previous numbers. You should be able to find that format here:- http://www.zygo.btinternet.co.uk/H4102_C.pdf
Thanks, I got the decoded sample from http://rfidiot.org/ which has the exact same fob from the URL you posted it has a U in front of it (not sure what that's about either) under EM H4102 keyfob TAG: there is a whole heap of info about it and its variants.
Since I started this thread I've had some success, not sure if I am heading in the right direction, but so far I can determine:
When a valid key fob is present from one of the pins going high. Which is good for some applications. You can store 20 or so ID's in memory of the board.
I can get some fob data from the Arduino RX pin. The serial print out changes from zero to some data which I'm yet to decode when the fob passes over the antennae. I should be able to decode it by looking at the python script from the above URL. I'm just not sure if this is the correct / best way to aquire the fob data?
Any more help would be greatly appreciated, I'm very green when it comes to Arduino.
hi there i also have some of these units please contact me if you have had any success decoding this data, as i wish to connect them to a computer serial port. regards Richard p.s i also have some further data on these units that might help you...
I couldn't work out how to decode the tag in the end, but I'd still like too. I currently can use them when a valid fob is present, but cannot determine whose fob it is. Ultimately this is what I'd like to be able to do, but I ended up giving up on it. Actually, I can't quite remember where I ended up, pretty sure I was getting something out of the Arduino.
For Manchester decoding I found this very interesting work: http://palebluedot.nl/jml/arduino/24-openthermmon.html
even if it's a different project, there's a really well documented part on Manchester decoding: in particular I'll refer to the "Decoding the Manchester signal" paragraph.
You look for 9 bits of 1. That would be 9 complete phase changes at the highest frequency if it's manchester encoded. That is the header. The way they encode the data, 9 ones never occurs except in the header. This is because of the row parity bits: if there were 4 1s in the data, the parity bit would be zero.