Sunday, February 19, 2017

Remote Temp


Remote Temp is a 2.4Ghz radio, battery operated microcontroller board or sensor node. This would be something you could hang in a tree outside or hide in the attic and gather environmental data. Some of the design ideas fermenting are ...
  • Battery operated and therefore low power
  • Use rechargeable AA's (3x) or alkaline (2x) and fit within the foot print of AA battery holder
  • Have connections for the "regular" NRF24L01+ breakout board with the meandering PIFA antenna and the high power PA LNA style. 
  • SPI-Flash because I'm borrowing design elements from Mr. Rusu's excellent Moteino line.
  • ICSP and FTDI capable. FTDI for the base station.
  • IO header.
  • 2x LED's.
  • 3x tactile switches for input and reset.
  • Sensors: foot prints for Bosch BME280 and Microchip MCP9700.
And now some explanations of those ideas in order of listing.

The problem with rechargeable AA's is that their initial voltage after charging can be up to 1.8V but after use they plateau around 1.2V. So the rechargeables need regulation but the alkalines don't. So you have the option to populate the regulator and use whatever you want as a battery or solder a jumper and skip the regulator. I'm still deciding if I want over voltage protection built in. One power connection features is that you can't plug in an FTDI friend and battery connection at the same time. They share the same ground pin. I'll probably be fiddling with these two connections the most.

Two NRF headers is a device foot print thing as the high power radio is significantly longer. I want the overall device to fit both the regular and high power radios without a major redesign. If possible, the same enclosure should be used for either one. And the board is sized to fit within the dimensions of a 2-cell AA battery pack. Is having twice the traces for this a good idea? I guess I'll find out. It's 1.25" x 2.00".

On-board memory seems like a good idea. Who knows if I'll use it. Design wise, it is voltage constraining because its lowest operating voltage is 2.4V and the nearest appropriate brown out detection levels for the 328P is  2.7V and 1.8V. I'll probably want BOD enabled when using the flash memory. So while I can rely on the flash working with 2x rechargeables putting out 2.4V, I won't know when they dip below that near the end of their life. Contrast that with two alkalines putting out 3V and the 2.7V BOD level protection. What's the point of logging temps or events if you're just going to write garbage and lose your time investment?

Programming. Data received from remote units will most likely be routed serially to a host, hence the inclusion of the FTDI port. The ICSP is for setting fuses, bootloaders and the like. Most likely the "base station" will have an FTDI programmer hanging out of it.

General IO, switches, blinky ... nothing fancy here. The two hardware interrupts of the 328P are routed to one of the tactile switches and the other to the IO header. SDA and SCL are also present on the IO header in case I want to use an I2C sensor or OLED display.

To be continued ...

Oh and some other people have done it like here and here.