This will be useful for all you MZ3 owners out there, I pulled this from another forum:
"As you may know, the Mazda3 has a built in security system that utilizes a key with an embedded transponder chip that is read by the car's ECU when you start the car. The ECU is programmed to accept only certain transponder codes. If a key's transponder is not registered with the ECU it will not allow the car to be started.
This is a system that Ford has developed and has so far proven very effective at reducing auto theft, while there is nothing that will prevent a determined, prepared car thief from stealing a car system like this make it nearly impossible to start a car by hot wiring or breaking the ignition.
Mazda North American Operations seems to think that their customers are complete idiots and are incapable of wiping their own nose. They don't include instructions in the owners manual for programming additional keys yourself, instead they instruct you to go to your dealer to have new keys made & programmed. As some forum members have experienced some dealers have wanted over $100 to make & program new keys.
Luckily my last car was a Ford Focus with the same transponder key system, Ford I guess has a slightly better opinion of their customers so they provide instructions for key programming in the owners manual (which I retained in PDF format). I decided to take the risk and attempt to use the Focus key programming instructions to program new keys for the 3.
First I needed a compatible transponder key blank cut physically to match my car's ignition & door locks. My local locksmith doesn't carry the blanks so I had to go to the dealer. The guy at the parts desk warned me that they needed to be programmed but when I told him I was going to program it myself he was like "ok". 5 minutes and $23.38 later I had a new key physically cut to match my existing keys. I tested the key in the ignition and verified that while it would turn the ignition cylinder it would not engage the starter, it also unlocked & locked the drivers door so I know it's cut correctly.
Now to program the transponder, I have the Focus manual page in hand, here is the basic how-to.
1. 2 pre-programmed transponder keys.
2. 1 new transponder key
The timing is critical to this procedure, please read through the entire procedure before attempting.
1. Insert one of the pre-programmed transponder keys and turn the ignition to "on", leave on for at least one second (I wait until the red key symbol in the instrument cluster extinguishes), remove the key from the ignition.
2. Within 5 seconds insert the second pre-programmed key and urn the ignition to "on" for at least one second but no more than 5 seconds (use the key symbol for this as well) then remove the second key.
3. within 10 seconds insert the new key in the ignition and turn the ignition to "on", if you are successful the red key symbol will illuminate then extinguish after about a second.
If you are not successful the red key symbol will flash repeatedly to indicate that you have inserted an invalid key. Remove the key, wait a minute and try it again, it took me a few times to get it perfect and I had done it before.
To see the applicable pages from the Focus owners manual see
The new key cost me less than $25, the dealer even physically cut the new key for free.
I STRONGLY suggest that EVERYONE go out and get at least one spare key made & programmed for their 3. If you lose one of your two original keys and don't have a spare you won't be able to make any new keys (as you need to prorgammend keys to program more) and will need to go to the dealer and have them re-program the ECU. "