3D printed cover for the uConsole

I just finished the design of a cover for the uConsole. The STL file is posted on the Discord 3d-printing channel. Seems to work well. I did the design in OpenScad, will share that file if anyone wants to make adjustments to it.

It is just under 8 hour print with my settings and doesn’t need supports.

13 Likes

Nice! This is the exact kind of thing i was hoping someone would make. I have always been a fan of the clip-on style hard covers like the TI calculators use and this would be perfect for protecting the uConsole while in my backpack.

1 Like

Someone else made a cover for the DevTerm, that works well. I wanted one for the uConsole and finally managed to get it together.

1 Like

It would be awesome if you could post the OpenSCAD source files! Since someone brought up TI calculators: does it have a mechanism to clip to the back when device is in use?

I have the Ops Shield for the DevTerm - love it - it fits more like an early cell phone case - protects the fragile edges from getting broke should you drop it - it has lanyard tie points as well - 3d printing is a hobbyist dream! I used to make things out of cardboard and fiberglass resin … I still do!

1 Like

Here is the OpenScad file to generate the cover. It really isn’t that big of a file.

https://zjunk.net/uConsoleCoverV2.scad

For those that haven’t used OpenScad, it is free and works on many different machines.

Here is the STL file

https://zjunk.net/uConsoleCoverV2.stl

3 Likes

Cool, thanks a lot! Nice and compact code actually.
I will just quickly copy-paste it down here so it may be more convenient to grab for other users:

// uConsole cover version 1.0
// Created by Mark Bauer 
// Use this file how ever you wish.
// If you decide to sell the product and feel guilty about it, don't feel guilty.
// you might give me credit for it though.
// If you make a gazillion dollars from it, you can give me a cut.
//  BTC address  16WFNyEKCfNnZvQWu2NTqdcMGwUQV6tvSn

// changes 7/20/23  changed the radius of the corners a bit.

module roundedBoxBev(x,y,hz,r,bv){
  // this is a generic brick with rounded corners. 
  // bv is a bevel on the bottom side only.
  // you use the difference() function with another box to hollow it out.
  up = bv;
  difference(){
    union(){
      translate([r,0,0])cube([x-(2*r),y,hz]);
      translate([0,r,0])cube([x,y-(2*r),hz]);
      translate([r,r,up])cylinder(r=r,h=hz-up,$fn=64);
      translate([x-r,r,up])cylinder(r=r,h=hz-up,$fn=64);
      translate([r,y-r,up])cylinder(r=r,h=hz-up,$fn=64);
      translate([x-r,y-r,up])cylinder(r=r,h=hz-up,$fn=64);
        
      translate([r,r,0])cylinder(r1=r-up,r2=r,h=up,$fn=64);
      translate([x-r,r,0])cylinder(r1=r-up,r2=r,h=up,$fn=64);
      translate([r,y-r,0])cylinder(r1=r-up,r2=r,h=up,$fn=64);
      translate([x-r,y-r,0])cylinder(r1=r-up,r2=r,h=up,$fn=64);
    }
    translate([x/2,0,bv-1.4142*2])rotate([45,0,0])cube([x,4,4],center=true);
    translate([x/2,y,bv-1.4142*2])rotate([45,0,0])cube([x,4,4],center=true);
    translate([0,y/2,bv-1.4142*2])rotate([0,45,0])cube([4,y,4],center=true);
    translate([x,y/2,bv-1.4142*2])rotate([0,45,0])cube([4,y,4],center=true);
  }
}

module cover(){
  difference(){
    union(){  
      roundedBoxBev(136,179,3.0,8,1.0);    
      translate([0,179,3+6])rotate([180,0,0])roundedBoxBev(136,179,6.0,8,3.0);
    }
    translate([2,2,-0.001])rotate([0,0,0])roundedBoxBev(132,175,3.0,6,0.0);
    translate([4,4,-0.001])rotate([0,0,0])roundedBoxBev(128,171,7.0,1,0.0);
  }

  // part at the top
  translate([(136/2)-50,179-2,-3])union(){
    cube([100,2,5]);   
    translate([0,0,0.0])rotate([0,90,0])cylinder(h=100,r=2,$fn=32);
    translate([0,0,-0.9])rotate([45,0,0])cube([100,2.5,2.5]);
    translate([0,0,0])sphere(r=2,$fn=32);
    translate([100,0,0])sphere(r=2,$fn=32);
    }

  // foot
  translate([(136/2)-50,0,-17.7]){
    cube([100,2,20.5]);   
    translate([0,2,0.2])rotate([0,90,0])cylinder(h=100,r=2,$fn=32);
    translate([0,2,-0.6])rotate([45,0,0])cube([100,2.5,2.5]);
    translate([0,2,0.2])sphere(r=2,$fn=32);
    translate([100,2,0.2])sphere(r=2,$fn=32);

    }  
}

// intersection(){
   cover();  
//   translate([60,-7,-25])cube([5,20,50]);
// }
// test1();     // just used to test how things fit before I print the whole thing.
4 Likes

Someone sell me a black one please i will review it and give full credits :slight_smile:

Are you in the us?

Extra characters…

Hi i am from the UK jutleys you can search us RGHANDHELDS

ahhh, that’s too far to ship. :rofl:

Hopefully someone in uk with a 3d printer can do it soon.

If you do print the cover I designed, let me know how it worked. If you made changes to the OpenScad file, I would like to see images of that also. Fun to see what people do with this stuff.

3 Likes

Printing now. Mine have holes :slight_smile:

2 Likes

Added this to the Code:

module pattern() {
    translate([10,10,0]){
        for(y=[0:10:179-20]){
            for(x=[0:10:136-20]){
                translate([x,y,0]){
              cube([5,5,10]);
                }
            }
        }
    }
}  

// intersection(){
   difference(){
   cover();
    pattern();  
   }
1 Like

At first I was like how did that happen. That is neat, send a photo of it when done. Thought about adding optional pieces on the side to cover the ports.

Just printed mine. Fits perfectly, and done slightly over 7 hours.

Nice work @markatlnk!

4 Likes


Done. Maybe some organic support for the bevel and a brim against warping :thinking:

7 Likes

I kept the overhang angles at about 45, mine came out nice. Just used PLA. It gives me ideas for other hole patterns. Maybe a hex grid.

Sure, you can make anything here. not only cubes. Go wild! :-))