Advertisements

Archive for April 10th, 2012

Kindle Fire Power Button Protector

I finally broke down and bought a Kindle Fire last week, with the intent of having my accumulation of datasheets and manuals where I need them when I need them, and it works reasonably well. One ergonomic blunder: the power button stands just slightly proud of the edge:

Kindle Fire Power Button

Kindle Fire Power Button

That’s exactly where my little finger rests when I’m supporting the slab in my left hand. Past experience has also shown that any opening will admit dust that eventually accumulates behind the screen, so a small protector seemed in order:

Kindle Power Button Protector - solid model

Kindle Power Button Protector - solid model

Printed with zero added shells and 1.0 infill produced a solid block of plastic that required very little cleanup:

Kindle power button protector - as built

Kindle power button protector - as built

The zittage serves to improve the fit: the protector should require a bit of fingernail persuasion to remove.

It took two tries to get the Micro-B USB connector slab offset from the centerline just right, but eventually everything lined up correctly:

Kindle power button protector - in place

Kindle power button protector - in place

My pudgy finger squeezes into that opening just enough to turn the thing on and off, but pressing on the green plastic bar has no effect. There’s not enough plastic to allow chamfering the edge in the solid model, but a bit of riffler file action worked wonders on those sharp edges.

The OpenSCAD source code:

// Kindle Fire Power Button Protector
// Ed Nisley KE4ZNU April 2012

include </home/ed/Thing-O-Matic/lib/MCAD/boxes.scad>

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

ThreadThick = 0.25;
ThreadWidth = 2.0 * ThreadThick;

HoleWindage = 0.2;

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

Protrusion = 0.1;			// make holes end cleanly

//----------------------
//- Dimensions

PlugDia = 3.5;					// audio jack
PlugLength = 5.0;
PlugOffset = -10;

USBThick = 1.0;					// Micro-B USB jack
USBWidth = 6.8;
USBLength = 4.0;
USBOffset = -0.25;

ButtonDia = 5.2;				// power button
ButtonOffset = 10.0;

PlateWidth = 7.5;
PlateLength = 30.0;
PlateThick = 1.0;
PlateRadius = 2.0;

//----------------------
// Useful routines

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

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

  FixDia = Dia / cos(180/Sides);

  cylinder(r=(FixDia + HoleWindage)/2,
           h=Height,
	   $fn=Sides);
}

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

  Range = floor(50 / Space);

	for (x=[-Range:Range])
	  for (y=[-Range:Range])
		translate([x*Space,y*Space,Size/2])
		  %cube(Size,center=true);

}

//-------------------
// Component parts

//-------------------
// Build things...

ShowPegGrid();

union() {
  translate([PlugOffset,0,0])
	cylinder(r=PlugDia/2,h=(PlugLength + PlateThick),$fn=8);
  translate([0,USBOffset,(PlateThick + USBLength)/2])
	cube([USBWidth,USBThick,(PlateThick + USBLength)],center=true);
  difference() {
	translate([0,0,PlateThick/2])
	  roundedBox([PlateLength,PlateWidth,PlateThick],PlateRadius,true,$fn=4*4);
	translate([ButtonOffset,0,-Protrusion])
	  rotate(360/(2*8))
		PolyCyl(ButtonDia,(PlateThick + 2*Protrusion));
  }
}

I loves me my 3D printer…

Advertisements

,

4 Comments