TLPH Node V2


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

Started: Jan 11, 2017
Updated: Jan 11, 2017
Repository: GitHub

Categories: Hardware



This is a redesign of the TLPHnode so that it includes a LiFePO4 battery charger and so that it does not require a separate power supply and breakout board. A 3.3v regulator is included to prevent damage to components while the battery is being charged. A micro USB connector is used to connect charging power and to for the ESP-8266 programming signals. It is NOT a USB interface.


  • 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. The KiCad design files, including full schematics, 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.


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.

For convenience a charger for the battery will be included.

Since the fully charged voltage of an LiFePO4 can exceed the max voltage rating of some of the devices used on this board a 3.3v regulator will be used.

3.3v Regulator

The 3.3v regulator must have a low quiescent current and that current should not go up when supply voltage drops below the regulation voltage. Two regulators have been identified as options: LD39130S (PDF) and NCP703SN (PDF).

The LD39130SJ33R is the preferred choice. The complication is that the fixed voltage versions of the LD39130S come in a package that is less than 1mm square. That could be a problem for manual placement. The adjustable version, LD31130SPUR, comes in a 6-DFN package that I know can be manually placed. However the data sheet(PDF) does not provide details on how to set the regulation voltage and STMicroelectronics Support declined to provide any details that are not on the data sheet.

As a work-around, I also included the NCP703SN. The quiescent current is a bit higher than the LD31130S, but it is available as fixed voltage regulator in a 6-DFN package.

I found that I could place the LD39130SJ33R footprint inside the NCP703SN footprint so that no additional PCB space is required. I will try mounting the LD39130SJ33R and it that fails I can replace it with the NCP703SN without needing to redesign the PCB.

LiFePO4 Battery Charger

LiFePO4 batteries require specific charging profiles. The Texas Instruments BQ25050(PDF) will be used.


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.