Cassius, when I do editable the the cloner, in my case, only leaves one object then put the rest as instances. Weird. Then if I apply it as you said, the Plain effector transition see the whole cloner as one huge block, then it does not animate one by one the objects.
I used a relatively sophisticated piece of electronics to clone aVerichip. This made things trivially easy. Even though I had never seen aVerichip before in my life, I just had to write a hundred lines of code;but because I used my proxmarkii, I've heard claims that it is impossibleto talk to a Verichip without expensive equipment.
I therefore wanted an inexpensive cloner, with decent read range anda simple user interface. It should be easy to build, and it shouldnot require a PC to operate. This will make it easy for anyone to clonea Verichip themself, without spending a lot of money. It's also a neatdemonstration of just how much a low-end microcontroller's peripheralscan be twisted to do.
This device can read and replay a Verichip's ID. If you can get theantenna close to your victim's shoulder, then your circuit boardis electrically indistinguishable from their implanted chip foreverafter. Full schematics and documentation are given below.
A similar technique might be used to make an `American soldier detector'.There you would not necessarily be looking to get the ID off the Verichip,whose read range is much too short for that to be practical, butjust to detect its presence. This is an easier problem, similar to thetheory of operation of anti-shoplifting tags. (In normal operation, energycouples into the Verichip's antenna, and powers some electronics inside thetag. These electronics transmit the tag's ID to the reader. The readernormally looks for that returned signal. Instead, wecould just look for the antenna resonance. This greatly increases the`detect range', since there's no longer any need to power up the tag's electronics.)
I would not expect any purchasing issues; the parts that I chose are verycommon and available.The bill of materials lists Digikey partnumbers for everything, in addition to manufacturer part numbers and partvalues for the passives (resistors, capacitors). Alkaline AAA cells arebest; with moderate use, these should last for a very long time.
It is possible to build this circuit by soldering wires from point topoint. I don't recommend it, unless your time is worth nothing; printedcircuit boards were invented for a reason. I have board artwork availablefor download. I bought my boards from MyroPCB, but the design rules areextremely loose (12/12 thou); you could even use one of those terribleiron-on methods, and do it yourself in your kitchen. If you don't needsilkscreen and soldermask (the white lettering that tells you where theparts go, and the green stuff that stops traces from shorting to eachother when you glob solder on them), then PCBExpress can get you twoboards for sixty dollars, which isn't terrible. This price is almost allsetup fees, though. From Myro, the per-unit cost is around fifty cents,in large volume.
I recommend that you socket the PIC, just to make it easier to ruleout a bad micro if you have to debug. If you are using in-circuitprogramming, though, then there is no absolute need to. I recommendthat you use an in-circuit programmer, like you can buy fromOlimex and many others. This permitsyou to update the code on your PIC without removing it from the printedcircuit board; the programmer connects to SV2, and can reach in andreprogram things from there.
If you don't buy the thermal-stripping (i.e.,the solder melts the insulation right off) kind of wire then it will be apain to make the connections. Try removing the insulation with sandpaper,or scraping it with a knife. A sharp knife works best for me.
If you want to get good read range, then you will have to tune yourantenna. You can do this with only a digital voltmeter, though. Once youhave assembled your device, install the batteries, connect the antenna,and press the white button. This will energize the antenna; you canmeasure the amplitude of the sinusoidal carrier being transmitted bymeasuring the DC voltage from the cathode of D1 to ground. This shouldbe at least eight volts or so, before you start tuning, more if you'relucky. Remove a turn from the antenna coil. Straighten out the wire andkeep it as far away from the antenna as you can. Watch that voltage as youdo so; it should go up, at a rate on the order of a volt per turn. If itgoes down then you've wound too few turns. In that case you must startover, and wind more turns this time (or splice a bit more wire on, butthat is ugly).
As you remove turns, the antenna voltage will start to increase muchfaster, and then start to decrease. Add turns until you reach themaximum again. At that point you have tuned the antenna to resonate atour transmitted carrier frequency. (By the way, there's no electricalreason to tune by slowly removing turns instead of by slowly addingthem. It's just that it's easier to start with a long piece of wire andcut it shorter than to start with a short one and stretch it.) With therecommended ferrite and wire gauge, you can expect at least 80 V from thecathode of D1 to ground when the unit is properly tuned. Be careful notto tune your unit up too well. It's not easy, but with the proper ferrite(Material 61), you can get the voltage at the cathode of D1 above130 V. At that point D2 will clamp the voltage across the tuning cap,neatly removing the modulation that contains the signal that youwere looking for...
The printed circuit board is exactly the size of the 3 AAA batteries.It is designed to be mounted on top of the plastic battery case,and I did so using electronics grade noncorrosive silicone (GE 162).Hot glue or epoxy (or nothing; the soldered leads hold it fairly well)would be fine, though. It's important to deflux the boardbefore sealing it up; clean it thoroughly with flux remover (typicallysome nasty chlorinated hydrocarbon), or failing that with alcohol. Thiscircuit has high-impedance nodes very close to hundred-volt carriers, soit's important to get rid of any leakage paths along the board. No-cleanflux is probably asking for trouble here.
Note the ugly rework in the pictures shown above. I made some mistakesin the rev 1 board artwork, as described below, and I have not yet paidto get new boards manufactured. I just flywired the changes (add ceramicresonator U1, add Zener diode D2) as best I could.
I had originally intended to use the PIC with an ER (external resistor)oscillator. It's okay for the clock frequency to drift within a fewpercent, since the tag always synchronizes itself off the reader'sclock. It therefore seems like there's no reason to spend money on acrystal. This turns out not to be true, though. The phase noise of theER oscillator is terrible. I 'scoped the CLKOUT pin, with the oscillatorrunning at 10 MHz (so CLKOUT is around 10/4 = 2.5 MHz), and triggeredoff an edge of that square wave. Using the delayed timebase, I lookedat an edge about 100 us after the trigger point; it jitters over morethan a period!
The frequency-selective antenna turns this phase noise into amplitudemodulation, which raises the noise floor to a hopeless level. I thereforecannot use the ER oscillator. The INTRC oscillator is somewhat better,but does not divide well to produce 134 kHz (125 kHz or 143 kHz, largeerror). This means that we need to use a crystal or a resonator; eitherwill give good enough phase noise, and a resonator's cheaper. I chosea 10 MHz ceramic resonator, for thirty-five cents.
The Verichip is designed to be read at 134 kHz, so we will divide ourinstruction clock by 19 to produce a 132 kHz carrier to transmit. Thisisn't quite right, but it will be close enough. When we are reading alegitimate Verichip (i.e., pretending to be a reader, to clone someone'simplant), the tag will derive its timing from the carrier that wetransmit. That means that it doesn't matter if we're a little bit off,because the tag will be off by that same amount. When we are being readby a legitimate reader (i.e., pretending to be a tag, to pretend to besomeone whose tag we've already cloned), we will derive our timing fromthe carrier that the reader transmits, which we measure through R9.
In `read' mode, we transmit the unmodulated carrier that powers thetag. This means that we need a high-power output buffer to drive theantenna. This is all very low-frequency, so a couple of general-purposetransistors (Q1, Q2) will do the job fine. They are configured as emitterfollowers here, to buffer the carrier output by the PIC's GPIO pin. TheGPIO pin can only source or sink +/- 20 mA; the transistors that we areusing are rated for 200 mA, although we won't run them quite that high.
The information-bearing signal returned from the tag appears in thevoltage across C1, but we first have to separate it out from the carrierthat we are using to power the tag. We do this with a peak detector,followed by a passive filter (D1, C3-5, R5-8). This produces a signal thatwe interpret using the PIC's comparator. I do this in a somewhat uglyway. The signal from the antenna is AC-coupled so that it has a mean ofzero volts (with respect to ground). I apply this to one input of thePIC's comparator; the other input of that comparator goes to ground,through the VREF module.
This means that I am applying an input voltage below Vss to the PIC,which is outside the recommended operation conditions. It works very well,though. The only problem is if the signal from the tag gets very strong,because the protection diodes will clamp it asymmetrically about ground,and move the decision point. It's difficult to couple to the tag'santenna well enough for this to be a problem, so I'm not very worried.
Since I don't know very much about the structure of the tag's ID, it'sdifficult for me to come up with a good metric to determine whether I'veread a valid ID. There is presumably a CRC or something, but I haven'tbothered trying to figure it out; I have only a very small number oftags to test against, so it would be difficult for me to test any theorythat I might come up with. Instead I just read the ID several times,and verify that it is the same each time. The current firmware reads theID once, and then checks it three times. This is a parameter that youcan play with; more verifications gives increased confidence in the ID,but also makes it more likely that we will reject a valid read.
795a8134c1