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. General Discussion
  3. What did you build today (Pictures) ?

What did you build today (Pictures) ?

Scheduled Pinned Locked Moved General Discussion
1.1k Posts 105 Posters 202.5k Views 98 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.
  • Nca78N Nca78

    @alowhum said in What did you build today (Pictures) ?:

    • I usually go for the BEM280 instead of the BMP085 and DHT22. It's so cheap now.

    Unfortunately most of the cheap breakout boards found on AliExpress use clones with much worse specs than the original version

    In fact, I always make all my sensors with the Nano Wireless Expansion Board, which is about $2. You can simply plug in the NRF24 into it.
    https://www.aliexpress.com/item/Free-shipping-Nano-328P-IO-wireless-sensor-expansion-board-for-XBEE-and-NRF24L01-Socket-for-arduino/32264665470.html

    But you can't really make battery-powered sensors with those ? The regulators are AMS1117 with 5mA typical quiescent current.

    monteM Offline
    monteM Offline
    monte
    wrote on last edited by
    #647

    @nca78 said in What did you build today (Pictures) ?:

    Unfortunately most of the cheap breakout boards found on AliExpress use clones with much worse specs than the original version

    Could you be more specific? How exactly worth specs does they have. Was going to buy a bunch of them. Maybe there is some comparison or tests?

    mfalkviddM 1 Reply Last reply
    0
    • alowhumA Offline
      alowhumA Offline
      alowhum
      Plugin Developer
      wrote on last edited by alowhum
      #648

      @sundberg84 yes, sorry about that, I realised too late that it's an expansion board.

      @Nca78 Thanks! That 5ma leak current was exactly the kind of info I needed about the board. I was wondering it if could be useful for battery powered things. None of my sensors are. Well, one - I used the BBC Micro:bit as a battery powered motion sensor.

      I guess not having a regulator on board is what makes the Arduino Pro Micro so good at being battery powered.

      Out of curiosity: if I attached the board to a Usb powerbank (say 10.000 Mah) to operate as an electricity led pulse sensor.. what would be an estimate for how long it would run?

      mfalkviddM gohanG 2 Replies Last reply
      0
      • alowhumA alowhum

        @sundberg84 yes, sorry about that, I realised too late that it's an expansion board.

        @Nca78 Thanks! That 5ma leak current was exactly the kind of info I needed about the board. I was wondering it if could be useful for battery powered things. None of my sensors are. Well, one - I used the BBC Micro:bit as a battery powered motion sensor.

        I guess not having a regulator on board is what makes the Arduino Pro Micro so good at being battery powered.

        Out of curiosity: if I attached the board to a Usb powerbank (say 10.000 Mah) to operate as an electricity led pulse sensor.. what would be an estimate for how long it would run?

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

        @alowhum rough calculation: 10,000/5 = 2,000h = 83 days. Lower if other componens also consume power.

        1 Reply Last reply
        0
        • monteM monte

          @nca78 said in What did you build today (Pictures) ?:

          Unfortunately most of the cheap breakout boards found on AliExpress use clones with much worse specs than the original version

          Could you be more specific? How exactly worth specs does they have. Was going to buy a bunch of them. Maybe there is some comparison or tests?

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

          @monte clones use different components, so it depends on which clone.

          1 Reply Last reply
          0
          • alowhumA alowhum

            @sundberg84 yes, sorry about that, I realised too late that it's an expansion board.

            @Nca78 Thanks! That 5ma leak current was exactly the kind of info I needed about the board. I was wondering it if could be useful for battery powered things. None of my sensors are. Well, one - I used the BBC Micro:bit as a battery powered motion sensor.

            I guess not having a regulator on board is what makes the Arduino Pro Micro so good at being battery powered.

            Out of curiosity: if I attached the board to a Usb powerbank (say 10.000 Mah) to operate as an electricity led pulse sensor.. what would be an estimate for how long it would run?

            gohanG Offline
            gohanG Offline
            gohan
            Mod
            wrote on last edited by
            #651

            @alowhum said in What did you build today (Pictures) ?:

            I guess not having a regulator on board is what makes the Arduino Pro Micro so good at being battery powered.

            actually the better solution is the pro mini at 3.3v with regulator and led removed, and you can use an LDO regulator to power it with a LiPo cell or no regulator at all if you use a LiFePO4 battery. Using the arduino at 3.3v allows you to use all radio modules and all the low power sensors.

            1 Reply Last reply
            0
            • alexsh1A Offline
              alexsh1A Offline
              alexsh1
              wrote on last edited by
              #652

              This is my new PSU - 3D printed enclosure and a few components
              It is very precise.

              2_1540841375727_3.jpg 1_1540841375727_2.jpg 0_1540841375727_1.jpg

              YveauxY bjacobseB sundberg84S 3 Replies Last reply
              2
              • alexsh1A alexsh1

                This is my new PSU - 3D printed enclosure and a few components
                It is very precise.

                2_1540841375727_3.jpg 1_1540841375727_2.jpg 0_1540841375727_1.jpg

                YveauxY Offline
                YveauxY Offline
                Yveaux
                Mod
                wrote on last edited by
                #653

                @alexsh1 nice! Why do you have 4 banana sockets and what's the color coding?

                http://yveaux.blogspot.nl

                alexsh1A 1 Reply Last reply
                0
                • alexsh1A alexsh1

                  This is my new PSU - 3D printed enclosure and a few components
                  It is very precise.

                  2_1540841375727_3.jpg 1_1540841375727_2.jpg 0_1540841375727_1.jpg

                  bjacobseB Offline
                  bjacobseB Offline
                  bjacobse
                  wrote on last edited by
                  #654

                  @alexsh1 Looks awesome

                  1 Reply Last reply
                  0
                  • NeverDieN Offline
                    NeverDieN Offline
                    NeverDie
                    Hero Member
                    wrote on last edited by NeverDie
                    #655

                    Something nice about those power supplies is that for very little extra money (maybe $1-3 extra) you can buy versions with UART and/or even bluetooth data output that you can send to a logger. I'd have to check, but it might even be controllable that way also.

                    alexsh1A 1 Reply Last reply
                    0
                    • gohanG Offline
                      gohanG Offline
                      gohan
                      Mod
                      wrote on last edited by
                      #656

                      Yes, in fact I bought the DPS5015 with its metal box and BT/USB interface and I can control it from the computer. Data logging of course is limited to the values on the screen

                      1 Reply Last reply
                      0
                      • YveauxY Yveaux

                        @alexsh1 nice! Why do you have 4 banana sockets and what's the color coding?

                        alexsh1A Offline
                        alexsh1A Offline
                        alexsh1
                        wrote on last edited by
                        #657

                        @yveaux This is simple. The Aliexpress seller sent me these instead of black and red ones. So I have been creative - black and blue is negative and yellow and green is positive. Did not bothered waiting for a few weeks for replacement.

                        1 Reply Last reply
                        1
                        • NeverDieN NeverDie

                          Something nice about those power supplies is that for very little extra money (maybe $1-3 extra) you can buy versions with UART and/or even bluetooth data output that you can send to a logger. I'd have to check, but it might even be controllable that way also.

                          alexsh1A Offline
                          alexsh1A Offline
                          alexsh1
                          wrote on last edited by alexsh1
                          #658

                          @neverdie It is purely for logging and control. I did not require either so did not order it. If you add all extras, it does become considerably more expensive.

                          1 Reply Last reply
                          0
                          • alexsh1A alexsh1

                            This is my new PSU - 3D printed enclosure and a few components
                            It is very precise.

                            2_1540841375727_3.jpg 1_1540841375727_2.jpg 0_1540841375727_1.jpg

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

                            @alexsh1 very nice! Is the 3d-drawing online to be downloaded? I think I want one as well.

                            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

                            alexsh1A 1 Reply Last reply
                            2
                            • D Offline
                              D Offline
                              dakipro
                              wrote on last edited by dakipro
                              #660

                              Saw that all other kids cool kids have one, so I installed one kitchen-pc as well.
                              It is Flytech K757 15'' POS terminal, windows 10 pro, touch screen, 300gb (soon to be ssd) 8gb ram dual core 2,2ghz. Purchased from local "ebay" for around 140 eur.

                              0_1541025507479_Kitchen PC 1 - IMG_5680.jpg

                              Now I can make that awesome dinner, once in a full moon, without having to carry and unlock my phone all the time...

                              C: OpenHAB2 with node-red on linux laptop
                              GW: Arduino Nano - W5100 Ethernet, Nrf24l01+ 2,4Ghz mqtt
                              GW: Arduino Mega, RFLink 433Mhz

                              1 Reply Last reply
                              1
                              • axillentA Offline
                                axillentA Offline
                                axillent
                                Mod
                                wrote on last edited by
                                #661

                                esp8266 based thermostat for heating system
                                1_1541182358775_Фото 02.11.2018, 21 10 39.jpg 0_1541182358775_Фото 02.11.2018, 21 07 09.jpg

                                sense and drive

                                1 Reply Last reply
                                5
                                • axillentA Offline
                                  axillentA Offline
                                  axillent
                                  Mod
                                  wrote on last edited by
                                  #662

                                  bridge from single wire (my w3p manchester based) to UART. will be used to bridge single wire network with Ethernet throuth ESP8266 or STM32 + Wiznet

                                  second photo - development stand with w3p bus

                                  0_1541265182919_Фото 03.11.2018, 20 01 08.jpg
                                  0_1541265206374_Фото 03.11.2018, 20 01 00.jpg

                                  sense and drive

                                  1 Reply Last reply
                                  0
                                  • sundberg84S sundberg84

                                    @alexsh1 very nice! Is the 3d-drawing online to be downloaded? I think I want one as well.

                                    alexsh1A Offline
                                    alexsh1A Offline
                                    alexsh1
                                    wrote on last edited by
                                    #663

                                    @sundberg84

                                    Yes, you can downloads STLs from here: https://www.thingiverse.com/thing:2250644
                                    There another one https://www.thingiverse.com/thing:1816188

                                    1 Reply Last reply
                                    0
                                    • monteM Offline
                                      monteM Offline
                                      monte
                                      wrote on last edited by monte
                                      #664

                                      Build myself a simple temperature sensor with a clock. No RTC, just pulling time from controller and updating every 10 minutes to avoid drift. Also requesting outdoor temperature from controller. Build from what was lying around - DHT22, pro mini clone, nokia screen. I can share the code if someone needs it :)0_1542116517443_IMG_6557.jpg 0_1542116523024_IMG_6560.jpg

                                      gohanG 1 Reply Last reply
                                      5
                                      • monteM monte

                                        Build myself a simple temperature sensor with a clock. No RTC, just pulling time from controller and updating every 10 minutes to avoid drift. Also requesting outdoor temperature from controller. Build from what was lying around - DHT22, pro mini clone, nokia screen. I can share the code if someone needs it :)0_1542116517443_IMG_6557.jpg 0_1542116523024_IMG_6560.jpg

                                        gohanG Offline
                                        gohanG Offline
                                        gohan
                                        Mod
                                        wrote on last edited by
                                        #665

                                        @monte if you can share, pls do so :)

                                        monteM 1 Reply Last reply
                                        0
                                        • gohanG gohan

                                          @monte if you can share, pls do so :)

                                          monteM Offline
                                          monteM Offline
                                          monte
                                          wrote on last edited by monte
                                          #666

                                          Ask questions if something is left unclear.

                                          #define DHT_PIN 4
                                          #define CE_DISPLAY 5
                                          #define RST_DISPLAY A2
                                          #define DC_DISPLAY A3
                                          #define DIN_DISPLAY 7
                                          #define CLK_DISPLAY 8
                                          #define SN "Clock + Temperature"
                                          #define SV "1.0"
                                          #define DHT_TYPE DHT22
                                          
                                          #define MY_RADIO_NRF24
                                          #define MY_TRANSPORT_WAIT_READY_MS 10000
                                          
                                          #include <MySensors.h>
                                          #include <U8g2lib.h>
                                          #include <DHT.h>
                                          #include <time.h>
                                          
                                          volatile unsigned long rawTime;
                                          unsigned long timer1 = 0;
                                          unsigned long getTimeDelay = 600000;
                                          unsigned long timer2 = 0;
                                          int getDHTDelay = 3000;
                                          unsigned long timer3 = 0;
                                          unsigned int sendDelay = 60000;
                                          
                                          float h, t;
                                          char outdoorTemp[50];
                                          float lastT;
                                          
                                          U8G2_PCD8544_84X48_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ CLK_DISPLAY, /* data=*/ DIN_DISPLAY, /* cs=*/ CE_DISPLAY, /* dc=*/ DC_DISPLAY, /* reset=*/ RST_DISPLAY);  // Nokia 5110 Display
                                          DHT dht(DHT_PIN, DHT_TYPE);
                                          MyMessage tempMsg(0, V_TEMP);
                                          volatile struct tm * localTime;
                                          
                                          void before()
                                          {
                                            u8g2.begin();
                                            Serial.begin(115200);
                                            u8g2.firstPage();
                                            do {
                                              initScreen();
                                            } while ( u8g2.nextPage() );
                                            dht.begin();
                                            delay(2000);
                                          }
                                          
                                          void setup() {
                                            setupTime();
                                            timer1 = millis();
                                            t = dht.readTemperature();
                                            h = dht.readHumidity();
                                            timer2 = millis();
                                            send(tempMsg.set(t, 0));
                                            lastT = t;
                                            timer3 = millis();
                                          }
                                          
                                          void presentation()
                                          {
                                            present(0, S_TEMP);
                                            present(1, S_INFO); //Info sensor to request outdoor tempereture
                                            sendSketchInfo(SN, SV);
                                            request(1, V_TEXT);
                                          }
                                          
                                          void setupTime()	//setting up timer and interrupt for seconds counter
                                          {
                                            cli();
                                            //set timer1 interrupt at 1Hz
                                            TCCR1A = 0;// set entire TCCR1A register to 0
                                            TCCR1B = 0;// same for TCCR1B
                                            TCNT1  = 0;//initialize counter value to 0
                                            // set compare match register for 1hz increments
                                            OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
                                            // turn on CTC mode
                                            TCCR1B |= (1 << WGM12);
                                            // Set CS10 and CS12 bits for 1024 prescaler
                                            TCCR1B |= (1 << CS12) | (1 << CS10);
                                            // enable timer compare interrupt
                                            TIMSK1 |= (1 << OCIE1A);
                                            sei();
                                            requestTime();
                                          }
                                          
                                          ISR(TIMER1_COMPA_vect)
                                          {
                                            rawTime++;	//increment seconds counter
                                          }
                                          
                                          void float2string(float n, char* output)
                                          {
                                            char aChar[5];
                                            char bChar[4];
                                            if (n > 0.0) {
                                              strcpy(aChar, "+");
                                            } else if (n < 0.0) {
                                              strcpy(aChar, "-");
                                            }
                                            dtostrf(n, 4, 1, bChar);
                                            sprintf(output, "%s%s", aChar, bChar);
                                          }
                                          
                                          void initScreen()	//function to show message on screen during node start
                                          {
                                            u8g2.setFont(u8g2_font_profont12_tr);
                                            u8g2.drawStr(42 - (u8g2.getStrWidth("Connecting to") / 2), 13, "Connecting to");
                                            u8g2.drawStr(42 - (u8g2.getStrWidth("a MySensors") / 2), 26, "a MySensors");
                                            u8g2.drawStr(42 - (u8g2.getStrWidth("network.") / 2), 39, "network");
                                          }
                                          
                                          void mainScreen()
                                          {
                                            u8g2.setDrawColor(1);
                                            u8g2.setFontMode(1);
                                            u8g2.drawBox(0, 0, 84, 8);
                                            u8g2.setDrawColor(0);
                                            u8g2.setFont(u8g2_font_profont10_tf);
                                            localTime = localtime(&rawTime);	//using standart AVR time.h library to convert seconds counter into local time
                                            char date[30];
                                            strftime(date, 30, "%d.%m.%y %R", localTime);	//constructing a string with date and time
                                            u8g2.drawStr(42 - (u8g2.getStrWidth(date) / 2), 7, date);
                                            u8g2.setDrawColor(1);
                                            u8g2.setFont(u8g2_font_maniac_tr);
                                            char val[5];
                                            float2string(t, val);	//converting float value from dht11 to a string
                                            u8g2.drawStr(42 - (u8g2.getStrWidth(val) / 2), 36, val);
                                            u8g2.setFont(u8g2_font_profont10_tf);
                                            u8g2.drawStr(5, 47, outdoorTemp);
                                            itoa((int)h, val, 10); //I don't need precision for humidity procentage, otherwise you can use dtostrf()
                                            u8g2.drawStr(70 - u8g2.getStrWidth(val), 47, val);
                                            u8g2.setFont(u8g2_font_open_iconic_thing_1x_t);
                                            u8g2.drawStr(71, 47, "\x48");
                                          }
                                          
                                          boolean isTime(unsigned long *timeMark, unsigned long timeInterval)	//time counter function for non-blocking delays
                                          {
                                            if (millis() - *timeMark >= timeInterval) {
                                              *timeMark = millis();
                                              return true;
                                            }
                                            return false;
                                          }
                                          
                                          void loop() 
                                          {
                                            if (isTime(&timer1, getTimeDelay)) {	//request time from controller once in 10 minutes
                                              requestTime();
                                            }
                                            if (isTime(&timer2, getDHTDelay)) {	//polling DHT sensor and printing values to serial
                                              t = dht.readTemperature();
                                              h = dht.readHumidity();
                                              Serial.print("Temperature: ");
                                              Serial.print(t);
                                              Serial.println("°");
                                              Serial.print("Humidity: ");
                                              Serial.print(h);
                                              Serial.println("%");
                                            }
                                            if (isTime(&timer3, sendDelay)) {	//sending temperature to controller once in 30 seconds
                                              if (t != lastT) {
                                                send(tempMsg.set(t, 0));
                                                request(1, V_TEXT);
                                                lastT = t;
                                              }
                                            }
                                            u8g2.firstPage();	//this section is for screen handling
                                            do {
                                              mainScreen();
                                            } while ( u8g2.nextPage() );
                                          
                                          }
                                          
                                          void receive(const MyMessage &message)	//receiving an outdoor reading from the controller and constructing a string to display
                                          {
                                            if (message.type == V_TEXT) {
                                              sprintf(outdoorTemp, "%sC%s", message.getString(), "\xb0");
                                            }
                                          }
                                          
                                          void receiveTime(uint32_t ts)
                                          {
                                            rawTime = ts - UNIX_OFFSET;	//substructing an offset from received timestamp, since time.h doesn't use Unix count
                                            localTime = localtime(&rawTime);	//updating seconds timer with accurate value
                                            timer1 = millis();
                                          }
                                          
                                          
                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          17

                                          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