

Templog mainboard
Firmware, PCB, and enclosure for the Weathergotchi E-Paper climate logger.
- Size
- 45 × 32 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 68
- Nets
- 93
- Pads
- 316
- Tracks, vias
- 704, 116
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 31 May 2026
- Updated
- 2 Nov 2026
Overview
Templog mainboard is an open-source printed circuit board by Michael-Manning, from the Michael-Manning/E-Paper-Climate-Logger repository on GitHub, published under the MIT licence. It is a 4-layer board of 45 × 32 mm with 68 parts on 93 nets, routed with 704 tracks and 116 vias.
It is built around the ESP32-S3-MINI-1-N8, TPS62203DBV and 24LC512-I/P, with the BQ24075RGT, DS3231MZ/V+ and USBLC6-2SC6 among its other parts. Its parts include 23 capacitors, 21 resistors, 9 ICs, 3 diodes and 2 connectors. It belongs with the lEDs and displays and computers and single-board computers boards and the ESP32 boards of this library.
Main components
10ESP32-S3-MINI-1-N8
SMD-104.5dBm -40℃~+85℃ 2.4GHz 20.5dBm 330mA 3V~3.6V 97mA Bluetooth5.0 ESP32-S3FN8 Chip On-board PCB Antenna UART、SPI、I2C、I2S、USB SMD WiFi Modules ROHSEspressif SystemsWiFi ModulesTPS62203DBV
SOT-23-5-40℃~+85℃@(TA) 1 15uA 1MHz 2.5V~6V 3.3V 300mA Buck Buck Built-in Fixed Yes SOT-23-5 DC-DC Converters ROHSTexas InstrumentsDC-DC Converters24LC512-I/P
PDIP-8-300mil-40℃~+85℃ 1,000,000 cycles 2.5V~5.5V 200 Years 400kHz 512Kbit 5ms Hardware write protection function、Noise suppression function I2C PDIP-8-300mil EEPROM ROHSMicrochip TechnologyEEPROMBQ24075RGT
QFN-16-EP(3x3)-40℃~+125℃ 1.5A 4.2V 4.35V~6.4V 6.5uA Charging IC Lithium Battery Not supported Support QFN-16-EP(3x3) Battery Management ROHSTexas InstrumentsBattery ManagementDS3231MZ/V+
SOIC-8-40℃~+85℃ 2.3V~5.5V Built-in I2C Temperature compensation、Backup power management and battery charging、Alarm function、Locking and tamper-proof、Periodic interrupt output SOIC-8 Real Time Clocks ROHSMaxim Integrated (Analog Devices)Real Time ClocksUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)MBR0530
SOD-1231 Independent 30V 5.5A 500mA 550mV@500mA 80uA@30V SOD-123 Schottky Diodes ROHSJiangsu Changjing Electronics Technology (CJ)Schottky DiodesTC-1109DE-C-H
弯插,4.6x4.5mm-30℃~+85℃ 100,000 cycles 12V 2.6N 4.5mm 4.6mm 50mA 7mm Black No PC Pin Right Angle Round Button SPST Without Bracket 弯插,4.6x4.5mm Tactile Switches ROHSXKB ConnectionTactile SwitchesAFC07-S24ECA-00
SMD,P=0.5mm,卧贴-45℃~+85℃ 0.3mm 0.5mm 24P 2mm 500mA 50V Copper alloy Slide Lock Surface Mount, Right Angle Tin Top Contact SMD,P=0.5mm,卧贴 FFC, FPC (Flat Flexible) Connector Assemblies ROHSJSFFC, FPC (Flat Flexible) Connector AssembliesSI1308EDL
SC-70-3-55℃~+150℃ 1 N-channel 1.4nC@10V 1.5A 1.5V 105pF 11pF 132mΩ@10V 23pF 30V 400mW N-Channel SOT-323 MOSFETs ROHSVishay IntertechnologyMOSFETs
README
README.mdWeathergotchi - an E-Paper Climate Logger
About
This project is an open-source, battery-powered temperature and humidity data logger with an always-on e-paper display. It records ambient conditions over time, stores readings in non-volatile memory, and displays current data along with a history graph. The device is designed for low power consumption, over 2 weeks of operation on a small Li‑Po battery.
Key features:
- ESP32-S3 with deep sleep & RTC timer to wake up
- Temperature and humidity sensor with external EEPROM for logging
- Accurate battery monitoring and charging management
- Power button controller to turn on/off
- 1.54‑inch e‑paper display
- Custom PCB & 3D‑printed case
- Over 2 weeks of battery life on a single charge
The entire project is open source, including hardware schematics, PCB layout, firmware, and enclosure CAD files. A detailed build video is available on YouTube: E-Paper Climate Logger.

