Digital Workhorse
Valentino is the high-power Digital Workhorse — everything in Wally plus onboard solar battery charging, dual current sensing, a configurable hardware watchdog, and a supercapacitor-backed RTC. Designed for remote, long-running deployments where power management is critical. Accepts solar panels from 20W to 100W and charges battery packs from 7Ah to 25Ah. The charge current and watchdog timeout are both set by resistor selection — no firmware changes needed.
Valentino exposes its signals via two 10-pin female headers (J3 and J4) plus an 8-pin programming header (J2). All pin assignments are confirmed from the schematic netlist. Refer to the Valentino Schematic tab for the full layout.
| Pin | Signal | Function |
|---|---|---|
| 1 | GPIO_32 |
GPIO General purpose, ADC |
| 2 | GPIO_33 |
GPIO General purpose, ADC |
| 3 | UART2_RX |
UART UART2 receive (GPIO 16) |
| 4 | UART2_TX |
UART UART2 transmit (GPIO 17) |
| 5 | UART2_TX |
UART UART2 transmit (shared) |
| 6 | NC |
NC No connect |
| 7 | V50 |
PWR 5V supply |
| 8 | V50 |
PWR 5V supply |
| 9 | GND |
GND Ground |
| 10 | GND |
GND Ground |
| Pin | Signal | Function |
|---|---|---|
| 1 | GPIO_5_CS |
SPI LoRa SS (chip select) |
| 2 | GPIO_18_CLK |
SPI LoRa SCK |
| 3 | GPIO_23_MOSI |
SPI LoRa MOSI |
| 4 | GPIO_19_MISO |
SPI LoRa MISO |
| 5 | SDA_I2C |
I²C Data (GPIO 21) |
| 6 | SCL_I2C |
I²C Clock (GPIO 22) |
| 7 | 3.3V |
PWR 3.3V supply |
| 8 | V50 |
PWR 5V supply |
| 9 | GND |
GND Ground |
| 10 | GND |
GND Ground |
| Pin | Signal | Function |
|---|---|---|
| 1 | V_PROG |
PWR Programming voltage |
| 2 | EN |
Control ESP32 enable / reset |
| 3 | TX0 |
UART UART0 transmit |
| 4 | RX0 |
UART UART0 receive |
| 5 | IO0 |
Control Boot mode select |
| 6 | GND |
GND Ground |
| 7 | GND |
GND Ground |
| 8 | GND |
GND Ground |
These GPIO pins are consumed by Valentino's on-board components and are not broken out to the expansion headers. They are listed here for firmware reference.
| Signal | GPIO | Component / Purpose |
|---|---|---|
RTC_CLK_OUT |
34 | Input PCF8563T 1 Hz CLKOUT → ISR clock source |
LORA_RST |
4 | SPI Ra-02 LoRa hardware reset |
LORA_DIO0 |
35 | Input Ra-02 LoRa interrupt (DIO0, input-only pin) |
SDA_I2C |
21 | I²C Shared: RTC (0x51) · INA Solar (0x40) · INA Battery (0x41) |
SCL_I2C |
22 | I²C I²C clock |
WATCHDOG_DONE |
26 | Output TPL5010 DONE — brief HIGH pulse to pet watchdog |
WATCHDOG_WAKE |
25 | Input TPL5010 WAKE — asserted HIGH when watchdog fires |
TEMPERATURE |
27 | 1-Wire DS18B20Z+ temperature sensor |
| Device | Address | Notes |
|---|---|---|
| PCF8563T RTC | 0x51 | Fixed — supercap backup |
| INA219 — Solar | 0x40 | A0=GND, A1=GND |
| INA219 — Battery | 0x41 | A0=VCC, A1=GND |
| Signal | GPIO |
|---|---|
| SCK | 18 |
| MISO | 19 |
| MOSI | 23 |
| SS (CS) | 5 |
| RST | 4 |
| DIO0 | 35 (input only) |
The battery charger charge current is set by selecting the Ra and Rb resistor values via onboard jumper positions (JP1–JP5). Choose the combination that matches your solar panel size and battery capacity. The charge current should be approximately C/10 to C/5 of the battery capacity for safe long-term cycling.
Setting a charge current higher than your solar panel can sustain will result in the panel voltage collapsing. Match the configuration to both your panel and battery.
| Jumper | Battery Size | Solar Panel | Charge Current | Notes |
|---|---|---|---|---|
| JP1 | 7 Ah | 20W | 0.5 A | Minimum config — low-light or partial-shade locations |
| JP2 | 10 Ah | 40W | 0.75 A | Good balance for moderate sun locations |
| JP3 | 14 Ah | 60W | 1.0 A | Standard field deployment configuration |
| JP4 | 18 Ah | 75W | 1.5 A | High-capacity config for extended cloudy periods |
| JP5 | 25 Ah | 100W | 2.5 A | Maximum config — full-sun, high-demand deployments |
Valentino includes a configurable hardware watchdog that resets the ESP32 if it stops responding. The timeout period is set by a single resistor value — no firmware changes required. The watchdog must be petted (reset) by the firmware before the timer expires, or the board is automatically rebooted.
Choose a timeout longer than your firmware's slowest wake-process loop. A value of 32–52 seconds suits most deep-sleep applications where the wake cycle completes in under 20 seconds.
| Resistor Value | Timeout | Typical Use Case |
|---|---|---|
1 kΩ |
~12 s | Fast watchdog — firmware must pet frequently; not suitable for deep-sleep >8s |
2 kΩ |
~32 s | Standard — covers most sensor-read + LoRa transmit cycles |
5 kΩ |
~52 s | Long timeout — allows slow WiFi connect + cloud upload before reboot |
Valentino shares the same ESP32 + LoRa + RTC core as Wally but adds a full power management system for solar-powered field deployments. Rev 7, dated 2025-07-25.
Core processing and wireless
| MCU | ESP32-WROOM-32E |
| LoRa | Ra-02 SX127x — 433 MHz, SPI |
| RTC | PCF8563T — I²C, supercapacitor backup |
| Watchdog | Hardware timer — configurable timeout via resistor |
| Temperature | Onboard temperature sensing |
Solar charging and power rails
| Solar input | 9V – 28V DC (20W – 100W panels) |
| Battery | 7 Ah – 25 Ah — charge current set by Ra/Rb |
| 5V rail | TPS63050 buck-boost regulator |
| 3.3V rail | TPS63050-250 regulated 3.3V |
| Solar sensing | INA current sensor — solar input current |
| Battery sensing | INA current sensor — battery output current |
| Address | Device |
|---|---|
0x40 | INA current sensor — solar input |
0x41 | INA current sensor — battery output |
0x51 | PCF8563T RTC |
I²C bus is also exposed on the shield headers for additional sensors.
| Shield headers | 2× 8-pin female — GPIO, I²C, SPI, power |
| Solar input | Screw terminal |
| Battery | Screw terminal |
| SPI (LoRa) | SS GPIO_5, SCK GPIO_18, MISO GPIO_19, MOSI GPIO_23 |
| I²C | SDA GPIO_21, SCL GPIO_22 |
| RTC backup | Supercapacitor — maintains time through power outages |
Firmware and design resources for Valentino.
| File | Description | Download | |
|---|---|---|---|
|
|
Valentino.ino
Arduino · ESP32
|
Hardware verification sketch. Tests the PCF8563T RTC (supercapacitor-backed),
LoRa 433 MHz TX/RX, INA219 solar and battery current sensors, and hardware
watchdog DONE pulse. Save into a folder named Valentino/ before
opening in Arduino IDE.
|
Download |
LORA_RST, LORA_DIO0,
WD_DONE, WD_WAKE, and TEMPERATURE_PIN
against the Valentino Schematic tab — those nets are confirmed
but their exact GPIO numbers need tracing on your board revision.