by Spindoctor, published

Lockholder by Spindoctor Apr 28, 2013


Prevents your u-lock from being stolen while you are riding

Update: Check out the customizable version

A mount for u-locks on bikes. Provides a lot of settings to fit on your bike and lock.
Contains OpenSCAD-files to manipulate the model.

If you print it I would be very happy to see some pictures!

The idea to this model is based on this instructable
Shoutouts to
Uniq for helping me printing and providing the printer
Emi for these artistic fotos
Metalab for being such a cool hackerspace ;-)

More from Sport & Outdoors

view more


Liked By

view all


Lockholder by Spindoctor is licensed under the Creative Commons - Attribution license.

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag


[2013-05-12] UPDATE
I rounded the edges where the lock slides through. This should make it easier to mount and remove the lock.
The downside is, that rendering now takes significantly longer.
The version with sharp edges is in lockholder_fast_and_easy(v_1_0).scad, the new version is in lockholder.scad.

What you need

  • A bike and a u-lock (well, that's obvious)
  • A 3D-Printer (probably you wouldn't be here otherwise)
  • 8 equal screws (should be a bit longer than twice the thickness of your print - I would recommend 1 - 2 cm)
  • 8 equal nuts fitting on your screws
    How to build it
    1. Download the model (especially lockholder.scad and makeLockholder.scad). The *.stl files are based on my bike. You probably won't need them as it is unlikely that your bike and lock has the same dimensions as mine.
    2. Measuring
      • Measure the diameter of your bike's top tube (or another round tube where you want to mount the lock
      • Measure the diameter of your u-lock. As you will later slide the u-lock through the holder, measure the thickest area of the u-part of the lock.
      • Measure the diameter of your nuts (if you were laughing now, please grow up). Measure the flat size (look here: Wikipedia: Nut, measure A/F)
      • Measure the diameter of your screw's thread
    3. Now start OpenSCAD. Edit the file makeLockholder.scad (Instead you could also open a new file and import the lockholder functions with include </path/to/lockholder.scad>;). The previous version of the lockholder has sharper edges (which maybe makes sliding the lock inside slightly more difficult) but renders much faster. If you prefer this version, use include </path/to/lockholder_fast_and_easyv_1_0.scad>; instead.
    4. Use one of the functions lockHolderSet() or completeLockHolderSet() first. Insert your measures from above. Depending on your printer you should add a bit of spacing to some of the settings, as otherwise some holes might be to tight. I added 0.5 mm to diameterTopTube and 1 mm to diameterLock, nutSizeOuter and nutSizeInner. It depends on your printer if you would like to add a bit more or less.
    5. For most situations it's a good idea to print all parts seperately (besides other advantages you can abort misprints easier like this). To do so, first print a bottom part, than a top part and if it fits repeat. Therefore if the output in OpenSCAD looks alright, now replace the function you used with bottomPart. Leave the parameters as they are. After printing the first bottom part, replace the function with topPart.
    6. Compile and render the model (F6-button), and export to a format you can further process for printing.
    7. Print it (you are on your own with this step)
    8. To mount the printed parts, use the screws and nuts. The offset between the two lockholders can be determined easiest when you fix one lockholder on your bike and slide the lock through it.

      Description for lockholder.scad
      Four main modules are provided

      • topPart() Top part of the lockholder
      • bottomPart() Bottom part of the lockholder
      • lockHolderSet() A set of 1 top part and 1 bottom part
      • completeLockHolderSet() A set of 2 top parts and 2 bottom parts
        Each of these functions takes all of these parameters
  • diameterTopTube The diameter of your bike's top tube (or any other tube on which you want to mount the lockholder)
  • lengthLock Length of the tube where you put the lock through. The longer the less vibrations while riding. On the other hand, if the the tube gets too long it might be clumsy
  • diameterLock Diameter of the lock (this will be the inner diameter of the part that holds the lock)
  • nutSizeOuter The outer diameter of your hexagonal screw nut A/F here
  • nutSizeInner Diameter of your screw thread
  • thickness Material thickness
  • offset Offset between upper and lower part of the lockholder. The bigger this value is, the tighter you can screw the lockholder on your bike. However, if offset is getting too big, the material might break while fastening the screw. Normally the lockholders arc would bend down a bit anyway while printing. In this case you can relax and set this value to zero. Otherwise you might want to set it to 1 or 2 mm. If you don't understand the purpose of this variable, try setting it to a large fraction of diameterTopTube and check the result - then you will probably understand it.
  • screwOffsetShare This value allows to master the thickness of the screwholes as a share of <thickness>. At 1, there is no difference to normal thickness, at 0 there is no material to fix the screw. To be on the save side this should be 1 or not too much lower than 1.