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. My Project
  3. RFM69HW temp-humidity node

RFM69HW temp-humidity node

Scheduled Pinned Locked Moved My Project
64 Posts 7 Posters 20.7k Views 9 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.
  • NeverDieN Offline
    NeverDieN Offline
    NeverDie
    Hero Member
    wrote on last edited by
    #22

    I assembled the FTDI adapter board yesterday. I should have spaced the pads further apart on the switch (well, at least for the switch I'm using) and also on the through-hole resistors. Anyhow, I only need one, so I don't think I'll be updating it.

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

      I assembled the first node from post #1 today, but it didn't work. Upon investigation, I found that one of the required traces was not there! I had generated the trace layout using diptraces auto-router, and it didn't indicate a failure. Most likely I over-constrained the problem by making the PCB board size smaller than I should have. However, if I had known that the auto-routing had failed, I could have relaxed that enough for it to succeed.

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

        So, I was able to make the board work by soldering on a single "oops" wire to compensate for the missing trace. I guess I'll be redoing this board so that's not required on future builds. The FTDI adapter board also had an oops that I fixed without much difficulty. Using the adapter board I've verified I can upload new sketches to the node from post #1. The reset button also works as intended. So, the adapter board feasibility is now proven.

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

          I took a shot at soldering the smaller board with the much tinier atmega328p, but for now I've concluded that hand soldering such a small chip is simply more work than it's worth. Perhaps with a reflow oven....

          I'm still waiting for the interstitial board to arrive.

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

            Soldering an atmega328 smt is easy:
            https://www.youtube.com/watch?v=UeCZ9AMG3Vo
            according to that guy, anyway. Maybe the longer pads makes it so?

            1 Reply Last reply
            0
            • NeverDieN NeverDie

              I took a shot at soldering the smaller board with the much tinier atmega328p, but for now I've concluded that hand soldering such a small chip is simply more work than it's worth. Perhaps with a reflow oven....

              I'm still waiting for the interstitial board to arrive.

              NeverDieN Offline
              NeverDieN Offline
              NeverDie
              Hero Member
              wrote on last edited by
              #27

              This has a lot of detail about soldering the atmega328 surface mount:
              https://www.youtube.com/watch?v=-yc3zEe0RA0
              So, though it's obviously doable, I still wouldn't say it's "easy."

              NeverDieN 1 Reply Last reply
              0
              • NeverDieN NeverDie

                This has a lot of detail about soldering the atmega328 surface mount:
                https://www.youtube.com/watch?v=-yc3zEe0RA0
                So, though it's obviously doable, I still wouldn't say it's "easy."

                NeverDieN Offline
                NeverDieN Offline
                NeverDie
                Hero Member
                wrote on last edited by
                #28

                I finally had success using the Dave Jones tack and reflow method. The hardest part is just ensuring that the chip is properly aligned after the tack. From that point on, iit goes relatively easy.

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

                  So, LED is blinking like it should, and I can download sketches to it. I plugged in an si7021 board, and that's working too:

                  Humidity: 44.42 Temperature: 22.22
                  Humidity: 44.40 Temperature: 22.22
                  Humidity: 44.43 Temperature: 22.23
                  Humidity: 44.42 Temperature: 22.22
                  Humidity: 44.43 Temperature: 22.21
                  Humidity: 44.43 Temperature: 22.22
                  Humidity: 44.44 Temperature: 22.22

                  Looks as though a BME280 board, which has the same pinout as the si7021 board, should work also.
                  alt text
                  I tried the adafruit library on such a BME280, but it says it can't find the sensor. So, I tried the sparkfun library instead, and it is outputing false information:

                  Temperature: 0.00 degrees C
                  Temperature: 32.00 degrees F
                  Pressure: 0.00 Pa
                  Altitude: 45846.20m
                  Altitude: 150414.04ft
                  %RH: 0.00 %

                  Looking at the back of the BME280 board , it looks like it may have a voltage regulator and/or level converter on it (?)..
                  alt text
                  Since I'm feeding it 3.3v, not 5v, then perhaps that's the problem.

                  The part is 662K, and sure enough, it's a voltage regulator:
                  alt text

                  If I remove that and short Vin to the 3v3 lead, maybe it will work....

                  So, to see if it works at all, I hooked up the BME280 board to an arduino uno at 5v, and... still no joy. Apparently, I received a defective BME280. :disappointed: Murphy's Law strikes again. Therefore, I'll exchange it for another one. Meanwhile, I'll use the si7021.

                  1 Reply Last reply
                  0
                  • Nca78N Offline
                    Nca78N Offline
                    Nca78
                    Hardware Contributor
                    wrote on last edited by Nca78
                    #30

                    Hello, I had a problem with BME280 too. Both Adafruit and Sparkfun use 0x77 as default address, but I have the same breakout board than you and the i2c address is 0x76.
                    Voltage regulator is not a problem it's a XC6206 and it's drawing close to nothing when you feed it with low voltage, and for battery voltage (3v down to 2V) the drop out voltage should be around 0.1V.

                    You can pass the address of the sensor in the begin method, it defaults to the one defined in the h file which is 0x77

                    #define BME280_ADDRESS                (0x77)
                    
                     bool  begin(uint8_t addr = BME280_ADDRESS);
                    

                    (I use the sparkfun library at the moment as it's easier to set the running mode of the sensor to switch it to sleep mode after measurement. Else it's using too much power for battery operation)

                    NeverDieN 1 Reply Last reply
                    1
                    • NeverDieN NeverDie

                      I also just now designed this pro mini interstitial board and sent it off to be fabbed:
                      0_1474666049854_interstitial.png
                      Just attach an RFM69HW and the si7021 to the board, and then plug it into a pro mini. Voila! You now have a temp-RH node. You will have to remove the LED from pin 13 on the pro mini, but that's no big deal. Also, it's obviously intended for a 3.3V pro mini, not a 5V pro mini.

                      I suspect that for most people, this would be the simplest to put together. The board is less than 1 square inch in area.

                      FotoFieberF Offline
                      FotoFieberF Offline
                      FotoFieber
                      Hardware Contributor
                      wrote on last edited by
                      #31

                      @NeverDie
                      Nice. Could you please open your design? -> www.openhardware.io

                      1 Reply Last reply
                      0
                      • Nca78N Nca78

                        Hello, I had a problem with BME280 too. Both Adafruit and Sparkfun use 0x77 as default address, but I have the same breakout board than you and the i2c address is 0x76.
                        Voltage regulator is not a problem it's a XC6206 and it's drawing close to nothing when you feed it with low voltage, and for battery voltage (3v down to 2V) the drop out voltage should be around 0.1V.

                        You can pass the address of the sensor in the begin method, it defaults to the one defined in the h file which is 0x77

                        #define BME280_ADDRESS                (0x77)
                        
                         bool  begin(uint8_t addr = BME280_ADDRESS);
                        

                        (I use the sparkfun library at the moment as it's easier to set the running mode of the sensor to switch it to sleep mode after measurement. Else it's using too much power for battery operation)

                        NeverDieN Offline
                        NeverDieN Offline
                        NeverDie
                        Hero Member
                        wrote on last edited by
                        #32

                        @Nca78
                        Thank you! I changed the I2C address to 0x76, and now I get the correct readings (in this case, using Sparkfun library):

                        Temperature: 22.77 degrees C
                        Temperature: 73.00 degrees F
                        Pressure: 99002.00 Pa
                        Altitude: 202.13m
                        Altitude: 663.15ft
                        %RH: 47.00 %

                        Fantastic! It works after all. Thank you again.

                        NeverDieN 1 Reply Last reply
                        1
                        • NeverDieN NeverDie

                          @Nca78
                          Thank you! I changed the I2C address to 0x76, and now I get the correct readings (in this case, using Sparkfun library):

                          Temperature: 22.77 degrees C
                          Temperature: 73.00 degrees F
                          Pressure: 99002.00 Pa
                          Altitude: 202.13m
                          Altitude: 663.15ft
                          %RH: 47.00 %

                          Fantastic! It works after all. Thank you again.

                          NeverDieN Offline
                          NeverDieN Offline
                          NeverDie
                          Hero Member
                          wrote on last edited by NeverDie
                          #33

                          I designed the miniature board in the earlier post for the temp-RH sensor to hover over the atmega328p.
                          alt text
                          Maybe it doesn't matter all that much, but after assembling one that way, I'm realizing it would be better to have it hover over the radio instead because the radio antenna means that the radio side is more likely to be facing up and the atmega328p is flat enough that it can be sat upon on the bottom with the radio on top without complaint. As it stands, the temp-RH sensor could still be installed on the radio side of the PCB, but it would be facing outward (resulting in a larger footprint) rather than inward, hovering over the radio. Since the point of this node is to be small, the status quo somewhat defeats the purpose. So, I'll likely be revising the PCB layout to make that change. Also, I'll be eliminating those RFM69 pads that don't actually need to be soldered, as that will reduce that soldering/assembly time.

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

                            Here's the node from post #1 fully assembled, and with a BME280 instead of an si7021:
                            0_1476121957739_temp-RH node.jpg

                            I'm starting to toy with the idea of having the radio also be a detachable module. The BME280 is the most expensive part on the board, and it's detachable. The atmega328p is detachable. If the radio were also detachable, it might speed up the assembly and test process. Also, if the radio were to go bad for some reason, one could just pop in a new one. Modularizing like that might make the whole thing easier to repair and troubleshoot, because you could always swap in "known good" modules to see if it fixes a particular problem. Anyhow, just an idea I'm kicking around. What do you all think? Make it more modular, or keep as is?

                            GertSandersG NeverDieN 2 Replies Last reply
                            1
                            • NeverDieN NeverDie

                              Here's the node from post #1 fully assembled, and with a BME280 instead of an si7021:
                              0_1476121957739_temp-RH node.jpg

                              I'm starting to toy with the idea of having the radio also be a detachable module. The BME280 is the most expensive part on the board, and it's detachable. The atmega328p is detachable. If the radio were also detachable, it might speed up the assembly and test process. Also, if the radio were to go bad for some reason, one could just pop in a new one. Modularizing like that might make the whole thing easier to repair and troubleshoot, because you could always swap in "known good" modules to see if it fixes a particular problem. Anyhow, just an idea I'm kicking around. What do you all think? Make it more modular, or keep as is?

                              GertSandersG Offline
                              GertSandersG Offline
                              GertSanders
                              Hardware Contributor
                              wrote on last edited by
                              #35

                              @NeverDie

                              And making also the radio a detachable board would save you some board-space, thus reducing the cost again.

                              NeverDieN 1 Reply Last reply
                              1
                              • GertSandersG GertSanders

                                @NeverDie

                                And making also the radio a detachable board would save you some board-space, thus reducing the cost again.

                                NeverDieN Offline
                                NeverDieN Offline
                                NeverDie
                                Hero Member
                                wrote on last edited by NeverDie
                                #36

                                @GertSanders
                                Good point. I'd probably want to move the temp-rh sensor to the other side of the board as well so that it would be on the same side as the detachable radio.. In that case, it wouldn't need to sit so high, because it wouldn't need the clearance to get above the atmega328p. So, it would save on thickness that way. Overall thickness might be a wash, and it would be shorter too, so that sounds like a potential win. I think it's worth exploring.

                                Not sure if there are 2mm pitch machine pins (?), but that might help save on thickness, and if so so that might be the best way to mount the RFM69.

                                I think I'll switch to an SMD LED after all and use the through-hole real estate occupied by the existing through-hole LED for dedicated wires soldered on to connect to batteries. Or perhaps I should consider some other kind of battery connector? It could be powered as is through dupont connectors on the ftdi header, but to me dupont connectors seem a bit loosey-goosey for a permanent battery connection--not sure how corrosion might affect a dupont connection over time.

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

                                  Here's the assembled small Temp-RH node:
                                  0_1476139061767_small temp-RH.jpg
                                  I suddenly realized that if I flipped the si7021 "upside down", then I could install it on the other size of the board from what I had originally intended, all while still using the existing pinout. -I'd prefer to have the actual sensor element facing up, but it works.

                                  So, as you can see, the entire thing is barely much bigger than the RFM69HW itself. On the opposite side is the SMD atmega328p-au , an SMD LED, an SMD resistor, and an SMD capacitor. That's it. I can reset the board and upload sketches to it using my FTDI adapter board, as I wrote about earlier in this thread.

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

                                    Here's another board, but this time I simply soldered everything directly to the PCB:
                                    0_1476151112835_soldered_directly.jpg
                                    As you would expect, it's a bit thinner than the version where modules plug-in, but not by so much that I think it would make any meaningful difference in most instances.

                                    FYI, this particular si7021 comes with a protective cover on it. You can get them either with or without the protective cover, but I think it makes more sense to get it with the cover because it helps mitigate against possible contaminants.

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

                                      I just now tested out the RFM69HW radios, and they all appear to be functioning just fine. I even put one inside a closed refrigerator, since that is one of the applications, and I received a strong signal.

                                      So, as far as I'm concerned, proof of concept is now completed for these two different board designs. It will be a good baseline to compare against as I make optimizations going forward.

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

                                        This photo illustrates one of the original objectives, which was to have a node that's appropriately sized to be powered by two AA cells:
                                        0_1476161676927_sized_right.jpg
                                        I think either one meets that goal.

                                        GertSandersG 1 Reply Last reply
                                        3
                                        • Nca78N Offline
                                          Nca78N Offline
                                          Nca78
                                          Hardware Contributor
                                          wrote on last edited by
                                          #41

                                          Nice work !
                                          For the "big" board, as you're constrained by the size of the 2 AA, I would use a pro mini instead of the bare atmega (more flat), and put the sensor on the side of the radio. It would also leave a bit of space for extra sensor (light for example) and maybe atsha for signing ?

                                          For the small one I would make another board of similar size with a coin cell holder and a big (100-220µF) ceramic capacitor, and use pins to bring power to the "IC" board and do the spacing at the same time.
                                          As it's a shame to have such a small board and such a huge power supply ;)

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


                                          18

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          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