jska said...
Micah,
Congratulations on the design of such an elegant RFID reader. I have built one based on your design and it works beautifully with standard cards. I have also seen your posts on building RFID tags using only an AVR ATtiny85 controller (or a controller with an antenna and caps) and am in the process of trying to build some of these as well. My question is whether you think that the ATtiny85 could be modified to act as a sensor rather than just sending back a number, such that the number sent back could be modified by a detected voltage. I am hoping that with relatively simple modifications to your tag as designed, one could make remote sensing devices, still operating in the passive mode without the necessity for battery power. Thanks again for sharing your designs.
jska
Sorry for the very late response.. guess I didn't have this thread set to email me :-/
I'm really glad to hear the reader object works well for you! My prototype is still installed at my house as a garage door opener, and it's still working great too [noparse]:)[/noparse]
I do think you could modify an ATtiny to act as a sensor. The feasibility would depend on the protocol you're using, and how much 'sensing' you can do on so little power. The amount of processing you can do depends on the ratio of carrier frequency to bit period. On the simple EM4102 tags, I think you get 32 clock cycles per bit. That's definitely enough to get some useful work done. I don't think you'd have enough power to passively run an A/D converter, but you might be able to successfully run a simple digital sensor, or perhaps take timing measurements from some sensor that would generate a pulse output. (For example, RCTIME-style measurement of a variable resistor position) The main constraint there is that your timing resolution is limited to the carrier frequency, since that's where your system clock comes from.
thanks for your prompt reply Micah.... what confuses me, is the fact that 'generally' in wireless we are either using a front-end for transmitting OR receiving and hence have a switch ...similarly, in RFID, my mind says me to do the same i.e. to transmit 125KHz for a while and then stop the transmission and listen for the response from the tag so that i can listen to the AM modulated response i.e. A(t)cos(2*pi*f*t) other wise i will have a response [noparse][[/noparse]cos(2*pi*f*t) + A(t)cos(2*pi*f*t)] which can combine destructively and hence cancel the signal??...
Forget about wireless transmission via electromagnetic waves when thinking about RFIF.
What we have here is two coils, a transformer. Albeit loosely coupled.
The primary coil of this transformer is in a resonant circuit and is delivering power to the secondary. The secondary presents a load. Clearly if that load in the secondary varies the Q of the entire circuit changes thus varying the voltage achieved in resonant primary circuit.
The power that makes its way to the secondary is used to drive the logic that modulates the load with the required data. Which can be read by observing the changes in the amplitude in the resonant primary.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Hi, I found this post through the scanlime blogpost, very cool project. Now I'm looking to make one of these myself but don't use Propeller, just MSP430/ARM MCUs, so if someone could translate from propeller to plain C (I think most of the asm is portable?) that would be greatly appreciated. Or even a simple rundown of what the program does so I can write the C version myself would be enough.
Enervate - it won't translate easily. The assembly sets up the counters on the prop to make the driven signal for the reader and to bias the circuitry. The rest of the code appears to do something similar to debouncing, though. The spin code just makes sure that you have to successive reads of the same data before displaying it.
So like many others, I came upon this thread well after it was started. I've learned all about RFID and have seen all your (Micah's) other posts on the ATtiny85 and other RFID hacks, so I think I'm fairly up to speed on the tech (as well as having a background in CS and hobbyist level electronics)
What I'm trying to do is reuse a HID Prox fob I have by being able to replicate it and install a reader in my house, so I need both the ability to read it and write a new one. I grabbed an Atmel U2270B thinking I could do the reading with it, but it seems it will not do FSK modulation (only ASK), so I'm back to trying to build some sort of reader. I don't have a Propeller board, but do have an Ardunio as well as a Bus Pirate.
Question is, can I pull off a simple reader with the Arduino like you did with the Propeller board, or are the hardware tricks you used unique to it? If duplicating your code on the Arduino isn't an option, have any suggestion how I can build a simple reader given my hardware?
Firstly thanks for your design, it was the bases of the diy fsk rfid reader another person posted on the arduino page. That design in turn formed the bases of my own arduino based reader, but i updated my circuitry and with my current code can decode psk,ask and fsk tags, the code is not yet optimised for all freqancies/x modulation, but it works with the tags i have. I also created a seperate code yet ( not yet merged into main set) that can decode animal rfid tag.
I did a writeup on my site. www.gizmolab.co.za under the arduino project section.
Hello Scanlime,
I see that your reader reads FSK tags. Do you think a reader for ASK, FSK and PSK can be designed? I want to design a reader using EM4095. But the IC only supports ASK and FSK(internal PLL).
Comments
Sorry for the very late response.. guess I didn't have this thread set to email me :-/
I'm really glad to hear the reader object works well for you! My prototype is still installed at my house as a garage door opener, and it's still working great too [noparse]:)[/noparse]
I do think you could modify an ATtiny to act as a sensor. The feasibility would depend on the protocol you're using, and how much 'sensing' you can do on so little power. The amount of processing you can do depends on the ratio of carrier frequency to bit period. On the simple EM4102 tags, I think you get 32 clock cycles per bit. That's definitely enough to get some useful work done. I don't think you'd have enough power to passively run an A/D converter, but you might be able to successfully run a simple digital sensor, or perhaps take timing measurements from some sensor that would generate a pulse output. (For example, RCTIME-style measurement of a variable resistor position) The main constraint there is that your timing resolution is limited to the carrier frequency, since that's where your system clock comes from.
Good luck!
--Micah
What we have here is two coils, a transformer. Albeit loosely coupled.
The primary coil of this transformer is in a resonant circuit and is delivering power to the secondary. The secondary presents a load. Clearly if that load in the secondary varies the Q of the entire circuit changes thus varying the voltage achieved in resonant primary circuit.
The power that makes its way to the secondary is used to drive the logic that modulates the load with the required data. Which can be read by observing the changes in the amplitude in the resonant primary.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
-Phil
What I'm trying to do is reuse a HID Prox fob I have by being able to replicate it and install a reader in my house, so I need both the ability to read it and write a new one. I grabbed an Atmel U2270B thinking I could do the reading with it, but it seems it will not do FSK modulation (only ASK), so I'm back to trying to build some sort of reader. I don't have a Propeller board, but do have an Ardunio as well as a Bus Pirate.
Question is, can I pull off a simple reader with the Arduino like you did with the Propeller board, or are the hardware tricks you used unique to it? If duplicating your code on the Arduino isn't an option, have any suggestion how I can build a simple reader given my hardware?
Thanks!
Edit: Looks like I just answered my own question (courtesy of Paul): http://playground.arduino.cc/Main/DIYRFIDReader
I was wondering if anyone has used this RFID tag reader? I've given it a go, but no luck yet. Any advice on tuning the coil?
Thanks, Dave
I did a writeup on my site. www.gizmolab.co.za under the arduino project section.
I see that your reader reads FSK tags. Do you think a reader for ASK, FSK and PSK can be designed? I want to design a reader using EM4095. But the IC only supports ASK and FSK(internal PLL).
Thanks