Skip to the content
PCBKitNew board
4 layers66.9 × 87 mmMeshtasticNode BQ25185, the printed circuit board in 3D

MeshtasticNode BQ25185

h0lad/SolarMeshtasticNode40

This is a Meshtastic Solar Node PCB based on the Heltec HT-CT62 and the linear solar charge controller TI BQ25185.

Size
66.9 × 87 mm
Copper layers
4
Thickness
1.62 mm
Parts
49
Nets
36
Pads
143
Tracks, vias
195, 237
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Jul 2024
Updated
3 Aug 2026

Overview

MeshtasticNode BQ25185 is an open-source printed circuit board by h0lad, from the h0lad/SolarMeshtasticNode repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 66.9 × 87 mm with 49 parts on 36 nets, routed with 195 tracks and 237 vias.

It is built around the HE9073A30MR, TPS22917DBV and BH-18650-A1AJ005, with the SMAJ14A and SSSS811101 among its other parts. Its parts include 14 capacitors, 14 resistors, 6 ICs, 6 connectors and 3 diodes. It belongs with the power and radio and wireless boards and the ESP32 boards of this library.

Main components

5

README

README.md

MeshtasticRouterNode

What is this thing?

This is a Meshtastic solar node based on the Heltec HT-CT62 and the (new) linear solar charge controller TI BQ25185.

