RFM69HW temp-humidity node
-
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 ;) -
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:

I think either one meets that goal.It seems the collection of small MySensor nodes is growing :-)
Nice work ! -
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 ;)@Nca78 said:
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 ;)Actually, they're really just proof-of-concept boards to confirm that the radio would work OK on such boards. Both nodes may have a fatal design flaw, which is that the sensor breakout boards may be running 24/7 even if the atmega328p is sleeping. Anyone know if the boards (not just the sensor chip) can be slept at <1uA current? If that's not possible, then I'll need to run them from a pin (or possibly some kind of load switch chip if their max current draw is ever greater than 20ma). I guess I'll need to measure it unless someone already has. Have you?
-
@Nca78 said:
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 ;)Actually, they're really just proof-of-concept boards to confirm that the radio would work OK on such boards. Both nodes may have a fatal design flaw, which is that the sensor breakout boards may be running 24/7 even if the atmega328p is sleeping. Anyone know if the boards (not just the sensor chip) can be slept at <1uA current? If that's not possible, then I'll need to run them from a pin (or possibly some kind of load switch chip if their max current draw is ever greater than 20ma). I guess I'll need to measure it unless someone already has. Have you?
@NeverDie I have measured a board based on pro mini with BME280 (put in sleep mode, that's why I use the Sparkfun library) and a BH1750 (also in sleep mode between measurements) and my meter was giving me 17-18µA which is beginning to be too much for a CR battery. But still after running 3 weeks on a chinese CR2032 I see no drop in voltage. BME280 is not so good IMHO for very low power as it's a bit long to make the measurements, and drawing up to a few hundreds of µA while doing so.
I'm also running a board based on pro mini with a SHT21 breakout board (same than yours, with the film as without it will get dirty and lose accuracy quickly). Pro mini + radio alone consume a few µA only (sleep mode of MySensors library) and extra consumption from SHT21 (connected to Vcc) is invisible. I tried to measure with my multimeter the consumption of the SHT21 breakout board alone and it just can't measure anything. Even during measurement my multimeter sees nothing as it's extremely quick.
I did a sketch without sleeps between consecutive sendings (very bad for coin cell), sending every minute (and even if temp/hum don't change it's sending battery voltage), flashing a led after each sending. And with power from 2 cheap chinese LR41 (capacity 25mAh) it's on the way to last 2 months... -
@NeverDie I have measured a board based on pro mini with BME280 (put in sleep mode, that's why I use the Sparkfun library) and a BH1750 (also in sleep mode between measurements) and my meter was giving me 17-18µA which is beginning to be too much for a CR battery. But still after running 3 weeks on a chinese CR2032 I see no drop in voltage. BME280 is not so good IMHO for very low power as it's a bit long to make the measurements, and drawing up to a few hundreds of µA while doing so.
I'm also running a board based on pro mini with a SHT21 breakout board (same than yours, with the film as without it will get dirty and lose accuracy quickly). Pro mini + radio alone consume a few µA only (sleep mode of MySensors library) and extra consumption from SHT21 (connected to Vcc) is invisible. I tried to measure with my multimeter the consumption of the SHT21 breakout board alone and it just can't measure anything. Even during measurement my multimeter sees nothing as it's extremely quick.
I did a sketch without sleeps between consecutive sendings (very bad for coin cell), sending every minute (and even if temp/hum don't change it's sending battery voltage), flashing a led after each sending. And with power from 2 cheap chinese LR41 (capacity 25mAh) it's on the way to last 2 months...@Nca78
I just now measured the si7021 and BME280 breakout boards using the Dave Jones Microcurrent device. I did nothing more than power them from a battery pack (2x AA Alkaline batteries) using Vin and GND, but the si7021 measured 8.4uA, and the BME280uA measured 8.1uA. Not bad at all, assuming that represents quiescent current.I suspect the easiest thing will be to power them from a pin on the atmega328p. That way they can be switched off when not in use. When time permits I'll do that and measure the current with a scope trace just to make sure any inrush current doesn't exceed 20ma (which is the max current an atmega328p pin is rated for).
When both the atmega328p and RFM69HW are sleeping just by themselves, the current draw can be as low as 250na (yes, nanoamps) with the right configuration.
-
@Nca78
I just now measured the si7021 and BME280 breakout boards using the Dave Jones Microcurrent device. I did nothing more than power them from a battery pack (2x AA Alkaline batteries) using Vin and GND, but the si7021 measured 8.4uA, and the BME280uA measured 8.1uA. Not bad at all, assuming that represents quiescent current.I suspect the easiest thing will be to power them from a pin on the atmega328p. That way they can be switched off when not in use. When time permits I'll do that and measure the current with a scope trace just to make sure any inrush current doesn't exceed 20ma (which is the max current an atmega328p pin is rated for).
When both the atmega328p and RFM69HW are sleeping just by themselves, the current draw can be as low as 250na (yes, nanoamps) with the right configuration.
@NeverDie it's quite common to power them with a pin and never heard about a damage, I don't think you can have inrush current over 20mA. Max starting current for si7021 is 4mA for a maximum duration of 5ms, if we believe the datasheet.
No info about that in the BME280 datasheet but I see very low power consumption in sleep mode (below 1µA) so maybe removing the regulator is not a bad idea...
A problem I have with BME280 also is that sometimes the first measurement (after for example a reset of the node) is off, I'm not sure why, if you have an idea I'm interested :) But if you have the same problem powering with a pin could be annoying.For the consumption of the board I cannot tell exactly how low I can go as I don't have a microcurrent device to test but my meter says 2µA or a bit below. With a temperature/humidity measurement you have to use the watchdog timer to wake up regularly so whatever you configure you won't get below 5µA I believe ?
-
@NeverDie it's quite common to power them with a pin and never heard about a damage, I don't think you can have inrush current over 20mA. Max starting current for si7021 is 4mA for a maximum duration of 5ms, if we believe the datasheet.
No info about that in the BME280 datasheet but I see very low power consumption in sleep mode (below 1µA) so maybe removing the regulator is not a bad idea...
A problem I have with BME280 also is that sometimes the first measurement (after for example a reset of the node) is off, I'm not sure why, if you have an idea I'm interested :) But if you have the same problem powering with a pin could be annoying.For the consumption of the board I cannot tell exactly how low I can go as I don't have a microcurrent device to test but my meter says 2µA or a bit below. With a temperature/humidity measurement you have to use the watchdog timer to wake up regularly so whatever you configure you won't get below 5µA I believe ?
@Nca78 said:
@NeverDie
A problem I have with BME280 also is that sometimes the first measurement (after for example a reset of the node) is off, I'm not sure why, if you have an idea I'm interested :)Here's my guess: it uses a sample and hold ADC when taking the measurement, and the capacitors aren't fully charged up when it takes the first sample. i.e. it might be similar to the problem in the atmega328p when it comes to measuring its own voltage source.
For the consumption of the board I cannot tell exactly how low I can go as I don't have a microcurrent device to test but my meter says 2µA or a bit below. With a temperature/humidity measurement you have to use the watchdog timer to wake up regularly so whatever you configure you won't get below 5µA I believe ?
There's a trick for doing it using the RFM69HW to act as a wakeup timer, and it costs no extra current to do so. That's a whole topic into itself. Beyond that, you need both BOD and watchdog disabled on the atmega328p in order to get it down to the nanocurrent level while sleeping. In addition, you'll also want to use the internal resonator, not an external resonator or crystal in order to minimize time (and current) wasted during the wakeup phase. Doing that you can reduce the wakeup time for the atmega to <4uSec, which in itself is a huge savings.
So, getting back to throwing out the first sensor reading: the first thing you do after waking up the atmega328p is to initiate the first sensor reading. Then put the atmega back to sleep but wakeup when the first sensor reading is ready. Then simply ignore that sensor reading and initiate the second sensor reading (or however many it takes to get an accurate reading), and sleep the atemega while it's being taken. That's the magic of a <4uSec wakeup time. You can't do anything about the sensor requiring more than one reading in order to get an accurate measurement, but you don't need to waste power on the atmega or the radio while you wait.
-
I just now tried powering the si7021 off of pin 8, but for some reason it isn't working. Same with the BME280. Not sure why. I even tried doing it with a 5v arduino uno, but same result. If I go back to powering it from Vin (either 3v3 or 5v), then everything works again. I also tried powering from pin 4 with the same result. Just powering the breakout board itself doesn't appear to be a problem, but when I hookup SDA and/or SCL, the mcu appears to lock up. Very puzzling. I'm doing this on a breadboard with dupont wires. Maybe there's noise on the wires that hangs it up? Anyhow, at the moment I'm not sure what to make of it.
Looking at the si7021 datasheet, I notice it does contain a heater, and that the heater current can be as high as 94ma. So, if that's enabled by the adafruit library, then that might explain the failure. I'm not sure it's that though.
-
I'm not sure why powering it from a pin is fundamentally different than powering it from the battery, unless the current max is exceeded, which it doesn't appear to be. Tis a mystery.
-
So, I removed the voltage regulator on the si7021 and shorted Vin to Vout on the pads where it used to be. The above anomaly persists.
I then re-ran the current consumption test that I did at earlier, again using the Dave Jones Microcurrent . This time it's showing just 57nA consumed with power to the si7021 breakout board and with no SDA or SCL datalines connected. So, virtually all of the previous current that was measured was being consumed by the voltage regulator, which isn't needed when everything is powered from just two AA batteries.
-
According to the si7021 datasheet, a typical standby current is 60nA, which is very close to what I measured on the si7021 breakout board in the post directly above.
60nA is not significant. Therefore, there is no need to switch the si7021 on and off using either a digital pin or a load switch. It can simply be on all the time, as it is in the current pcb board layout.
-
According to the si7021 datasheet, a typical standby current is 60nA, which is very close to what I measured on the si7021 breakout board in the post directly above.
60nA is not significant. Therefore, there is no need to switch the si7021 on and off using either a digital pin or a load switch. It can simply be on all the time, as it is in the current pcb board layout.
I changed the orientation of the sensor plug-in so that the sensor element will be facing up on the small board design. I also cleaned up some smaller details and sent the revised design to the fab last night.
-
@TimO
Thanks! That exactly matches what my micrometer says also, so I'll go with that.So now the question is: what diameter hole should I have drilled for that? Is there a rule of thumb? e.g. Would 1.45 be too snug? Too loose?
@NeverDie said:
So now the question is: what diameter hole should I have drilled for that? Is there a rule of thumb? e.g. Would 1.45 be too snug? Too loose?
Answering my own question, standard pin clearance on a thru-hole is apparently anywhere from 0.15mm to 0.8mm: http://electronics.stackexchange.com/questions/110959/how-much-clearance-should-you-include-in-through-hole-component-holes
So, I think I'll go for somewhere in the middle, say 0.25mm added to the pin diameter for the thru-hole diameter that's to be drilled.
A typical header pin is 0.65mm. So, the thru-hole diameter should be 0.65+0.25 = 0.9mm
From a routing perspective, smaller diameter pads are preferable, because they leave more room for routing traces. Pad diameter is going to be hole diameter plus some fixed incremental amount.
-
I changed the orientation of the sensor plug-in so that the sensor element will be facing up on the small board design. I also cleaned up some smaller details and sent the revised design to the fab last night.
@NeverDie said:
I changed the orientation of the sensor plug-in so that the sensor element will be facing up on the small board design. I also cleaned up some smaller details and sent the revised design to the fab last night.
As it turns out, there may be a good reason to have the sensor element face down after all: dust is less likely to settle on the cover/sensor-opening if it's facing down rather than up, simply due to gravity.
-
I assembled a node based on the interstitial design, but net net I don't see it as advantageous as compared to the other two, so I'll probably drop that approach. I've come up with a fourth design though and I've sent that to the fab, so presently three different designs are in queue for PCB fabrication.
-
Here's a photo of a TH node based on a Pro Mini with an interstitial board:

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

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?
@NeverDie said:
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?
I'm more and more liking the idea of detachable parts, especially as I continue to evolve the designs. That way if I move to a new PCB design, I can job pop the parts off the old PCB and pop them onto the new one without having to desolder things.
-
To keep things rolling I just sent in to be fabricated a test board with 1.45mm holes . It cost just 30 cents. If anyone has an idea for a better diameter to try, let me know and I'll send in one of those as well.

@NeverDie said:
To keep things rolling I just sent in to be fabricated a test board with 1.45mm holes . It cost just 30 cents. If anyone has an idea for a better diameter to try, let me know and I'll send in one of those as well.

Today I received the test board from the fab and tried it out:

As you can see from the photo (sorry that it's out of focus), it works in the sense that the female machine pin header now sits flush against the board. It's a snug fit though. For a female header that's longer and with more pins in it, I think the holes are going to need greater clearance or it will likely be too tight a fit. Just a wild guess, but I think 1.6mm diameter holes are what I should try next, and with a 14 pin female machine pin header.
-
@NeverDie said:
Here's a photo of a TH node based on a Pro Mini with an interstitial board:
Where can I order this board?
Do you have a location where one could see all the boards you have developed?