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. Hardware
  3. Easy/Newbie PCB for MySensors

Easy/Newbie PCB for MySensors

Scheduled Pinned Locked Moved Hardware
257 Posts 37 Posters 105.2k Views 38 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.
  • gohanG gohan

    @achurak1 do you know you could modify the pir sensor to work directly from batteries by removing the regulator?

    A Offline
    A Offline
    achurak1
    wrote on last edited by
    #121

    @gohan - I tried to connect the 3.3v to one of the three pins where you'd usually put a jumper (H, L pads) as I've seen people discussing it on this forum and it just didn't work for me, the sensor did work, but very unstable, would fire up every time radio sends or receives something.

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

      Because you need to add an extra AA battery to increase voltage to around 4,5v just for the pir sensor

      A 1 Reply Last reply
      0
      • gohanG gohan

        Because you need to add an extra AA battery to increase voltage to around 4,5v just for the pir sensor

        A Offline
        A Offline
        achurak1
        wrote on last edited by achurak1
        #123

        @gohan - not sure how exactly it answers my question? I thought you meant I could run the pir from 3.3v. I could plug everything to an outlet and don't worry about the batteries at all. The pir works perfectly from two batteries and the 5v booster, so why would I want to add more batteries and make the whole thing much bigger?

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

          I was just saying that without regulators/boosters you can still make a working sensor and get a better battery life. If you don't mind battery life or you can make an outlet powered sensor, of course it makes not much sense.

          1 Reply Last reply
          0
          • sundberg84S Offline
            sundberg84S Offline
            sundberg84
            Hardware Contributor
            wrote on last edited by sundberg84
            #125

            Im doing a new revision here with RFM69 support.
            I never used the RFM69 though - is there anything I should take in mind?

            • Is it the same with IRQ as Nrf24l01+ - not used, but good to have ie. should i have a jumper so the user can connect IRQ ?
            • The antenna, is it enough with a jumper/hole so the user can solder a antenna of their own? Or is the trace/trace-length also included as the antenna?

            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

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

              The problem with rfm69 is that they work on 3 different frequencies, so you have to choose which frequency you want to support. I'm not sure if the correct length for the 433mhz is good also for the 866mhz. Let's hope somebody more expert shows up 😀

              sundberg84S 1 Reply Last reply
              0
              • gohanG gohan

                The problem with rfm69 is that they work on 3 different frequencies, so you have to choose which frequency you want to support. I'm not sure if the correct length for the 433mhz is good also for the 866mhz. Let's hope somebody more expert shows up 😀

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

                @gohan - You mean with the antenna? (But the footprint is the same?)
                Well, if the trace isnt added to the lenght of the antenna and I add a through-hole the user can just add what kind of lenght they want?

                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

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

                  The trace adds up to the antenna lengths for what I have seen so far, so I'd say to play safe and leave a hole where to solder the wire antenna or even better if it's near the edge of the pcb you could design a place to mount a sma connector for a real antenna. What do you think?

                  sundberg84S 1 Reply Last reply
                  0
                  • gohanG gohan

                    The trace adds up to the antenna lengths for what I have seen so far, so I'd say to play safe and leave a hole where to solder the wire antenna or even better if it's near the edge of the pcb you could design a place to mount a sma connector for a real antenna. What do you think?

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

                    @gohan - the problem is then if you buy a antenna from ebay with the right length. Added to the PCB trace the length will not match. I have to make the antenna hole as close as possible to the module then.

                    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

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

                      by looking around at other PCBs with sma connectors, they are close to radio module, but still a few millimeters away so I'd say you should be ok

                      sundberg84S 1 Reply Last reply
                      0
                      • gohanG gohan

                        by looking around at other PCBs with sma connectors, they are close to radio module, but still a few millimeters away so I'd say you should be ok

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

                        @gohan - notised that as well. I have asked scalz over PM about this, I saw he made alot of RFM projects.

                        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

                        1 Reply Last reply
                        0
                        • sundberg84S Offline
                          sundberg84S Offline
                          sundberg84
                          Hardware Contributor
                          wrote on last edited by
                          #132

                          Sneak-peak at upcoming RFM edition.
                          All input appreciated as usual.

                          • I couldnt fit a SMA connector at this point for external antenna because I dont want to remodel the PCB completley.
                            I want it to be as close looking to the original as possible to make it easier for newbies.
                          • I went with the HW/W version. I talked to scalz and the CW is smaller and better for low power but HW/W is the one at MySensors website/tutorial/shop and preffered at 5v...

                          Thoughts?

                          0_1494358879620_RFMEd.JPG

                          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

                          1 Reply Last reply
                          1
                          • gohanG Offline
                            gohanG Offline
                            gohan
                            Mod
                            wrote on last edited by
                            #133

                            I thought the SMA connector could fit on the side of the PCB... oh well....
                            Btw, is the CW really smaller? I thought it was only a different pinout

                            sundberg84S 1 Reply Last reply
                            0
                            • gohanG gohan

                              I thought the SMA connector could fit on the side of the PCB... oh well....
                              Btw, is the CW really smaller? I thought it was only a different pinout

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

                              @gohan - Could be - never used them :S I just checked this image and they look smaller: https://www.google.se/search?q=RFM69H&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjdzPDD2OTTAhWqK5oKHW5RCboQ_AUICygC&biw=1920&bih=941#tbm=isch&q=RFM69H+pinout&imgrc=c_R-Nh2VtBGlRM:

                              Im giving it a second try with the SMA tonight... I will rotate it 180dgr and maybe I can fit it there...

                              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

                              1 Reply Last reply
                              0
                              • S shabba

                                What is the purpose of the Raw connection under the radio connection? Designed for a jumper to supply RAW to MYSX connection?
                                Also any other caveats to be aware of when using RAW and a 3.3 mini and skipping the regulator?

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

                                @shabba the purpose is to keep the raw power away from the 16 pin breakout header if it is not needed. If you connect the jumper, you will have raw power available on pin 1 of the header.

                                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
                                  #136

                                  I was working on a project last night and was using an old REV 8 board for it. After wiring it up I needed to check some things with the pins on the breakout header. When I looked at the site, which showed the REV 9 board, I noticed that the breakout header is quite different between the REV 8 and REV 9 boards. I figured that it was worth noting to people here to watch what diagram you are looking at compared to what REV of the board you are using.

                                  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
                                  0
                                  • dbemowskD dbemowsk

                                    I was working on a project last night and was using an old REV 8 board for it. After wiring it up I needed to check some things with the pins on the breakout header. When I looked at the site, which showed the REV 9 board, I noticed that the breakout header is quite different between the REV 8 and REV 9 boards. I figured that it was worth noting to people here to watch what diagram you are looking at compared to what REV of the board you are using.

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

                                    @dbemowsk - thank you for pointing this out!
                                    Rev 8 is MysX 1.X and one of the reasons I upgraded to Rev 9 is because MysX 2.X came out. The pins are a bit changed but much better in MysX 2.X. For more details can study the changes.txt as well in the project.

                                    I will add this to Q&A for EasyPCB so other users dont miss it!
                                    Thanks again!

                                    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

                                    1 Reply Last reply
                                    1
                                    • M Offline
                                      M Offline
                                      Markus.
                                      wrote on last edited by
                                      #138

                                      Hi All,
                                      I have a lot of these PCBs in Rev.9 running as battery powered sensors. Also some with regulated power. They are running currentl with a NRF24L01. But i need to use on some sensors a RFM69 868 Radio. I have few breakout boards to use a RFM69 on a NRF24L01 connector. Is it possilbe just to replace the Radios on my EasyPBCs NRF to use RFM69 Radios? Think from power perspective should this be working. Well I know I have to Change also the Radio type in the Sketch. But is there anything more to do? Like cabling or specific Settings in the Sketch?

                                      Many Thanks
                                      Markus

                                      korttomaK gohanG 2 Replies Last reply
                                      0
                                      • M Markus.

                                        Hi All,
                                        I have a lot of these PCBs in Rev.9 running as battery powered sensors. Also some with regulated power. They are running currentl with a NRF24L01. But i need to use on some sensors a RFM69 868 Radio. I have few breakout boards to use a RFM69 on a NRF24L01 connector. Is it possilbe just to replace the Radios on my EasyPBCs NRF to use RFM69 Radios? Think from power perspective should this be working. Well I know I have to Change also the Radio type in the Sketch. But is there anything more to do? Like cabling or specific Settings in the Sketch?

                                        Many Thanks
                                        Markus

                                        korttomaK Offline
                                        korttomaK Offline
                                        korttoma
                                        Hero Member
                                        wrote on last edited by
                                        #139

                                        @Markus. Keep in mind that the RFM69 radio pins are not 5V tolerable so use them only with 3.3V Pro mini. And like you said change the radio type in sketch.

                                        • Tomas
                                        M 1 Reply Last reply
                                        0
                                        • korttomaK korttoma

                                          @Markus. Keep in mind that the RFM69 radio pins are not 5V tolerable so use them only with 3.3V Pro mini. And like you said change the radio type in sketch.

                                          M Offline
                                          M Offline
                                          Markus.
                                          wrote on last edited by Markus.
                                          #140

                                          @korttoma yes i use the pro mini 3,3V but can Ireplace the Radios simply with a modification of the Sketch ? Because hen I Flash following Sketch to the Easy pcb:

                                          // Sample RFM69 receiver/gateway sketch, with ACK and optional encryption, and Automatic Transmission Control
                                          // Passes through any wireless received messages to the serial port & responds to ACKs
                                          // It also looks for an onboard FLASH chip, if present
                                          // **********************************************************************************
                                          // Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact
                                          // **********************************************************************************
                                          // License
                                          // **********************************************************************************
                                          // This program is free software; you can redistribute it 
                                          // and/or modify it under the terms of the GNU General    
                                          // Public License as published by the Free Software       
                                          // Foundation; either version 3 of the License, or        
                                          // (at your option) any later version.                    
                                          //                                                        
                                          // This program is distributed in the hope that it will   
                                          // be useful, but WITHOUT ANY WARRANTY; without even the  
                                          // implied warranty of MERCHANTABILITY or FITNESS FOR A   
                                          // PARTICULAR PURPOSE. See the GNU General Public        
                                          // License for more details.                              
                                          //                                                        
                                          // Licence can be viewed at                               
                                          // http://www.gnu.org/licenses/gpl-3.0.txt
                                          //
                                          // Please maintain this license information along with authorship
                                          // and copyright notices in any redistribution of this code
                                          // **********************************************************************************
                                          #include <RFM69.h>         //get it here: https://www.github.com/lowpowerlab/rfm69
                                          #include <RFM69_ATC.h>     //get it here: https://www.github.com/lowpowerlab/rfm69
                                          #include <SPIFlash.h>      //get it here: https://www.github.com/lowpowerlab/spiflash
                                          #include <SPI.h>           //included with Arduino IDE install (www.arduino.cc)
                                          
                                          //*********************************************************************************************
                                          //************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE *************
                                          //*********************************************************************************************
                                          #define NODEID        1    //unique for each node on same network
                                          #define NETWORKID     100  //the same on all nodes that talk to each other
                                          //Match frequency to the hardware version of the radio on your Moteino (uncomment one):
                                          //#define FREQUENCY     RF69_433MHZ
                                          #define FREQUENCY     RF69_868MHZ
                                          //#define FREQUENCY     RF69_915MHZ
                                          #define ENCRYPTKEY    "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes!
                                          #define IS_RFM69HW_HCW  //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW!
                                          //*********************************************************************************************
                                          //Auto Transmission Control - dials down transmit power to save battery
                                          //Usually you do not need to always transmit at max output power
                                          //By reducing TX power even a little you save a significant amount of battery power
                                          //This setting enables this gateway to work with remote nodes that have ATC enabled to
                                          //dial their power down to only the required level
                                          #define ENABLE_ATC    //comment out this line to disable AUTO TRANSMISSION CONTROL
                                          //*********************************************************************************************
                                          #define SERIAL_BAUD   115200
                                          
                                          #ifdef __AVR_ATmega1284P__
                                            #define LED           15 // Moteino MEGAs have LEDs on D15
                                            #define FLASH_SS      23 // and FLASH SS on D23
                                          #else
                                            #define LED           9 // Moteinos have LEDs on D9
                                            #define FLASH_SS      8 // and FLASH SS on D8
                                          #endif
                                          
                                          #ifdef ENABLE_ATC
                                            RFM69_ATC radio;
                                          #else
                                            RFM69 radio;
                                          #endif
                                          
                                          SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit  Windbond chip (W25X40CL)
                                          bool promiscuousMode = false; //set to 'true' to sniff all packets on the same network
                                          
                                          void setup() {
                                            Serial.begin(SERIAL_BAUD);
                                            delay(10);
                                            radio.initialize(FREQUENCY,NODEID,NETWORKID);
                                          #ifdef IS_RFM69HW_HCW
                                            radio.setHighPower(); //must include this only for RFM69HW/HCW!
                                          #endif
                                            radio.encrypt(ENCRYPTKEY);
                                            radio.promiscuous(promiscuousMode);
                                            //radio.setFrequency(919000000); //set frequency to some custom frequency
                                            char buff[50];
                                            sprintf(buff, "\nListening at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915);
                                            Serial.println(buff);
                                            if (flash.initialize())
                                            {
                                              Serial.print("SPI Flash Init OK. Unique MAC = [");
                                              flash.readUniqueId();
                                              for (byte i=0;i<8;i++)
                                              {
                                                Serial.print(flash.UNIQUEID[i], HEX);
                                                if (i!=8) Serial.print(':');
                                              }
                                              Serial.println(']');
                                              
                                              //alternative way to read it:
                                              //byte* MAC = flash.readUniqueId();
                                              //for (byte i=0;i<8;i++)
                                              //{
                                              //  Serial.print(MAC[i], HEX);
                                              //  Serial.print(' ');
                                              //}
                                            }
                                            else
                                              Serial.println("SPI Flash MEM not found (is chip soldered?)...");
                                              
                                          #ifdef ENABLE_ATC
                                            Serial.println("RFM69_ATC Enabled (Auto Transmission Control)");
                                          #endif
                                          }
                                          
                                          byte ackCount=0;
                                          uint32_t packetCount = 0;
                                          void loop() {
                                            //process any serial input
                                            if (Serial.available() > 0)
                                            {
                                              char input = Serial.read();
                                              if (input == 'r') //d=dump all register values
                                                radio.readAllRegs();
                                              if (input == 'E') //E=enable encryption
                                                radio.encrypt(ENCRYPTKEY);
                                              if (input == 'e') //e=disable encryption
                                                radio.encrypt(null);
                                              if (input == 'p')
                                              {
                                                promiscuousMode = !promiscuousMode;
                                                radio.promiscuous(promiscuousMode);
                                                Serial.print("Promiscuous mode ");Serial.println(promiscuousMode ? "on" : "off");
                                              }
                                              
                                              if (input == 'd') //d=dump flash area
                                              {
                                                Serial.println("Flash content:");
                                                int counter = 0;
                                          
                                                while(counter<=256){
                                                  Serial.print(flash.readByte(counter++), HEX);
                                                  Serial.print('.');
                                                }
                                                while(flash.busy());
                                                Serial.println();
                                              }
                                              if (input == 'D')
                                              {
                                                Serial.print("Deleting Flash chip ... ");
                                                flash.chipErase();
                                                while(flash.busy());
                                                Serial.println("DONE");
                                              }
                                              if (input == 'i')
                                              {
                                                Serial.print("DeviceID: ");
                                                word jedecid = flash.readDeviceId();
                                                Serial.println(jedecid, HEX);
                                              }
                                              if (input == 't')
                                              {
                                                byte temperature =  radio.readTemperature(-1); // -1 = user cal factor, adjust for correct ambient
                                                byte fTemp = 1.8 * temperature + 32; // 9/5=1.8
                                                Serial.print( "Radio Temp is ");
                                                Serial.print(temperature);
                                                Serial.print("C, ");
                                                Serial.print(fTemp); //converting to F loses some resolution, obvious when C is on edge between 2 values (ie 26C=78F, 27C=80F)
                                                Serial.println('F');
                                              }
                                            }
                                          
                                            if (radio.receiveDone())
                                            {
                                              Serial.print("#[");
                                              Serial.print(++packetCount);
                                              Serial.print(']');
                                              Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] ");
                                              if (promiscuousMode)
                                              {
                                                Serial.print("to [");Serial.print(radio.TARGETID, DEC);Serial.print("] ");
                                              }
                                              for (byte i = 0; i < radio.DATALEN; i++)
                                                Serial.print((char)radio.DATA[i]);
                                              Serial.print("   [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]");
                                              
                                              if (radio.ACKRequested())
                                              {
                                                byte theNodeID = radio.SENDERID;
                                                radio.sendACK();
                                                Serial.print(" - ACK sent.");
                                          
                                                // When a node requests an ACK, respond to the ACK
                                                // and also send a packet requesting an ACK (every 3rd one only)
                                                // This way both TX/RX NODE functions are tested on 1 end at the GATEWAY
                                                if (ackCount++%3==0)
                                                {
                                                  Serial.print(" Pinging node ");
                                                  Serial.print(theNodeID);
                                                  Serial.print(" - ACK...");
                                                  delay(3); //need this when sending right after reception .. ?
                                                  if (radio.sendWithRetry(theNodeID, "ACK TEST", 8, 0))  // 0 = only 1 attempt, no retries
                                                    Serial.print("ok!");
                                                  else Serial.print("nothing");
                                                }
                                              }
                                              Serial.println();
                                              Blink(LED,3);
                                            }
                                          }
                                          
                                          void Blink(byte PIN, int DELAY_MS)
                                          {
                                            pinMode(PIN, OUTPUT);
                                            digitalWrite(PIN,HIGH);
                                            delay(DELAY_MS);
                                            digitalWrite(PIN,LOW);
                                          }
                                          
                                          

                                          I get following result:

                                          Listening at 868 Mhz...
                                          SPI Flash MEM not found (is chip soldered?)...
                                          RFM69_ATC Enabled (Auto Transmission Control)
                                          
                                          
                                          
                                          
                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          7

                                          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