You are currently browsing articles tagged thing.


UPDATE 6/20/12: Added Netfabb’ed versions.

This is a press-fit lamp shade for inexpensive 12V 9-LED T10 automotive lamps. I believe these are sometimes called “wedge lights,” and are used as turn signals or interior lights. (I got mine on ebay for $1.50 for two, shipping included.)

They’re made for 12V DC operation, which is convenient for reprappers, and they don’t really need to be fastened to the frame if you’re using solid core wire.

These things are quite bright, and the shade does a great job of keeping the light in one place and not in your eyes. They require about 225mm of 3mm filament each (about a nickel).

v1.0 – The original prints shade down, with no built-in support structure
v1.1 – Prints base down with extra support on the shade-to-base transition. (On left in photo printed in white.)
v1.2 – Prints shade down with simple built-in support structure. (On right in photo printed in white.)

[sc:pics folder=”things/T10LampShade” l=”T10Lamp-01.JPG” r=”T10Lamp-02.JPG”]
[sc:pic folder=”things/T10LampShade” l=”T10Lamp-03.JPG”]


  1. Print the part. (Check description above for which version to print.)
  2. Strip about 4mm of the ends of a wire (I use twisted pair from old network cable), and insert the bare wire into the holes on the side.
  3. Noting which side is positive, press the bulb into the slot and be sure the wires are pressed toward the back and are not shorted.
  4. Plug it into to a 12V and aim it somewhere interesting.

I created this with OpenSCAD and printed it with yellow 3mm PLA withh a 5mm nozzle on a self-sourced Prusa Mendel. I had to clean up the inside a bit, but other than that it seems to work just fine. Enjoy!

I need to clean up the OpenSCAD file a bit — it was a bit of a quick hack, because I just received the lamps today — but I’ll post it when I do.


[sc:pics folder=”things/T10LampShade” l=”v1.2_LampShade_display_large.jpg” r=”v1.1_LampShade_display_large.jpg”]
[sc:pic folder=”things/T10LampShade” l=”LampShade_display_large.jpg”]

[sc:license id=”20809″ ]


This is a parametric encoder wheel that allows you to set circumference, internal width, shoulder height/width, mounting hole diameter, number of timing holes, as well as several parameters for captive nuts, alignment/snap-together pins, bolt holes, and inset of those timing holes. Most of the renderings here are for a 608 bearing (for free rotation) and sized to fit another pinch bearing.

The wheel circumference (less shoulders) of the metric and SAE versions is slightly different, and the hole sizes/spacing is different depending upon what distance you want to measure between holes. The distances will be accurate at the surface of the wheel for these renderings.

[sc:pic folder=”things/EncoderWheel” l=”EncoderWheel.jpg”]


NEW UPDATES — please read below for important information abut which renderings are part of which version!

A note about resolution: The resolution of the renderings is defined by the circumference of the wheel (but not the shoulders) divided by the number of holes. So, if you’re using an optoisolator, you can either count rising edges or falling edges for this resolution. But, you can effectively double the resolution by counting both rising and falling edges. For example, use the 5mm resolution wheel and count both edges (e.g. using Bounce or a pin change interrupt) for 2.5mm resolution.

If you want to just print the stl models…

For most of the models shown, print one copy of the encoder wheel cap, and one of the encoder wheels. Onto an 8mm (or 5/16in) bolt, add a washer, the cap (flat side first), another washer or two, the 608 bearing, another washer, and then the nut. Slide the encoder wheel onto the 608 bearing, but not so far that it contacts the cap. If it’s loose (default 0.5mm play), then put a bit of tape around it.

The 2.5mm version was rendered using the latest v0.9 of this openSCAD file, and includes several of the new features, including captive nuts, bearing constraints, and pins you can use to join the parts together. I’ll update the others as I get these files tested.

If you want to tweak it for your own purposes…

Open the file and tweak the values of these variables in the “User-defined values” section.

General Encoder wheel parameters:

  • bearingSize – The dimensions of the bearing, if you’re using that to define the hole
  • encoderCircumference – The circumference at the *surface* of the wheel (subtract tire thickness, e.g.)
  • internalWidth – The internal width (e.g. tire width) of the wheel. This is the width of a pinch 608 by default
  • collarPlay – The amount of play to build into the internal width.
  • collarHeight – How high the shoulders/encoder extend out from the wheel
  • collarWidth – How thick the shoulders are
  • holeDiameter – The diameter of the mounting hole. This is the diameter of a 608 bearing by default.
  • holePlay – The amount of play built into the mounting hole.
  • timingHoles – The number of timing holes to render. (e.g. 100mm circumference / 5mm per hole = 20 holes)
  • timingHoleInset – How far the timing holes are inset from the edge of the shoulder

Captive Nut traps allow you to tighten the wheel onto a shaft or bearing.

  • nutCount – The number of captive nuts
  • nutDiameter – The distance across the nut, from flat to flat, default M3
  • nutThickness – The thickness of the nut, default M3
  • setScrewDiameter – The diameter of the set screw clearance hole, default M3

