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. Desktop 8 button scene controller

Desktop 8 button scene controller

Scheduled Pinned Locked Moved Enclosures / 3D Printing
10 Posts 4 Posters 4.5k 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.
  • D Offline
    D Offline
    dbemowsk
    wrote on last edited by dbemowsk
    #1

    So recently I had to change over one of my last remaining rooms that had X10 hardware over to MySensors. This happened to be our master bedroom which I had been using a couple of these X10 tabletop controllers:
    0_1546675522046_61a180c1-14e6-46df-99b4-05e84cc5890f-image.png
    My wife loved the fact that she had control of the light and ceiling fan right next to the bed. When I switched over to MySensors control of the room with my Vera controller, I was no longer able to use the old X10 controller. I had thought of gutting the controller and rebuilding the electronics, but that seemed like more work than designing my own controller. I started mocking up a design in OpenSCAD and here is what I came up with.

    This is the full mocked view showing the 8 buttons.
    0_1546674026628_512d5a30-2da7-4566-9f4b-0020254e5d0e-image.png

    This is with the cover off and the mock of the Easy Newbie Board by @sundberg84 in place to see how it would fit. The hole in the back of the case is for a DC power cable. I figured rather than have to design in a power supply, I figured I would just use a 5 volt wall wart power supply.
    0_1546674229935_36e80dd8-2eab-4b2a-912f-5d1728ab84f9-image.png

    I had a couple of these laying around, so this will be my DC in jack. wired through the small hole in the back directly to the raw in to the Easy Newbie board.
    0_1546674893401_91f4cdc0-755e-495c-ad90-4b3d89db33d4-image.png

    This is the underside of the top cover showing the mock up of the 40 x 60mm proto-board with switches mounted to it, again to size up the fit.
    0_1546675142295_12b1df22-154e-4737-ba2a-61744f6c0e1f-image.png

    I currently have the first revision of the case on the printer. I may at some point add an OLED or LCD display to a future revision for feedback, but for now just to see if the idea is sound, I am keeping it as simple as possible.

    Once I get this finished and know it works I will post it to thingiverse. If anyone had comments or questions, feel free to post them here.

    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
    4
    • B Offline
      B Offline
      bjacobse
      wrote on last edited by
      #2

      Looks good and my only comment is if it's easy to round/chamfer the edges of the box so it's hand-friendly with no rough edges/corners

      D 1 Reply Last reply
      1
      • B bjacobse

        Looks good and my only comment is if it's easy to round/chamfer the edges of the box so it's hand-friendly with no rough edges/corners

        D Offline
        D Offline
        dbemowsk
        wrote on last edited by
        #3

        @bjacobse I was looking to do that, but had a couple challenges that I needed to work through to do it, and I figured for the first test that I'd skip that. In OpenSCAD there is a method called minkowski() which will round the edges using a sphere or cylinder as the radius, but the problem with that is that if I set it to use a 1.5mm sphere as the edge radius, the object increases 3mm in size in all planes (XY and Z). I created the case basically using extruded polygons. I just have to figure out how to do the rounded outside edge, but hollow out the inside with square edges. I will probably figure that out for the final design that I post on thingiverse.

        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/

        B Y 2 Replies Last reply
        0
        • wallyllamaW Offline
          wallyllamaW Offline
          wallyllama
          wrote on last edited by
          #4

          If any of my old x10 gear looked that good I would just make new pcbs and relabel the buttons.

          D 1 Reply Last reply
          0
          • wallyllamaW wallyllama

            If any of my old x10 gear looked that good I would just make new pcbs and relabel the buttons.

            D Offline
            D Offline
            dbemowsk
            wrote on last edited by
            #5

            @wallyllama I would too...LOL That was just a pic I took from a web search...

            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
            • D dbemowsk

              @bjacobse I was looking to do that, but had a couple challenges that I needed to work through to do it, and I figured for the first test that I'd skip that. In OpenSCAD there is a method called minkowski() which will round the edges using a sphere or cylinder as the radius, but the problem with that is that if I set it to use a 1.5mm sphere as the edge radius, the object increases 3mm in size in all planes (XY and Z). I created the case basically using extruded polygons. I just have to figure out how to do the rounded outside edge, but hollow out the inside with square edges. I will probably figure that out for the final design that I post on thingiverse.

              B Offline
              B Offline
              bjacobse
              wrote on last edited by
              #6

              @dbemowsk
              not fun to increase with to 3mm thickness... Can you use a smaller sphere radius of 0,2mm so wall thickness isn't increased?

              1 Reply Last reply
              0
              • D dbemowsk

                @bjacobse I was looking to do that, but had a couple challenges that I needed to work through to do it, and I figured for the first test that I'd skip that. In OpenSCAD there is a method called minkowski() which will round the edges using a sphere or cylinder as the radius, but the problem with that is that if I set it to use a 1.5mm sphere as the edge radius, the object increases 3mm in size in all planes (XY and Z). I created the case basically using extruded polygons. I just have to figure out how to do the rounded outside edge, but hollow out the inside with square edges. I will probably figure that out for the final design that I post on thingiverse.

                Y Offline
                Y Offline
                Yveaux
                Mod
                wrote on last edited by
                #7

                @dbemowsk said in Desktop 8 button scene controller:

                the object increases 3mm in size

                Try using spheres and hull, something like:

                WallThick = 2;
                Radius    = 5;
                Width     = 40;
                Length    = 40;
                Height    = 20;
                
                $fn = 30;
                
                module RoundedBox(w,l,h,r) {
                    hull() {
                        translate([ w/2-r, l/2-r,h/2-r]) sphere(r=r);
                        translate([-w/2+r, l/2-r,h/2-r]) sphere(r=r);
                        translate([ w/2-r,-l/2+r,h/2-r]) sphere(r=r);
                        translate([-w/2+r,-l/2+r,h/2-r]) sphere(r=r);
                        translate([ w/2-r, l/2-r,-h/2+r]) sphere(r=r);
                        translate([-w/2+r, l/2-r,-h/2+r]) sphere(r=r);
                        translate([ w/2-r,-l/2+r,-h/2+r]) sphere(r=r);
                        translate([-w/2+r,-l/2+r,-h/2+r]) sphere(r=r);
                    }
                }
                difference() {
                    RoundedBox(Width, Length, Height, Radius);
                    RoundedBox(Width-2*WallThick, Length-2*WallThick, Height-2*WallThick, Radius-WallThick);
                    if ($preview) {
                        cube([Width, Length, Height]);
                    }
                }
                

                0_1546774356708_49d4b4cd-0fbb-4e7f-86f2-70fd45fc0916-image.png

                http://yveaux.blogspot.nl

                D 1 Reply Last reply
                0
                • Y Yveaux

                  @dbemowsk said in Desktop 8 button scene controller:

                  the object increases 3mm in size

                  Try using spheres and hull, something like:

                  WallThick = 2;
                  Radius    = 5;
                  Width     = 40;
                  Length    = 40;
                  Height    = 20;
                  
                  $fn = 30;
                  
                  module RoundedBox(w,l,h,r) {
                      hull() {
                          translate([ w/2-r, l/2-r,h/2-r]) sphere(r=r);
                          translate([-w/2+r, l/2-r,h/2-r]) sphere(r=r);
                          translate([ w/2-r,-l/2+r,h/2-r]) sphere(r=r);
                          translate([-w/2+r,-l/2+r,h/2-r]) sphere(r=r);
                          translate([ w/2-r, l/2-r,-h/2+r]) sphere(r=r);
                          translate([-w/2+r, l/2-r,-h/2+r]) sphere(r=r);
                          translate([ w/2-r,-l/2+r,-h/2+r]) sphere(r=r);
                          translate([-w/2+r,-l/2+r,-h/2+r]) sphere(r=r);
                      }
                  }
                  difference() {
                      RoundedBox(Width, Length, Height, Radius);
                      RoundedBox(Width-2*WallThick, Length-2*WallThick, Height-2*WallThick, Radius-WallThick);
                      if ($preview) {
                          cube([Width, Length, Height]);
                      }
                  }
                  

                  0_1546774356708_49d4b4cd-0fbb-4e7f-86f2-70fd45fc0916-image.png

                  D Offline
                  D Offline
                  dbemowsk
                  wrote on last edited by
                  #8

                  @yveaux The problem in using a rounded box like that is that it has equal sides. The box I did, as I mentioned previously, is a linear extruded polygon which gives it it's sloped shape. I think what I need to do is create the outer polygon with minkowski(), but subtract the size of the sphere used for rounding the edges from all points in the polygon. So basically I collapse the polygon in so that when the minkowski increases the size of the polygon it ends up being the original size, but with the rounded edges. I am going to try that today.

                  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
                  • D Offline
                    D Offline
                    dbemowsk
                    wrote on last edited by dbemowsk
                    #9

                    So I tried collapsing the polygon by the edge radius size in all directions and that appears to have done the trick. I kept the hollowed out inside with the square corners, and my worry with that was that the square corner was going to come too close to the rounded edge making the edge weak, but that doesn't appear to be the case. Here is the result with a cutaway corner.
                    0_1546791357933_8ab8686a-39b1-4a9e-bf63-1f00e77bb730-image.png

                    Here are some pics of the first run of the case with the non-rounded corners. I printed it in ABS, and on the bottom in the third pic you can see where I had some slight lifting of the bottom corners. I had some trouble getting my bed temp where I wanted it, so I ended up running the bottom at 95c, which is probably why I got the lifting. I ran the top at 103c and didn't get any lifting there. They say ideal bed temp for ABS is around 110, but I can never get mine that high.
                    0_1546792471052_9204ff3c-db62-43fd-8d9b-d7a62adb3e8b-image.png
                    0_1546792521361_2b0a98ee-5546-4a34-9d0c-d3062a5b033a-image.png
                    0_1546792545465_03750f16-cb15-4756-9dd1-1f49285693a3-image.png

                    I have the switch board in place to test the functionality and feel of the buttons, but I don't have anything wired just yet. I figure I should be able to use the same code that I use for my in-wall scene controllers as it is just wired as 4 rows and two columns which is what those switches use.

                    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
                    • D Offline
                      D Offline
                      dbemowsk
                      wrote on last edited by
                      #10

                      So for anyone interested, I posted this case design out on thingiverse tonight.
                      https://www.thingiverse.com/thing:3339158

                      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

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      21

                      Online

                      12.0k

                      Users

                      11.2k

                      Topics

                      113.4k

                      Posts


                      Copyright 2025 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