Youtube video
Repository Structure
E-Paper-Climate-Logger/
├── CAD/ # 3D case design (OpenSCAD source and STL exports)
├── PCB/ # KiCad hardware design, schematics, datasheets, references
├── firmware/ # PlatformIO firmware (ESP32-S3, Arduino framework)
├── LICENSE # License file
└── README.md # This fileCAD
Contains the parametric OpenSCAD models for the front and back case halves, assembly files, and exported STLs for 3D printing. The design is fully parametric – dimensions can be adjusted by editing constants.scad.
PCB
All hardware design files for the custom mainboard (templog_mainboard). This directory includes:
- KiCad project files (
.kicad_sch,.kicad_pcb,.kicad_pro) - Schematic sheets for power management and display driver
- Component footprints and 3D models
- Datasheets for all major ICs (charger, fuel gauge, RTC, sensors, etc.)
- Reference schematics from SparkFun and Waveshare
To view or modify the PCB design, install KiCad 9 or later and open templog_mainboard.kicad_pro.
Firmware
PlatformIO project for the ESP32‑S3 using the Arduino framework. It handles sensor reading, timekeeping, data logging to EEPROM, e‑paper display updates, button handling, and power management (deep sleep, wake sources). See firmware/README.md for detailed build and flashing instructions.
Getting Started
Hardware Prerequisites
- Assembled E-Paper Climate Logger PCB (or a hand‑soldered prototype – note that many components are small and may require reflow soldering)
- 1.54‑inch e‑paper display (compatible with Waveshare pinout)
- 3D‑printed case (files in
CAD/export/) - Li‑Po battery (e.g., 400 mAh, single cell)
- USB‑C cable for charging and programming
Building the Firmware
-
Install PlatformIO Core (or use the PlatformIO extension in VS Code).
-
Navigate to the
firmwaredirectory. -
Connect the device via USB‑C.
-
Run:
text pio run --target upload -
Monitor serial output (optional):
text pio device monitor
For detailed firmware documentation, including folder structure, driver details, and low‑power operation, refer to firmware/README.md.
Enclosure Assembly
Print the STL files from CAD/V2/export/ using a high‑resolution FDM printer (0.08 mm layer height recommended). The case uses M2 heat set inserts and M2 screws. Insert the PCB and battery, then screw the front and back halves together. See note.txt in CAD\V2 for more details.
Hardware Overview
All I2C peripherals (SHT45, DS3231, 24LC512, BQ27441) share the same bus. The e‑paper display is driven via SPI, and the LTC2954 soft power button controls system power-off via the BQ24075.
For complete schematics and PCB layout, open the KiCad project in PCB/templog_mainboard/.
Power Management and Low‑Power Operation
The device is designed to run for over 2 weeks on a small battery:
- In deep sleep, the ESP32‑S3 draws less than 20 µA. The DS3231 and BQ27441 remain active with negligible current.
- The DS3231 alarm wakes the ESP32 at a configurable interval (default: 1 minute). The ESP32 wakes, logs a reading (about 400 ms at 50 mA), updates the display, and returns to sleep.
- The LTC2954 provides a true on/off capability.
Issues
- Battery accuracy issues: In my testing, the reported battery state of charge is not accurate. I believe this is due to a misconfiguration BQ27441.
- Low battery issues: In my testing, when connecting a battery to the device, it will sometimes not turn on until the battery has been connected/disconnected multiple times.
Notes on building your own device
I don't have a detailed build guide on how to build your own device at this time, but if you do decide to make one, these are some details you should know.
- First firmware upload requires putting the ESP32-S3 in boot mode. There are three pads near the battery input that expose, BOOT, Enable, and ground. Attaching leads to these pins will allow you to put the ESP32 in boot mode.
- The back of the PCB must be completely flat in order to fit in the case with the screen. After soldering through-hole components. like the buttons, you may need a dremel to flatten the leads/solder on the back of the PCB.
Troubleshooting
- Device does not power/stay on: Ensure the battery is charged to at least 3.7V and try disconnecting/reconnecting the battery. Sometimes the battery must be reconnected multiple times before booting for the first time.
- Battery percentage inaccurate: The BQ27441 requires a one-time capacity configuration; refer to the datasheet and adjust
BQ27441.cpp. The fuel gauge also needs to "learn" the battery before it reports an accurate state of charge. Fully charge the battery, then wait for it to completely deplete. This will help the fuel gauge report a more accurate charge level. - Cannot upload program to the device: Before uploading for the first time, the device must be manually put in boot mode. See the above note in building your own device.
Limitations
- Temperature accuracy during handling: The ESP32 generates heat when active, which can affect the SHT45 reading. The firmware reads the sensor immediately upon wake to minimize this error. Prolonged menu browsing or holding the device will skew the ambient reading for several minutes.
- Display low‑temperature limit: The e‑paper module is rated for operation above 0°C. Below freezing, the screen may not update reliably. Data logging continues in the background, and display functionality resumes when the temperature rises.
- No wireless connectivity: While this device has the physical capability for bluetooth and WIFI, The current version of the firmware does not support it or allow you to use the radio to export data. Data can be viewed only on the device screen.
Contributing
Issues, pull requests, and suggestions are welcome. Please follow the existing code style and document any changes to the hardware or firmware.
License
Refer to the LICENSE file in the root directory for licensing terms (open source, permissive).
Acknowledgements
- SparkFun for the Battery Babysitter reference design
- Waveshare for e‑paper display modules and driver schematics
- The PlatformIO and GxEPD2 communities
For questions or discussions, open an issue on GitHub or visit the YouTube video comments.
Parts
68| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 10k | Resistor_SMD:R_0402_1005Metric | R1, R2, R6, R7, R8, R9, R10, R12, R13, R17, R18, R19, R20, R21 |
| 8 | 1uf/50V | Capacitor_SMD:C_0603_1608Metric | C23, C24, C25, C26, C27, C28, C29, C30 |
| 5 | 0.1uf | Capacitor_SMD:C_0402_1005Metric | C1, C3, C4, C5, C14 |
| 5 | 5.1k | Resistor_SMD:R_0402_1005Metric | R3, R4, R11, R14, R15 |
| 3 | 10uf | Capacitor_SMD:C_0805_2012Metric | C2, C9, C10 |
| 3 | MBR0530 | Diode_SMD:D_SOD-123 | D2, D3, D4 |
| 2 | 10uH | Inductor_SMD:L_Sunlord_SWPA4030S | L1, L2 |
| 2 | 1uf | Capacitor_SMD:C_0402_1005Metric | C7, C15 |
| 2 | 4.7uf/50V | Capacitor_SMD:C_0805_2012Metric | C21, C22 |
| 2 | TC-1109DE-C-H | TC-1109DE-C-H:SW-TH_TC-1109DE-C-H | SW1, SW2 |
| 1 | +RESET | TestPoint:TestPoint_Pad_1.0x1.0mm | TP1 |
| 1 | -RESET | TestPoint:TestPoint_Pad_1.0x1.0mm | TP2 |
| 1 | 0.01/1% | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 0.47uf | Capacitor_SMD:C_0402_1005Metric | C8 |
| 1 | 1uf | Capacitor_SMD:C_0603_1608Metric | C13 |
| 1 | 24LC512 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U6 |
| 1 | 3 | Resistor_SMD:R_0402_1005Metric | R16 |
| 1 | 4.7uf | Capacitor_SMD:C_0603_1608Metric | C6 |
| 1 | AFC07-S24ECA-00 | FPC-SMD_AFC07-S24ECA-00:FPC-SMD_AFC07-S24ECA-00 | FPC1 |
| 1 | BOOT | TestPoint:TestPoint_Pad_1.0x1.0mm | TP3 |
| 1 | BQ24075RGT | Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mm | U5 |
| 1 | BQ27441-G1 | Package_SON:Texas_S-PDSO-N12 | U4 |
| 1 | DS3231MZ | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | ESP32-S3-MINI-1 | RF_Module:ESP32-S2-MINI-1 | U1 |
| 1 | LOGO | LOGO | G*** |
| 1 | LTC2954CTS8-2_TRMPBF | LTC2954CTS8_2_TRMPBF:TSOT-23_TS8 | U9 |
| 1 | SHT4x | Sensor_Humidity:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad | U3 |
| 1 | Si1308EDL | Package_TO_SOT_SMD:SOT-323_SC-70 | Q1 |
| 1 | TPS62203DBV | Package_TO_SOT_SMD:SOT-23-5 | U8 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U7 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | battery_con | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J3 |
Questions
How big is the Templog mainboard PCB?
It measures 45 × 32 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Templog mainboard use?
68 parts, built around the ESP32-S3-MINI-1-N8, TPS62203DBV, 24LC512-I/P and BQ24075RGT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Templog mainboard KiCad files?
From the Michael-Manning/E-Paper-Climate-Logger repository on GitHub, at the commit this page was made from: the board is PCB/templog_mainboard/templog_mainboard.kicad_pcb and its schematic PCB/templog_mainboard/display_driver.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Templog mainboard design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 4 layers74.1 × 130 mm

- 2 layers65 × 70 mm

- 4 layers65.4 × 71 mm

S3-27-epaper touch
martinberlin/bistable-smart-switch
An epaper switch project with 2 PCBs, controller+touch, and 220AC to 3DC with Relay (Latch or solid-state)
57 parts32Apache-2.0 - 2 layers65.4 × 71 mm

- 2 layers92.1 × 78.1 mm

- 4 layers80 × 35 mm

FB-100
avlyubimov/svc-platform
Status: EVT-LAYOUT-AUTHORIZED; connectivity routing complete; fab review open
48 parts1 - 2 layers80 × 50 mm

- 4 layers62.5 × 96.2 mm