The constraint values can be used to add material to the bottom of the mounting hole that partially blocks the hole. This can be useful, for example, if you want to constrain a bearing in the hole.

  • constraintInset – How far the constraint estends toward the center of the mounting hole
  • constraintThickness – The thickness of the contstraining wall
  • capConstraintInset – How far the constraint estends toward the center of the mounting hole on the cap
  • capConstraintThickness – The thickness of the contstraining wall on the cap

Pins or holes allow the cap to be snapped, glued, or bolted to the encoder wheel.

  • pinCount – The total number of pins / pin holes to render evenly-spaced
  • pinLength – The length of the pins/holes
  • pinDiameter – The diameter of the pins/holes
  • useHolesInstead – If true, render bolt through-holes rather than pins and pin holes
  • mateHoleDiameter – Bolt holes are sized to match hardware, not physical properties.

These values define the cap

  • capDiameter – The diameter of the shoulder cap, defaulting to the outer diameter of the encoder
  • capWidth – The thickness of the shoulder cap, defaulting to the thickness of the slotted encoder shoulder
  • capStandoff – A surface rendered on the inside of the cap around the mounting hole
  • capStandoffWidth – The width of the stand-off surface
  • capHoleRotation – Rotation of cap holes (in order to avoid the nut traps)

Other miscellaneous Parameters

  • distanceApart – How far apart the object will be rendered.

Important Notes

I’ve printed it successfully (as pictured) using a 0.5mm nozzle Prusa Mendel down to about 1.6mm. The pins in v0.9 come out quite small, and two of the three default pins were usable once I drilled out the holes. I’m still a bit new at this, though, and I’m still tuning my print quality, so I’d be interested in hearing about anyone else’s experiences with printing these.


[sc:pics folder=”things/EncoderWheel” l=”EncoderWheel-cap_display_large.jpg” r=”EncoderWheel-8mm-5mm_display_large.jpg”]
[sc:pics folder=”things/EncoderWheel” l=”EncoderWheel-5mm_display_large.jpg” r=”EncoderWheel-4mm_display_large.jpg”]
[sc:pics folder=”things/EncoderWheel” l=”EncoderWheel-20mm_display_large.jpg” r=”EncoderWheel-2.5mm_display_large.jpg”]
[sc:pics folder=”things/EncoderWheel” l=”EncoderWheel-1mm_display_large.jpg” r=”EncoderWheel-1in_display_large.jpg”]
[sc:pics folder=”things/EncoderWheel” l=”EncoderWheel-10mm_display_large.jpg” r=”EncoderWheel-0.5in_display_large.jpg”]
[sc:pics folder=”things/EncoderWheel” l=”EncoderWheel-0.25in_display_large.jpg” r=”EncoderWheel-0.125in_display_large.jpg”]

[sc:license id=”20491″ ]

This is a project enclosure for the Velleman Metal Detector Kit, commonly available at Radio Shack.

[sc:pics folder=”things/MetalDetectorBox” l=”reprap-metal-detector-case-01.JPG” r=”reprap-metal-detector-case-02.JPG”]


Clip the PCB into the bottom of the case. (You may need to bend the corners out a bit, but it should snap right in.) The 9V battery fits below the circuit board. There are four little hooks around the perimeter that might print well if you send it off, but I haven’t had success with them on a reprap, so I just hold it together with tape.

Here’s a link the the Velleman kit this was made for:


[sc:pics folder=”things/MetalDetectorBox” l=”case_bottom_display_large.jpg” r=”case_top_display_large.jpg”]

case_bottom.stl 287.3 KB
case_top.stl 280.1 KB

[sc:license id=”18825″ ]
[sc:picstyle ]

This is a custom modular Beyblade launcher-compatible spinning top, designed by Jacob (7). He says, “It’s awesome!”

[sc:pics folder=”things/Beyblade” l=”beyblade.JPG” r=”m-heart_bey_blade_display_large.jpg”]


Use a 3M metric machine screw with washer through this, and then through one of the custom middle sections. Add a washer and a nut and tighten the two parts together. (If they’re loose, it won’t spin well — if at all.) Finally put a dab of hot glue into a tip, stick it onto the bottom of the screw, and let it rip!

For the square pattern, add some weight to the top by attaching screws and washers using the holes. The other design is supposed to be hearts, but it turned out looking more like a four-leaf clover.

These probably won’t be the highest performing tops you have, but you’ll be the only one who can say you made it yourself. And yes, I know the print quality is awful here — it was one of our first prints.


[sc:pics folder=”things/Beyblade” l=”beyblade_tip_display_large.jpg” r=”beyblade_topper_display_large.jpg”]
[sc:pics folder=”things/Beyblade” l=”beyblade_body_display_large.jpg” r=”m-heart_beyblade_display_large.jpg”]

[sc:license id=”18694″ ]