Logitech Ball Camera Tripod Adapter

The Logitech notebook webcam that peers into the Thing-O-Matic has terrible dynamic range compensation; turning on the LED ring light washes out the image something awful. An old Logitech ball camera seems better, but it sits atop a rubbery dingus adapted to grip huge old laptops. So I built an adapter with a standard 1/4-20 tripod screw thread in the bottom that ought to make it more useful.

The old & new mounts compared:

Logitech ball camera mounts
Logitech ball camera mounts

The color change comes from switching to yellow filament for an upcoming larger object.

The solid model shows those tiny little notches will require a bit of riffler file work:

Logitech camera tripod adapter - solid model
Logitech camera tripod adapter - solid model

The bottom has a blind 1/4-20 tapped hole. Lacking a bottoming tap, not having any broken 1/4-20 taps, and being unwilling to grind the end off a perfectly good taper tap, I filed three notches along a bolt. Ran the taper tap in until it hit bottom, ran the bolt in likewise, and defined the result to be Good Enough:

Homebrew bottoming tap
Homebrew bottoming tap

On the other end, the most probable failure will leave that delicate little post jammed firmly inside the camera’s socket. There’s not enough post to allow printing a small guide hole, but there’s no real need for one; I drilled a #50 hole right down the middle, ran a 2-56 screw into it without tapping the hole, and filed the screw head flat:

Camera mount with filed screw
Camera mount with filed screw

After cleaning up those notches, it snapped solidly into place:

Logitech ball camera with mount
Logitech ball camera with mount

And then the camera sits neatly atop a cheap Gorillapod knockoff:

Logitech ball camera on tripod
Logitech ball camera on tripod

That tiny reddish dot in the middle of the imposing set of rings marks the actual lens, so it’s more of a pinhole camera than anything else. The fixed focus kicks in beyond a meter, but a bit of rummaging in the Box o’ Lenses produced a random meniscus lens that pulled the focus in to maybe 100 mm. Alas, that means the camera must float in mid-air about 15 mm inside the Thing-O-Matic’s box. If I can conjure up a mount that holds the ball inside the box, above-and-forward of the stage, that’d work great. VLC can allegedly rotate the image upside-down, so maybe I can mount it bottom-up.

Here’s everything I know about those two cameras, with the ball camera on top and the webcam on the bottom:

Logitech ball and notebook webcam data
Logitech ball and notebook webcam data

Apparently it’s easier to put that information on a tag than provide a good old data plate on the camera body.

The OpenSCAD source code:

// Tripod mount for Logitech ball camera
// Ed Nisley KE4ZNU - Oct 2011

include </home/ed/Thing-O-Matic/lib/MCAD/units.scad>
include </home/ed/Thing-O-Matic/Useful Sizes.scad>
include </home/ed/Thing-O-Matic/lib/visibone_colors.scad>

//- Extrusion parameters must match reality!
//  Print with +0 shells and 3 solid layers

ThreadThick = 0.33;
ThreadWidth = 2.0 * ThreadThick;

HoleFinagle = 0.2;
HoleFudge = 1.02;

function HoleAdjust(Diameter) = HoleFudge*Diameter + HoleFinagle;

function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);

Protrusion = 0.1;			// make holes end cleanly

// Dimensions

BallDia = 60.0;				// camera ball
BallRad = BallDia/2;

BaseDia = 16.0;				// interface at tripod surface
BaseRad = BaseDia/2;

BaseLength = 10.0;			// to base of ball

BoltDia = Tap025_20;		// standard 1/4-20 thread
BoltLength = 7.0;

StemLength = 8.5;
StemDia = 4.7;
StemRad = StemDia/2;

FlangeWidth = 6.6;
FlangeThick = 2.6;

NotchSectionDia = 1.4;		// toroid cross-section diameter
NotchSectionRad = NotchSectionDia/2;
NotchOffset = 2.3;			// from top of stem


module PolyCyl(Dia,Height,ForceSides=0) {			// based on nophead's polyholes

  Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);

  FixDia = Dia / cos(180/Sides);


module ShowPegGrid(Space = 10.0,Size = 1.0) {

  Range = floor(50 / Space);

	for (x=[-Range:Range])
	  for (y=[-Range:Range])




  union() {
	difference() {
	  translate([0,0,-(BaseLength + Protrusion)])
		PolyCyl(BoltDia,(BoltLength + Protrusion));
	difference() {
	  translate([0,0,(StemLength - NotchOffset)])
	  translate([0,-FlangeWidth/2,StemLength + sqrt(FlangeWidth)])
		  cube(FlangeWidth + 2*Protrusion);
	  translate([0,FlangeWidth/2,StemLength + sqrt(FlangeWidth)])
		  cube(FlangeWidth + 2*Protrusion);

5 thoughts on “Logitech Ball Camera Tripod Adapter

  1. Ed,

    Question to you.

    A beginner electronic question for guidance. Would I be able to use a single 555 and resistors and capacitors and LEDs to have a five minute timer with a feature of 5 LEDs – one to turn off at each minute increment down to the last LED off at 5 minutes? The desired operation would be to push a single button which would light along with 4 other LEDs. This starts a 5 minute cycle. Then at one minute one LED turns off. At two minutes another LED turns off and so on until the circuit turns off with the initial button light.

    Or do you have a source other than Google it?

    Regards, Brian Stott – Pittsburgh.

  2. Or I guess what I may be asking is:

    Will a series or parallel capacitor array run down in a determined sequence? Then I could associate single 3mm LEDs with each capacitor in the array. The circuit would stay energized while the individual capacitors discharged and the LEDs sequentially turned off. When all the stored energy was used the circuit would turn off? I’m trying to have a slick 5 minute timed small parts washer with visual indicators …. Please Ed – I expect you to say – mcu but, I’d like to work a 555. Note: I’ve finished a nice 555 white & blue LED dimmer circuit for my bot. Just need to make an ABP (gasp!) belt and install all. Brian.

    1. associate single 3mm LEDs with each capacitor in the array.

      Not clear how this would work, because you really can’t use a capacitor for timing (depending on an RC time constant with all the current passing through the resistor) while simultaneously drawing (massive) current for an LED (current being an exponential function of the voltage).

      In any event, you want the LEDs to switch off cleanly, which means you must drive them with a digital switch of some sort. You could use five separate 555 timers, each set to a separate timeout, which adds up to a handful of fussy parts.

      Or you could use a parallel-output shift register initialized to all 0 bits with 1 bits shifted in. The 555 produces one clock pulse every minute, which shifts in a 1 bit, which turns off the next LED in sequence. You might need a buffer (which may invert the bits) to handle enough current to drive the LEDs, though, because most CMOS shift registers aren’t good for 20 mA on all outputs at once.

      Or, yeah, just stuff a dab of code into a microcontroller with LED-driver outputs and be done with it… [grin]

    2. Yeah, I agree with Ed, if you want any sort of decent behavior and repeatability, you’re going to need more/other than just a 555 and some passive components. One approach would be to have a 555 run a motor, pump, or relay, and have a cam/float/screw arrangement to run your indicators. This is one of the things that was actually easier in the old days. You could do some tricks with neon lamps and capacitors that just won’t work with LEDs. Alternatively, have your 555 drive a counter chip or two – running a 555 with a 1 second cycle and dividing it will generally work better than a 1 minute cycle.

Comments are closed.