Battery powered node to measure temperature, light levels, pressure, and humidity.

Started: Feb 1, 2016
Updated: Jan 10, 2017
Repository: GitHub

Categories: Hardware



The design of this node was completed through routing. The design pretty much followed the concept and plans stated below with the big exception being the voltage regulator. After looking at the max voltages on the various components and the possible fully charged voltage for the LiFePO4 battery I decided not to risk an over-voltage problem.

I spent a fair bit of time looking at regulators to find one with low quiescent current that would not go up when the battery voltage drops below the regulation voltage. The specs on the STMicroelectronics LD39130SJ33R regulator make it a great solution for this node with one problem: it is so small! At less than 1mm square I am concerned that I can not manually place it.

My solution to the size of the LD39130SJ33R is to layout the PCB to also support the NCP703SN from ON Semiconductor. The LD39130SJ33R footprint will fit within the footprint for the NCP703SN, so the PCB does not need to be larger. I can try the LD39130SJ33R and if I can’t mount it I will be able to fallback to a larger part that I know I can work with.

Note that the LD39130SJ33R is available in a larger package: LD39130SPUR. I considered using this larger version, but it an adjustable regulator and the data sheet is not clear on how to set the regulation voltage. I contacted STMicroelectronics for clarification and they declined to provide any guidance beyond the data sheet. They did recommend that I contract with an approved design house for a solution.

A companion board to support an LiFePO4 battery was also designed. After working on some enclosure ideas (see the gallery images) I became disatisfied with the design for several reasons:

  • The overall size was set more by the PCB designs than the battery size.
  • The component cost was higher than expected, due in part to the connectors, the programming switch, and the cable connecting the boards.

As a result, I did build physical hardware for node. Instead I have started on a version 2. Details on the new version will be available soon.


  • Simple
  • Low cost
  • Battery operated
  • Smaller than TLnode

This node adds pressure and humidity sensors to the TLnode and reduces the PCB size. The TLnode PCB size was chosen to match the 2-AA battery holder. The concept this time will be to minimize the PCB size and use pads to connect to the battery. This will reduce the cost of the PCB and allow more flexibility in choosing a battery holder.

As with the TLnode, the PCB will be designed using KiCad. Full schematics for the T&L Node are available on GitHub.


This node will be designed for the same CPU as the TLnode, though it may be built with the ESP-12F. The ESP-12F brings out some additional pins, but they are useful only for direct access to the flash memory and are not useful for this node. The ESP-12E and ESP-12F have the same pinout. The ESP-12E does not appear to be in production at this time (2016/02/01).

Some of the places ESP-12F can be purchased:


Both the pressure and the humidity sensors have built-in temperature sensors, so a separate device is not needed.


The light sensor is an Intersil ISL29035. It was chosen because it has an I2C interface, its power supply range (2.25V-3.63V) and relatively low cost ($1.67 from DigiKey.

This is the same sensor that I used for the TLnode.


For pressure I’ve chosen the LPS25HB:

  • resolution: 0.01 hPa ~ 0.083m @ 15 degC
  • absolute accuracy: 0.2 hPa ~ 1.66m @ 15 degC
  • relative accuracy: 0.1 hPa ~ 0.83m @ 15 degC
  • 2.5 mm x 2.5 mm x 0.76 mm

I also considered these:

  • MPL3115A2
    • resolution: 1.5 Pa ~ 0.125m @ 15 degC
    • absolute accuracy: 0.4 kPa ~ 33.2m @ 15 degC
    • relative accuracy: 0.05 kPa ~ 4.16m @ 15 degC
    • 5.0 mm x 3.0 mm x 1.1 mm
  • BMP280
    • resolution: 0.18 Pa ~ 0.015m @ 15 degC
    • absolute accuracy: 1 hPa ~ 8.3m @ 15 degC
    • relative accuracy: 0.12 hPa ~ 0.998 @ 15 degC
    • 2.0 mm x 2.5 mm x 0.95 mm

    This is the lowest price of these sensors ($2.72 @ Mouser), but it requires scaling (ideally using 64-bit math) by the host CPU.

  • NPA-201
    • resolution: 0.15 mBar ~ 0.125m @ 15 degC
    • absolute accuracy: 0.2 mBar ~ 1.6m @ 15 degC
    • relative accuracy: 0.1 mBar ~ 0.8m @ 15 degC
    • 2.0 mm x 2.5 mm x 1.0 mm

One issue with all of thesee pressure sensors is that they are also light sensitive. Some light blocking device (foam, baffles, ???) will be needed.


Si7006-A20(PDF) is the low end of a family of sensors from Silicon Labs. The key characteristics that make it my choice are:

  • +/- 5% RH
  • 150 uA active current
  • 60 nA standby current
  • 3mm x 3mm x 1.21 mm
  • 1.9-3.6 V operating voltage.

I plan to use the -IM1 version which has a factory installed cover.


After looking at regulator options, I’ve decided to stay with the TLnode choice and use battery power. However, I am not going to base the design on a 2-AA size holder and Alkaline batteries.

The battery of choice will be one using LiFePO4 chemistry. The power density is not as good as Li-polymer or even alkaline, but the voltage curve(PDF) is a better match to the components selected.

There are a number of battery vendors that carry the LiFePO4 batteries. I purchased mine from AA Portable Power Corp. I used the AA size for the TLnode, but the 18650 size is not much larger and is available with up to 2.5 times the capacity of the AA batteries.


Rather than the pin headers used on the TLnode I am going to use a FPC (Flexible Printed Circuit) ribbon and connector. An adapter board will be used to expand to pin headers that will fit a prototyping board.


CC BY-SA 4.0

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.

Social Links


3720 Benton St.
Santa Clara, CA 95051
United States.