Features of this PCB

  • Solar Input up to 18V (24V survival)
  • 3A maximum load
  • 1A maximum charge current
  • Pseudo-MPPT (VINDPM)
  • Power Path (= if the battery is fully charged and there's enough solar power the device is getting powered directly from solar. During sunrise and sunset it can mix the sources.)
  • Low leakage load switch TI TPS22917DBV to switch off entire 3.0V rail if battery voltage drops too low (charger stays alive)
  • Two ADC signals for getting VLOAD and VBUS voltage using voltage dividers
  • 3.7V LiPo either via 18650 block or JST-PH 2.0 connector
  • Low power LDO HEERMICR HE9073A30MR
  • Brown-out Reset IC (Diodes Incorporated APX803L05-32SA-7) at 3.2V which senses the voltage before the LDO

Combined with a solar panel this device can be placed in remote areas to cover a wide range.

HT-CT62 Pin Assignment

PinGPIODescription
8GPIO2Boot strapping pin (R8 10kΩ pull-up to +3V0)
9GPIO1ADC_VLOAD - load voltage measurement (1:2 divider via R11, R12, C14)
10GPIO0ADC_VBUS - solar panel voltage measurement (~1:10 divider via R13, R14, C15)
15GPIO9Bootloader mode switch (SW1 via R6 1kΩ to +3V0)
16GPIO8Boot strapping pin (R1 10kΩ pull-up to +3V0)
17GPIO18I2C SCL (J5, J7 JST-PH 1x4, R2 10kΩ pull-up)
18GPIO19I2C SDA (J5, J7 JST-PH 1x4, R9 10kΩ pull-up)
19GPIO20UART RX (J4 JST-PH 1x4)
20GPIO21UART TX (J4 JST-PH 1x4)

RST is not routed through a HT-CT62 pin. Reset is performed by the APX803L05 brown-out IC (U4) and push button (SW4) pulling the TPS22917 load switch ON pin low cutting the 3.0V rail to the module.

Info

The successor of this project is now in its very early development stages: LoRaPowerBox.

There is also a miniaturized version of this PCB: SolarMeshtasticNodeMini.

Physical Dimensions

The size of the PCB is 66.85 mm x 87mm and is planned around following Box (120x90x70).

Where can I get all the stuff?

Heltec HT-CT62: Aliexpress

TI BQ25185: Mouser or Digikey

PCB: You can load the Kicad project file and then export the manufacturing files using the plugins. Just throw them into JLCPCB and order them.

Everything else can be ordered from LCSC.

Due to strict legislation, it is not planned to offer ready-made circuit boards or kits here. Sorry.

Meshtastic, ESP32 and Power Saving. How?

Warning 1

By enabling "Power Saving" you will loose all regular telemetry (Sensors, Battery Voltages, etc.)! The battery voltage can be polled manually using the Python lib.

I reported this a bug but it was rejected.

Warning 2

You also will not be able to configure it by serial port anymore! You have a short period after power cycling it. Use the "meshtastic" Python script as it waits for a while.

Router Role

  1. Enable "Power Saving" (is activated by default if using Router role)

  2. When configuring the device you should set the "Minimum Wake Interval" from 10 seconds to 1 second.

  3. Switch Bluetooth and Wifi off! They suck power like crazy.

Client Role

This is more tricky as per default it doesn't switch into "Light Sleep" as several delays are blocking it.

You also have to decrease "Wait Bluetooth Seconds" and "Screen on Seconds" to 1 second.

Then configure is like a "Router".

Do I have to modify the Software and configuration?

I'm keeping a more or less outdated branch von the Meshtastic firmware on git@github.com:dm5tt/meshtastic-firmware.git in the branch solarmeshtasticnode. If you want a fresher version you must rebase it yourself.

Evaluation

Evaluation, PCB v0.2 (CR123A)

Evaluation, PCB v2.0.0 (18650)

FAQ

The HT-CT62 uses a ESP32C3. Thats not Low Power!!!

Meshtastic supports the "Power Saving" mode on the ESP32 where the entire device stays in the light sleep mode until it gets a interrupt signal from the LoRa modem. In that phase CPU will consume around ~800uA while sleeping.

Permanent active LoRa RX from the Semtech modem will always cause a consumption of 7-8mA. Not even a STM32 or Nordic can get rid of this.

Much less power consumption could be achieved in a sensor scenario where permanent RX is not required: there the worst-case is most likely determined by the current draw of the sleeping microcontroller and component leakage.

Warning, again: switching on BLE or even Wifi will make the ESP32 burn a crazy amount of energy.

For sunny regions (Portugal, Spain, etc.) a 6V panel is enough. For central Europe (like Germany) a 12V or higher solar panel is recommended for surviving the winter.

It's not really that cheap either!

Yep. It's expensive if you build only 1 device. But the costs dramatically drop if think of building 5-10 of them as you can mass order everything (PCBs, Components from LCSC and so own).

The TI BQ25185 uses a linear regulator to create the voltage before the LDO. That will be inefficient for solar panels above 6V.

Yes. It's very inefficient if it's running with the power path enabled (= direct solar pass-through) as the device has to burn off a lot of voltage from the panel. During battery runtime the difference is way lower which is acceptable.

It maybe cause unneccesary heat during the winter time where small 18V solar panels would be a great benefit. But for 6V panels it's a within acceptable ranges.

I'm planing to build a new generation of the SolarMeshtasticNode with the upcoming TI BQ25630. It has an integrated ADC (which allows us to get rid of all power dividers) and also has a very efficient DC DC buck architecture. Price wise it will be around $2 which is still very acceptable.

Why are you using a 3.0V and not a 3.3V LDO?

This gives us more runtime by only loosing 1-2dB TX power from the LoRa module.

With a 3.3V LDO the device will switch off around ~3.5V - with 3.0V LDO it can survive down to 3.2V.

Warning

LED circuit for STAT1 and STAT2 aren't tested. The TI BQ25185 uses 1.8V for the status pins so the LEDs must be switched via a transistor against the 3.3V supply voltage.

License

CERN OHL v2 – Strongly Reciprocal (S)

Parts

49
QtyValueFootprintReferences
41uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C6, C12, C13
3100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC8, C14, C15
310kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R8, R9
310uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C9, C10
3Conn_01x02_SocketConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ1, J2, J8
3Conn_01x04_SocketConnector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ4, J5, J7
21.2kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5, R7
2100kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R10
21MResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR11, R12
2LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD2, D3
1100nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC7
11kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6
11nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
1375Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4
14.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC11
1470Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17
147uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC5
1820kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR13
191kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
1APX803L05-32SA-7footprints:SOT23-3U4
1BH-18650-A1AJ005footprints:BAT-TH_BH-18650-A1AJ005BT1
1BQ25185footprints:SON40P220X200X80-11NU1
1HE9073A30MRfootprints:SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR-CWU5
1HT-CT62RF_Module:Heltec_HT-CT62U2
1MountingHoleMountingHole:MountingHole_2.2mm_M2H2
1MountingHoleMountingHole:MountingHole_3.2mm_M3_DIN965H1
1MountingHoleMountingHole:MountingHole_4.3mm_M4_DIN965H3
1SMAJ14ADiode_SMD:D_SMAD4
1SS26_C5350986footprints:SMA_L4.3-W2.6-LS5.1-RDU10
1SSSS811101footprints:SW-SMD_SSSS811101SW1
1SW_Pushfootprints:SMA_L4.3-W2.6-LS5.1-RDSW4
1TPS22917DBVPackage_TO_SOT_SMD:SOT-23-6U3

Questions

How big is the MeshtasticNode BQ25185 PCB?

It measures 66.9 × 87 mm and has 4 copper layers, 1.62 mm thick.

What parts does the MeshtasticNode BQ25185 use?

49 parts, built around the HE9073A30MR, TPS22917DBV, BH-18650-A1AJ005 and SMAJ14A. 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 MeshtasticNode BQ25185 KiCad files?

From the h0lad/SolarMeshtasticNode repository on GitHub, at the commit this page was made from: the board is pcb/MeshtasticNode_BQ25185.kicad_pcb and its schematic pcb/MeshtasticNode_BQ25185.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MeshtasticNode BQ25185 design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 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 layers45 × 75.9 mmMP3Player, the printed circuit board in 3D

    MP3Player

    JudasLilith/MP3Player

    An MP3Player for my personal uses

    10 parts
  • 4 layers48 × 45.5 mmLoRaHarvesterBox, the printed circuit board in 3D

    LoRaHarvesterBox

    h0lad/LoRaHarvesterBox

    PCB integrating a ST STM32WLE5CC and TI BQ25570 energy harvester. Ideal platform for ultra-low-power LoRa(WAN) nodes projects.

    46 parts11CERN-OHL-S-2.0
  • 4 layers98.5 × 193.5 mmSchematics, the printed circuit board in 3D

    Schematics

    apistol78/retrodack

    RetroDäck, handheld game console

    120 parts1MPL-2.0
  • 4 layers143.1 × 150.7 mmIbakey52, the printed circuit board in 3D

    Ibakey52

    Ibakha/ibakey52

    ZMK Split keyboard

    200 partsMIT
  • 4 layers40 × 100 mmBR Motor, the printed circuit board in 3D

    BR Motor

    axpaul/Avionic-Mastodonte

    Mastodonte experimental rocket avionic (On-board electronics) created by Paul Miailhe, Version 2025

    118 parts6CERN-OHL-S-2.0
  • 4 layers36 × 90 mmMotorShield, the printed circuit board in 3D

    MotorShield

    axpaul/Avionic-Sirius

    Sirius experimental rocket avionic (On-board electronics) created by Paul Miailhe, Version 2023/2024 launched at C'space 2024

    114 parts2
  • 4 layers63.2 × 70.5 mmHomectrl v2, the printed circuit board in 3D

    Homectrl v2

    jeevan9s/homectrl-sys

    home automation controller

    141 parts2
  • 2 layers75.5 × 2.6 mmPod PCB, the printed circuit board in 3D

    Pod PCB

    rekirxs/NeoXalle-PCB-Slave

    A full PCB work for a sport sensorial reaction device called NeoXalle.

    76 parts