Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Enclosures / 3D Printing
  3. HDC1080 battery operated temp/humidity sensor with wall box

HDC1080 battery operated temp/humidity sensor with wall box

Scheduled Pinned Locked Moved Enclosures / 3D Printing
13 Posts 5 Posters 20.2k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MikeF
    wrote on last edited by
    #3

    I've used openSCAD a few times now, to print enclosures, including MySensors and RaspberryPi's (note to self: must publish these here / on Thingiverse), and I like the way you can precisely define shapes through its structured language.

    I recently came across an RPi case with rounded corners and edges, which was simply achieved by creating small spheres at each of the corners, and then producing a 'hull' around them:
    alt text
    alt text
    Here's some simple code which I used to create the above examples:

    // Rounded box example
    r = 2;
    box = [80, 40, 20];
    hull_build(box,r);
    
    //Utility module to make a solid box with rounded corners
    module hull_build(box,r){
        //spheres at the corners of a box and run hull over it
        x = box  - 2 * [r,r,r];
        difference(){
        hull(){
            for (i=[0:1]){
                for (j=[0:1]) {
                    for (k=[0:1]){
                            translate([i*x[0],j*x[1],k*x[2]]+[r,r,r]) //move up r because we moved box up
                                sphere(r);
                                }            
                            }   
                        }  
                  }   
             }  
    }
    
    dbemowskD 1 Reply Last reply
    0
    • YveauxY Yveaux

      @dbemowsk Very well done, especially if this is your first openScad project! :clap:
      I just started with openScad, but it's clear to me that the possibilities and flexibility are endless.
      And ofcourse I'd like to see the openscad code ;-)

      Which part of your design did you try to bevel from openscad? Maybe I can help.

      dbemowskD Offline
      dbemowskD Offline
      dbemowsk
      wrote on last edited by
      #4

      @Yveaux said in HDC1080 battery operated temp/humidity sensor with wall box:

      Which part of your design did you try to bevel from openscad? Maybe I can help.

      I wanted to bevel the top edges as well as the first ridge at the lower end of the vent slots.

      Here is the code. I know there is probably ways to clean this up with FOR loops for things like the vent holes, but I don't quite have the hang of that part yet.

      //Humidity sensor project box
      
      $fn = 50;
      
      //cover();
      wall_plate();
      
      module wall_plate() {
          //Create the base platform with mounting holes
          difference() {
              union() {
                  translate([0, 0, -1]) cube([77, 57, 1]);
                  translate([2.25, 2.25, 0]) cube([72.5, 52.5, 2]);
              }
              translate([15, 28.5, -2]) cylinder(d=4, h=5);
              translate([62, 28.5, -2]) cylinder(d=4, h=5);
              
              translate([15, 28.5, 1]) cylinder(d=8, h=2);
              translate([62, 28.5, 1]) cylinder(d=8, h=2);
          }
          
          //Create the snap tab uprights
          difference() {
              translate([30.5, 2.25, 0]) cube([16, 52.5, 10]);
              
              translate([30.5, 5.25, 0]) cube([16, 46.5, 10]);
          }
          
          //Create the latches
          translate([30.5, 2.25, 7.2]) rotate([45, 0, 0]) cube([16, 2, 2]);
          translate([30.5, 54.75, 7.2]) rotate([45, 0, 0]) cube([16, 2, 2]);
      }
      
      module cover() {
          //Create the main vented box
          difference() {
              //Create the outer box layers
              union() {
                  translate([2, 2, 0]) cube([73, 53, 49]);
                  cube([77, 57, 33]);
              }
              //Hollow out the box
              translate([4, 4, 0]) cube([69, 49, 47]);
              translate([2, 2, 0]) cube([73, 53, 28]);
              
              //Create the latch reliefs
              translate([29.5, 2.25, 7.2]) rotate([45, 0, 0]) cube([18, 2, 2]);
              translate([29.5, 54.75, 7.2]) rotate([45, 0, 0]) cube([18, 2, 2]);
              
              //Add the horizontal vent slots to the top layer
              translate([5, 2, 28]) cube([2, 53, 18]);
              translate([10, 2, 28]) cube([2, 53, 18]);
              translate([15, 2, 28]) cube([2, 53, 18]);
              translate([20, 2, 28]) cube([2, 53, 18]);
              translate([25, 2, 28]) cube([2, 53, 18]);
              translate([30, 2, 28]) cube([2, 53, 18]);
              translate([35, 2, 28]) cube([2, 53, 18]);
              translate([40, 2, 28]) cube([2, 53, 18]);
              translate([45, 2, 28]) cube([2, 53, 18]);
              translate([50, 2, 28]) cube([2, 53, 18]);
              translate([55, 2, 28]) cube([2, 53, 18]);
              translate([60, 2, 28]) cube([2, 53, 18]);
              translate([65, 2, 28]) cube([2, 53, 18]);
              translate([70, 2, 28]) cube([2, 53, 18]);
              //Add the vertical vent slots to the top layer
              translate([2, 5, 28]) cube([73, 2, 18]);
              translate([2, 10, 28]) cube([73, 2, 18]);
              translate([2, 15, 28]) cube([73, 2, 18]);
              translate([2, 20, 28]) cube([73, 2, 18]);
              translate([2, 25, 28]) cube([73, 2, 18]);
              translate([2, 30, 28]) cube([73, 2, 18]);
              translate([2, 35, 28]) cube([73, 2, 18]);
              translate([2, 40, 28]) cube([73, 2, 18]);
              translate([2, 45, 28]) cube([73, 2, 18]);
              translate([2, 50, 28]) cube([73, 2, 18]);
          }
      
          //Create the battery case holder
          difference() {
              translate([2, 7.75, 2]) cube([73, 41.5, 22.5]);
              
              translate([8.75, 7.75, 2]) cube([60, 41.5, 22.5]);
              translate([3.75, 11, 2]) cube([69.25, 34.25, 18.3]);
              
              translate([2, 20, 0]) cube([10, 16.5, 25]);
              
          }
      
          //Create the mounting tabs for the PCB
          difference() {    
              translate([15, 2, 23]) cube([52.75, 55, 5]);
              
              translate([19.5, 6.5, 23]) cube([43.75, 44, 5]);
              translate([22, 2, 23]) cube([38.75, 55, 5]);
              translate([14, 9.5, 23]) cube([54.75, 38, 5]);
              
              translate([18.5, 5.5, 23]) cylinder(d=1, h=5);
              translate([64, 5.5, 23]) cylinder(d=1, h=5);
              translate([18.5, 51.5, 23]) cylinder(d=1, h=5);
              translate([64, 51.5, 23]) cylinder(d=1, h=5);
          }
      }
      

      I just uncomment the cover() or wall_plate() lines when I want to export the .stl files. I realize I could do a translate() on one of them and put them next to each other, but I exported them as separate .stl files in the event that I only wanted to print one part.

      Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
      Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

      1 Reply Last reply
      0
      • M MikeF

        I've used openSCAD a few times now, to print enclosures, including MySensors and RaspberryPi's (note to self: must publish these here / on Thingiverse), and I like the way you can precisely define shapes through its structured language.

        I recently came across an RPi case with rounded corners and edges, which was simply achieved by creating small spheres at each of the corners, and then producing a 'hull' around them:
        alt text
        alt text
        Here's some simple code which I used to create the above examples:

        // Rounded box example
        r = 2;
        box = [80, 40, 20];
        hull_build(box,r);
        
        //Utility module to make a solid box with rounded corners
        module hull_build(box,r){
            //spheres at the corners of a box and run hull over it
            x = box  - 2 * [r,r,r];
            difference(){
            hull(){
                for (i=[0:1]){
                    for (j=[0:1]) {
                        for (k=[0:1]){
                                translate([i*x[0],j*x[1],k*x[2]]+[r,r,r]) //move up r because we moved box up
                                    sphere(r);
                                    }            
                                }   
                            }  
                      }   
                 }  
        }
        
        dbemowskD Offline
        dbemowskD Offline
        dbemowsk
        wrote on last edited by
        #5

        @MikeF There is also the minkowski() function which will do something similar, but I wanted my corners beveled and not rounded, though I guess the effect would be similar.

        Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
        Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

        1 Reply Last reply
        0
        • dbemowskD Offline
          dbemowskD Offline
          dbemowsk
          wrote on last edited by
          #6

          The box is finished. overall I am happy with the way it turned out, even though there are some layers on the outer shell which are pretty rough.
          0_1489847760038_5652.jpg 0_1489847512781_5651.jpg 0_1489847767958_5653.jpg

          The board mounts pretty nice on the mounting tabs with some 2mm x 5mm screws (bought a bag of 100 off of ebay).
          0_1489847900732_5655.jpg

          The battery box fit perfectly in it's slot. I had to put the power switch to the inside for the bottom to fit on, which was no big deal because I didn't really need the switch anyway. The switch came mounted in the battery boxes when I bought them.
          0_1489848182304_5656.jpg

          The bottom snapped on perfectly too. I have the holes to screw it to the wall, then the box should just snap right on. I could incorporate a small slot on the edge of the case on each side to pry it off with a screwdriver if I need to, but that is minor and I think this is going to be perfect just the way it is.

          Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
          Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

          sundberg84S 1 Reply Last reply
          2
          • M Offline
            M Offline
            MikeF
            wrote on last edited by
            #7

            Your box looks really good!

            Re bevelling: I did a quick Google for 'openscad bevel' - haven't looked at the results, don't know if any of these are what you want.

            1 Reply Last reply
            0
            • dbemowskD dbemowsk

              The box is finished. overall I am happy with the way it turned out, even though there are some layers on the outer shell which are pretty rough.
              0_1489847760038_5652.jpg 0_1489847512781_5651.jpg 0_1489847767958_5653.jpg

              The board mounts pretty nice on the mounting tabs with some 2mm x 5mm screws (bought a bag of 100 off of ebay).
              0_1489847900732_5655.jpg

              The battery box fit perfectly in it's slot. I had to put the power switch to the inside for the bottom to fit on, which was no big deal because I didn't really need the switch anyway. The switch came mounted in the battery boxes when I bought them.
              0_1489848182304_5656.jpg

              The bottom snapped on perfectly too. I have the holes to screw it to the wall, then the box should just snap right on. I could incorporate a small slot on the edge of the case on each side to pry it off with a screwdriver if I need to, but that is minor and I think this is going to be perfect just the way it is.

              sundberg84S Offline
              sundberg84S Offline
              sundberg84
              Hardware Contributor
              wrote on last edited by
              #8

              @dbemowsk - I love your box! May I use it as a good example on how to box the EasyPcb?

              Controller: Proxmox VM - Home Assistant
              MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
              MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
              RFLink GW - Arduino Mega + RFLink Shield, 433mhz

              dbemowskD 1 Reply Last reply
              0
              • sundberg84S sundberg84

                @dbemowsk - I love your box! May I use it as a good example on how to box the EasyPcb?

                dbemowskD Offline
                dbemowskD Offline
                dbemowsk
                wrote on last edited by
                #9

                @sundberg84 Most definately. I will be posting it to my things on thingiverse in a bit. I plan to link this forum post in the comments. I'll also post a link to the battery boxes that I bought on ebay as they fit perfectly. I'll post the link when I have it up.

                Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                1 Reply Last reply
                1
                • dbemowskD Offline
                  dbemowskD Offline
                  dbemowsk
                  wrote on last edited by
                  #10

                  For those interested, here is the 3D project and files on thingiverse.
                  http://www.thingiverse.com/thing:2186286

                  I had not even had the project posted on the site for a minute and I had someone collected it. I thought that was impressive.

                  Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                  Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                  1 Reply Last reply
                  0
                  • dbemowskD Offline
                    dbemowskD Offline
                    dbemowsk
                    wrote on last edited by
                    #11

                    As I was perusing the forum I just noticed that we have a category for 3D printing. This topic could be moved to that category where it is more suited.. Not sure who all has the authority to move it there.

                    Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                    Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                    mfalkviddM 1 Reply Last reply
                    0
                    • dbemowskD dbemowsk

                      As I was perusing the forum I just noticed that we have a category for 3D printing. This topic could be moved to that category where it is more suited.. Not sure who all has the authority to move it there.

                      mfalkviddM Offline
                      mfalkviddM Offline
                      mfalkvidd
                      Mod
                      wrote on last edited by mfalkvidd
                      #12

                      @dbemowsk done! I think all moderators can move topics. Mentioning @Mod should summon us :)

                      dbemowskD 1 Reply Last reply
                      0
                      • mfalkviddM mfalkvidd

                        @dbemowsk done! I think all moderators can move topics. Mentioning @Mod should summon us :)

                        dbemowskD Offline
                        dbemowskD Offline
                        dbemowsk
                        wrote on last edited by
                        #13

                        @mfalkvidd Thanks, I'll keep that in mind.

                        Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
                        Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        18

                        Online

                        11.7k

                        Users

                        11.2k

                        Topics

                        113.0k

                        Posts


                        Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • MySensors
                        • OpenHardware.io
                        • Categories
                        • Recent
                        • Tags
                        • Popular