Skip to content

Enclosures / 3D Printing

DIY sensor enclosures and 3D printing discussions

70 Topics 887 Posts
  • Newbie motion and dimmer case

    2
    5
    2 Votes
    2 Posts
    1k Views
    dbemowskD
    I like the case design, especially the way you have the sensor angled. I would think that you should be able to print that angle without supports. Some ideas on the case design. Rather than having the tabs at the top and bottom for anchoring it to the wall, why not put your anchor points inside the case. With the tabs at the top and bottom, it looks like they could easily be broken off if the sensor is bumped. It looks like your case is two halves that snap together, so anchoring inside the case should be easy. Have a look at my case design that I did some time back, you'll see what I did for that. I used that same case design for a couple different sensors that I have done and it works well https://www.thingiverse.com/thing:2186286 This case design is the one linked on @sundberg84's openhardware page for the easy newbie board.
  • Newbie PCB (not only) housing in different sizes

    3
    1 Votes
    3 Posts
    1k Views
    irqI
    @Michał-Kozak I like the way you created the housing. Could you please put here a close-up of it? Even from distance it looks like it's not 3D printed (so smooth and sleek). How did you achieve it? I don't want to put square boxes on the apartment walls. This look nice and stylish.
  • New enclosure for My Slim 2AA Battery Node

    1
    0 Votes
    1 Posts
    991 Views
    No one has replied
  • Octoprint youtube stream

    1
    0 Votes
    1 Posts
    709 Views
    No one has replied
  • The Repeater Stick

    3
    3
    3 Votes
    3 Posts
    1k Views
    T
    @alowhum Good find!
  • Case for a small AC-DC converter

    3
    3
    0 Votes
    3 Posts
    1k Views
    T
    Its a very nice one and i also like designs without screws. But since im not very confortable with my printer tolerances, im not thinking (at the moment) with that kind of parts inter-connections… And i have a pack of those tiny screws… :D
  • Enclosure for Temp + Humidity node with OLED display

    6
    3
    1 Votes
    6 Posts
    3k Views
    T
    @pihome Sure! Its no trade secret. ;) Ive used the U8g2lib for the display which is connected at A4 and A5, as defined in the code. You should power the display directly to a good power source (3.3 ~ 5.5V) since you are also powering a radio module. Its basically the temp+hum sketch where Ive included some lines of code for the display. At boot it displays the message "Connecting…". If the gateway or repeater is offline or out of range, it wont do anything else unless MY_TRANSPORT_WAIT_READY_MS is of a different value than the default (not pretty sure but ive read that the default is to wait forever). It will then display temp + hum with a small chain icon at the bottom (connected). If the gateway goes offline it displays "Disconnected!" Im not sure if this is bug free, so feel free to debug and add new functionalities. :) // Enable debug prints //#define MY_DEBUG // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 //#define MY_RS485 #define MY_RF24_CHANNEL 1 ////////////// #define MY_RF24_PA_LEVEL RF24_PA_HIGH ////////////// #include <SPI.h> #include <MySensors.h> #include <DHT.h> #include <U8g2lib.h> ////////////////////// #include <Wire.h> ///////////////////////// U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, A5, A4); // U8G2 Constructor (PINS: A5 - Clock SCL ; A4 - Data SDA) // Set this to the pin you connected the DHT's data pin to #define DHT_DATA_PIN 3 // Set this offset if the sensor has a permanent small offset to the real temperatures. // In Celsius degrees (as measured by the device) #define SENSOR_TEMP_OFFSET 0 // Sleep time between sensor updates (in milliseconds) // Must be >1000ms for DHT22 and >2000ms for DHT11 static const uint64_t UPDATE_INTERVAL = 60000; // Force sending an update of the temperature after n sensor reads, so a controller showing the // timestamp of the last update doesn't show something like 3 hours in the unlikely case, that // the value didn't change since; // i.e. the sensor would force sending an update every UPDATE_INTERVAL*FORCE_UPDATE_N_READS [ms] static const uint8_t FORCE_UPDATE_N_READS = 10; #define CHILD_ID_HUM 0 #define CHILD_ID_TEMP 1 float lastTemp; float lastHum; uint8_t nNoUpdatesTemp; uint8_t nNoUpdatesHum; bool metric = true; MyMessage msgHum(CHILD_ID_HUM, V_HUM); MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP); DHT dht; void before(){ u8g2.begin(); u8g2.firstPage(); do { u8g2.setFont(u8g2_font_helvR14_tf); u8g2.drawStr(38,15,"OLED"); u8g2.drawStr(15,35,"Temp+Hum"); u8g2.drawStr(46,60,"v1.2"); } while ( u8g2.nextPage() ); delay(3000); u8g2.clear(); u8g2.firstPage(); do { u8g2.drawStr(3, 32, "Connecting..."); } while ( u8g2.nextPage() ); } void presentation() { // Send the sketch version information to the gateway sendSketchInfo("TEMPHUM_OLED", "1.2"); // Register all sensors to gw (they will be created as child devices) present(CHILD_ID_HUM, S_HUM); present(CHILD_ID_TEMP, S_TEMP); metric = getControllerConfig().isMetric; } void setup() { u8g2.clear(); dht.setup(DHT_DATA_PIN); // set data pin of DHT sensor if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) { u8g2.firstPage(); do { u8g2.setFont(u8g2_font_haxrcorp4089_tr); // 7 PIXEL HIGHT u8g2.drawStr(1,12,"WARNING: UPDATE_INTERVAL"); u8g2.drawStr(1,24,"is smaller than supported by"); u8g2.drawStr(1,36,"the sensor!"); } while ( u8g2.nextPage() ); delay(4000); } // Sleep for the time of the minimum sampling period to give the sensor time to power up // (otherwise, timeout errors might occure for the first reading) sleep(dht.getMinimumSamplingPeriod()); } void loop() { while (transportCheckUplink() == false){ u8g2.firstPage(); do { u8g2.setFont(u8g2_font_helvR14_tf); // 14 px height u8g2.drawStr(3, 32, "Disconnected!"); } while ( u8g2.nextPage() ); } // Force reading sensor, so it works also after sleep() dht.readSensor(true); // Get temperature from DHT library float temperature = dht.getTemperature(); if (isnan(temperature)) { Serial.println("Failed reading temperature from DHT!"); } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) { // Only send temperature if it changed since the last measurement or if we didn't send an update for n times lastTemp = temperature; // apply the offset before converting to something different than Celsius degrees temperature += SENSOR_TEMP_OFFSET; if (!metric) { temperature = dht.toFahrenheit(temperature); } // Reset no updates counter nNoUpdatesTemp = 0; send(msgTemp.set(temperature, 1)); #ifdef MY_DEBUG Serial.print("T: "); Serial.println(temperature); #endif } else { // Increase no update counter if the temperature stayed the same nNoUpdatesTemp++; } // Get humidity from DHT library float humidity = dht.getHumidity(); if (isnan(humidity)) { Serial.println("Failed reading humidity from DHT"); } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS) { // Only send humidity if it changed since the last measurement or if we didn't send an update for n times lastHum = humidity; // Reset no updates counter nNoUpdatesHum = 0; send(msgHum.set(humidity, 1)); #ifdef MY_DEBUG Serial.print("H: "); Serial.println(humidity); #endif } else { // Increase no update counter if the humidity stayed the same nNoUpdatesHum++; } u8g2.firstPage(); do { u8g2.setFont(u8g2_font_fub30_tn); u8g2.setCursor(2, 35); u8g2.print(temperature, 1); u8g2.setFont(u8g2_font_inb16_mf); u8g2.drawGlyph(88, 35, 0x00b0); // degree u8g2.drawStr(100, 35, "C"); u8g2.setCursor(70, 60); u8g2.print(humidity, 0); u8g2.drawStr(100, 60, "%"); u8g2.setFont(u8g2_font_open_iconic_thing_2x_t); // 16 pix height u8g2.drawGlyph(45, 60, 0x0048); // drop u8g2.setFont(u8g2_font_open_iconic_www_2x_t); // 16 pix height u8g2.drawGlyph(2, 60, 0x004f); // CONNECTION ICON } while ( u8g2.nextPage() ); // Sleep for a while to save energy //sleep(UPDATE_INTERVAL); delay(UPDATE_INTERVAL); // POWERED NODE }
  • practicing 3D-printing and designing near Maassluis/Hoek van Holland NL

    1
    1 Votes
    1 Posts
    1k Views
    No one has replied
  • Domoticz Nextion remote

    14
    0 Votes
    14 Posts
    3k Views
    alexsh1A
    @gohan I was never thinking like that. The startup time is about 1sec. Given I’m obsessed with a battery life and the device is only used occasionally, I could not come up with anything better than the switch.
  • Share Good Store to Get Enclosures

    2
    3 Votes
    2 Posts
    1k Views
    gohanG
    Thanks I'll take a look
  • Which 3D modelling software do you prefer for 3D printing *and* CNC?

    12
    0 Votes
    12 Posts
    3k Views
    H
    A bit of googling would have shown me how. Startup or enthusiast licence. Cheers.
  • 5 Votes
    15 Posts
    22k Views
    gohanG
    Did you guys managed to have it working with latest mysensors version?
  • MySensors weather station

    138
    5
    5 Votes
    138 Posts
    59k Views
    nicofly974N
    Hello, For a project wtih a fablab, we have using a Li-Polymer Charge Management Controllers MCP73831 You can have free "sample" for prototype if you ask directly to the factory, perhaps it could be faster.
  • Simple node enclosure

    10
    6
    6 Votes
    10 Posts
    5k Views
    P
    STL files here (change .bin to .stl): BattCover.stl BoxBase.stl Logo_TEMP.stl LedLead.stl BattHolder.stl BoxBody.stl Pete
  • Temperature & humidity sensor updated wall box

    1
    5
    1 Votes
    1 Posts
    2k Views
    No one has replied
  • Simple and lightweight solar panel housing for 60x110 mm sized panels

    2
    2
    2 Votes
    2 Posts
    2k Views
    R
    Yet another version and first test results. Now I'm able to screw panels together using any side: [image: 1496074548735-solarhousingv3-resized.png] [image: 1496074567858-solar32-resized.jpeg] [image: 1496074573605-solar31-resized.jpeg] I connected solar panels together (parallel connection, but each panel in series with it's own shottky diode). 11 panels on north side (direct sunlight from about 06:30 up to 09:00) and 5 panels on south side (direct sunlight from about 12:00 up to 19:00). Panels located on window-sill outside of house. On south side I'm using 6V AGM VRLA acid battery (as far as I remember 4.5 Ah), on north side battery is the same, but battery capacity is 1.3 Ah. At first I connected panels directly to batteries (panels open-circuit volage is about 6.8-7.5 volts), but I got weird results. When it's sunny and the sky is clear batteries are charging very slowly and then it's cloudy - batteries are charging faster. Scattering of light by clouds? Then I connected solar panels to step up regulators (mt3608 as far as I remember, output set to 7.0 volts), now I'm getting very good results. Both batteries are charging almost all the day. Graphs showing step up output voltage (connected directly to battery): [image: 1496075913028-solar2-resized.png] Again, then weather is cloudy batteries are charning a little better. Also it seems that I have connected too many batteries. It's necessary to try only 1-2 batteries on each side. Now I'm using simple voltage reporting sketch (5V arduino pro mini, report voltage and smartSleep() every 10 seconds), battery connected directly to RAW pin of arduino. Nothing is changed on hardware and software sides except I removed power led. NRF24L01 using it's own AMS1117-3.3 regulator (consumes a lot of current, about 2mA) connected directly to battery.
  • Wall switch enclosure

    10
    0 Votes
    10 Posts
    5k Views
    Nca78N
    @Samuel235 said in Wall switch enclosure: @Nca78 - If only all sellers were like that! If you ever get anything done with that issue please update us here :) I have made a MySensors PCB, waiting for it but Seed managed to slow down my order just enough so that they can finish production and register at DHL before they go on holidays :(
  • Housing/Box for ESP8266Wlan Gateway

    Moved
    10
    0 Votes
    10 Posts
    5k Views
    C
    Maybe i am late, i made this box a few weeks ago: https://www.thingiverse.com/thing:2339712
  • HDC1080 battery operated temp/humidity sensor with wall box

    Moved
    13
    4
    0 Votes
    13 Posts
    20k Views
    dbemowskD
    @mfalkvidd Thanks, I'll keep that in mind.
  • Nice cases/housings for projects

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    pansenP
    Thanks, IKEA is indeed a good inspiration source!

20

Online

11.7k

Users

11.2k

Topics

113.1k

Posts