Ever had complaints from your other half about those ugly things you're trying to put everywhere in the house ? Yes, we all do :D But that's not a fatality, you can build one you'll be proud to show for less than 12$ in AliExpress parts !
After a long quest, countless orders of objects I hoped to recycle into good looking sensors I finally found one that fits the bill: good looking, reasonably priced and big enough to contain an easy to solder MySensors node. It's a wireless charger, it seems a copy of a LG model that has a puck shape and 2 great features: a front led and vents at the bottom to ensure good airflow on a temperature/humidity sensor.
I tried to make this board as simple to solder as possible. Due to limited height I couldn't include a normal sized NRF24 module and had to use the SMD version, but it's not that hard to solder with its castellated pins :)
NO MORE WARNING: PCB tested, runs perfectly :)
You can find information about ordering the wireless chargers in this forum thread: https://forum.mysensors.org/topic/5033/clean-looking-sensor-node/
We need to remove leds and voltage regulator to save as much power as possible. I made a video that is low quality but shows how easy it is to unsolder led and voltage regulator on a pro mini, all you need is a tip that is not too big, clean (not like mine :)), and with a good amount of solder on it. Of course, it is smarted to first unsolder the voltage regulator, then the power led as without the regulator you will have more space for your soldering iron. Instead of removing the power led, you can remove the resistor that is next to it, with "102" marking (it will produce the same effect and it's a bit easier to unsolder)
On the side, insert the screwdriver and push a little bit down, move progressively toward the center until plastic separator is moved down on all its length. Repeat until separator reaches the bottom of the pins and remove it carefuly. Remember, always do it millimeter by millimeter so you will not exert too much force on the header and not bend them. Put the bottom of the pins on a hard surface when you push down, this will also limit the mechanical force on the pins
From my experience with battery powered sensors using NRF24, you will get a better battery life if your arduino runs at 1MHz. It allows to run at much lower voltage (down to 2V) so you can get all the energy from CR2032 cell. But for that, you need to remove BOD or set it lower at 1.8V, as by default the BOD (Brown Out Detection) will reset your arduino at 2.7V. There are already some tutorials to explain how to write bootloader on the MySensors forum. Don't bother using a programmer, just use an arduino nano or uno with the ArduinoISP sketch (from the examples in Arduino software) and flash a 1MHz bootloader with 1.8V BOD (or no BOD).
After you have updated bootloader and BOD, connect a led and resistor on pin 13 and test with the blink sketch. Check that the interval between blinks is correct. If not you have probably a problem with the frequency of the board selected in Arduino.
Use the assembly order suggested below, I think it's the more convenient.
You should first solder the battery holder, it's a bit difficult because the holder is a big piece of metal and will absorb heat from your soldering iron. So I suggest the following process :
(Clear blue color) Don't be afraid of soldering the SMD radio module, it's simple :
(Yellow color) If you want to sign your messages, it's time to solder ATSHA chip and it's pullup resistor while you still have some space.
Solder the ProMini board, side headers and A4/A5 pins. Put it as close as possible to the PCB, you might have problem because of the soldering points of the programming headers. In this case melt the solder on them to be able to push down and remove any space between ProMini and PCB. After ProMini is soldered, cut the headers as close as possible to the PCB. It is important as the height available in the enclosure is limited.
(Dark blue color) It should be at least 4.7µF but I suggest to use 10µF. Buy a 10V rated version to lower the size as much as possible. It cannot stay straight on the board so you will have to bend the pin and put it over the radio. Meaning you first need to put a bit of electric tape on the radio module to avoid any short circuit. Be careful at the polarity, GND is marked "-" on the board, it's the round hole while Vcc is the hole with the square pad.
(Black color) To help the battery during high load (radio TX/RX) we need to use reserve capacitors. It must be at least 100µF but you can put 2 capacitors so 2100uF. Here again buy some that are 10V rated to save volume, and use 2100 instead of 1*220 as 220µF might not fit in the enclosure. Like for the radio capacitor, there's not enough depth in the enclosure to put the capacitors straight so you need to bend their pins to put them along the PCB, as drawn. I suggest you put a CR2032 cells (I use a dead one for that) in the battery holder to make sure you will have enough space for the button cell to slide in after you solder the reserve capacitors. Be careful at the polarity, GND is marked "-" on the board, it's the round hole while Vcc is the hole with the square pad.
(Purple color) You have to use the "SMD" version of this board, it's more compact and doesn't have a regulator which is much better for battery life. We solder it using the pins but do not use the through-hole version of the SHT21/SI7021 breakout board: the pinout is not the same ! Also, remember to never remove the white protective film on top of the sensor. If you remove it your measurements (especially humidity) will go wrong very quickly as the inside of the sensor will get dirty.
The included script will send temperature, humidity and battery level at regular intervals (default is 1 minute).
Sending frequency, low battery level, led flash duration and other settings are (I think) clearly explained at the beginning of the script. I've set some short values for initial connection and reconnection settings, that is made to save the battery in case the connection to gateway is lost.
This is not easy, you have to put a small screwdriver in one of the vents and pull. If it's too hard try the next vent until you have better luck :) I had success using a "DIP chip extractor" that is very bad at extracting DIP chips, but happens to have legs exactly of the same width than the vents, so if you have one laying around use it instead of the screwdriver.
PCB will fit in the enclosure with a little bit of force. You can use some double sided tape if you want but I didn't find it necessary. The "bottom" side of the PCB will be at the top side of the enclosure, so that the sensor is at the bottom near the vents of the enclosure (see picture). BUT when trying to fit the PCB in you will notice that you have a problem to fit the programming headers. That's why you needed to select straight headers: you can bend them as you wish, as close as possible to the PCB of the Pro Mini. Then, some of them will be too long to fit in the enclosure so you will have to shorten them until the PCB fits in.
|CNRF||10uF - 10V||CAP_POLPTH2||CPOL-RADIAL-10UF-25V||Radio capacitor|
|CR2032||20mm coincell||BATTERY20MM_4LEGS||BATTCON_20MM_4LEGS||CR2032 battery holder||AliExpress: 50pcs SMD Tab 20mm CR2032 2032 Battery Button Ce...|
|CRES||100uF - 10V||CAP_POLPTH2||CPOL-RADIAL-10UF-25V||Reserve capacitor|
|CRES1||100uF - 10V||CAP_POLPTH2||CPOL-RADIAL-10UF-25V||Reserve capacitor|
|M1||WIRELESS-NRF24L01SMD||WIRELESS-NRF24L01SMD||WIRELESS-NRF24L01-SMD||2.4 GHz Wireless Module based on NRF24L01 chip||AliExpress: 10pcs Component Kit NRF24l01+ 2.4GHz Wireless M...|
|PROMINI||3.3V / 8MHz||ARD_PRO_MINI_CLONE1||PRO_MINI_CLONE1||Pro-Mini Arduino Clone|
|RATSHA||R_0805||R_0805||Pullup resistor for ATSHA|
|R_LEDS||220-330||RESISTORPTH-1/4W||AXIAL-0.4||Current limiting resistor for LED|
|SHT21||BME280_SHT21SMD_SI7021_DIP||BME280_SHT21SMD_SI7021_DIP||I2C_BREAKOUT_SHT21_SMDDIP||I2C SMD breakout board for SHT21/SI7021||AliExpress: Industrial High Precision Si7021 Humidity Sensor...|
|U$2||LED-DUALCOLOR3MM-THROUGH-HOLE||LED-DUALCOLOR3MM-THROUGH-HOLE||LED-DUALCOLOR-3MM||3mm Red + Green common cathode LED||AliExpress: 50pcs LED 3mm Round Diffused Red & Green two Col...|
|U2||ATSHA||IC_ATSHA204A_CRYPT||SOT23-3||ATSHA 204A||AliExpress: https://www.aliexpress.com/item/Free-Shipping-10...|