Close

Human Interface

A project log for Driverless Mouse and Keyboard Sharing

Instantly share mouse and keyboard across computers on any platform.

frankstripodfrankstripod 07/15/2015 at 02:540 Comments

I finished the front panel design just in time for the Show Us Your Human Interface; Win Laser Cutting Time contest. Here is a peek.

Three function Skull button light design

The button will be made of semi-transparent NinjaFlex with a yellow LED back light. I already know someone who might print it for me. The two eyes are Lumex 2mm thru-hole red LEDs, Digi-Key 67-1197-ND. Beware, the part numbers are confusing:
http://www.digikey.com/product-detail/en/SSL-LX203CIT/67-1197-ND/144607
http://www.digikey.com/product-detail/en/SSL-LX203CSRT/67-1200-ND/144616
http://www.lumex.com/content/files/ProductAttachment/SSL-LX203CSOT.pdf
http://www.lumex.com/ssl-lx203csot

Last night I learned OpenSCAD!

Criticism is welcome on my first OpenSCAD code at the end of this log. Everything should be to scale. The button will be printed with a base that slides into a tube, for a push button switch behind it. I may recess the eyes for effect.

Dimensions: 19mm wide. 17mm high. Base and skull height are adjustable.

Extra Ports

I added extra USB ports to the front panel, because I always use more than one mouse, and will be swapping other devices. The four bottom unswitched connectors will be USB 3.0, provide direct access to each computer, and have two amps of power each, for charging or powering multiple projects.

Dimensions: 70mm x 150mm x 200mm.

Skull Button Light:

UPDATE: Beware; I did not get these to work yet.

base = 10; //Height of Base.
hi = 7; //Height of Skull.
//Base
cylinder(h = base, r=9.5, $fn = 360);
//Head
difference() {
    translate([0, 0, base])
        cylinder(h = hi, r=4, $fn = 360);
    translate([-1.8, 0, base-1])
        cylinder(h = hi+2, r=1, $fn = 360);
    translate([1.8, 0, base-1])
        cylinder(h = hi+2, r=1, $fn = 360);
}
translate([-1.7, -4, base])
    cylinder(h = hi, r=.8, $fn = 360);
translate([0, -4, base])
    cylinder(h = hi, r=.8, $fn = 360);
translate([1.7, -4, base])
    cylinder(h = hi, r=.8, $fn = 360);
//Wrenches
module wrench() {
    translate([-3.5, 1.5, base])
        rotate([0, 0, 45])
            cube([2, 3, hi], hcenter = true);
    translate([-5.5, 5, base])
    difference() {
        cylinder(h = hi, r=2, $fn = 360);
        translate([-.75, -.75, -1])
            rotate([0, 0, 45])
                cube([2, 3, hi+2]);
    }
}
wrench();
mirror([1, 0, 0]) wrench();
mirror([0, 1, 0]) {
    wrench();
    mirror([1, 0, 0]) wrench();
}
//2mmLEDs Don't print these
translate([-1.8, 0, base+hi]) {
    color("red") {
        sphere(1, $fn=100);
        translate([3.6, 0, 0])
            sphere(1, $fn=100);
    }
}
This looks interesting also: www.openjscad.org Thanks @charliex

Discussions