The Physical Keygen post got reactions, but there was a common claim among many of them that it was just a gimmick because there are more practical ways of getting past basic Schlage and Kwikset pin tumbler locks. I agree with that, and I’ll also admit that a fair number of my projects are gimmicks, or as a stretch, art. Schuyler Towne of Open Locksport saw past the gimmick (or art) and into the possibility of printing keys for more interesting locks.
He stopped by recently with a collection of said locks, and over the period of a few hours we determined that keys for disc detainer locks were printable and created a nearly working ABUS Plus key. He left me a cutaway lock, and over the next week, I refined the model to the point of working straight off of the printer. Despite being a higher security lock than the SC1 or KW1 pin tumblers I was working with before, the key is much easier to print accurately. The OpenSCAD model is linked below, and like the last files, you simply edit the last line to match the code for your key.
The ABUS Plus and other disc detainer locks are much more common in Europe than the US, but we do have a pretty ubiquitous example around here. After the Bic Pen debacle in 2004, Kryptonite switched their bicycle U-locks from tubular to disc detainer. I designed a model off of the key from the Kryptonite Evolution I have, but as of yet, I have not successfully opened the lock with it. The key is smaller and thinner than the ABUS Plus, causing it to flex too much to effectively turn the last few discs. I’ve posted the file anyway, in case someone has stronger plastic or an idea to strengthen the model.
Edit: The Kryptonite key works. I tightened my X and Y belts and printed it a bit slower. Apparently some of the blobbing on the corners before was catching on disks.
Download:
abus_plus.scad
kryptonite.scad
Hi,
Excellent! I’ve printed a small part to decode my key and created a new one thanks to your work 🙂
Hey i have problems with the kryptonite.scad file.
There are 6 digits on my code card.
I switched from 5 to 6 in line 42.
But now the other side doesn’t match with the code anymore…
What else do I have to change?