Hardware Reference

Arduino Uno · 12V Battery Monitor · R1=30kΩ · R2=10kΩ · I2C LCD · DFPlayer Mini

Rev 1.3 · Single-layer PCB

Arduino Uno Pin Assignments

A0V_SENSEVoltage divider output
D8RELAY_CTRLRelay coil driver
D13LED_INDStatus LED (built-in)
A4 (SDA)I2C_SDA16×2 LCD data
A5 (SCL)I2C_SCL16×2 LCD clock
D1 (TX)DFPLAYER_RXDFPlayer UART in
D0 (RX)DFPLAYER_TXDFPlayer UART out
GNDCOMMON_GNDBattery & circuit common
5VVCCArduino regulated 5V

Voltage divider, relay, LED, LCD, DFPlayer wiring

Circuit Schematic

BatteryGuard Rev 1.3 · 12V Lead-Acid Monitor

100%
BATTERY12V Lead-Acid+GND BUSVOLTAGE DIVIDER30kΩR110kΩR2V_SENSE to A0ARDUINO UNOA0A4/SDAA5/SCLD8D13D1/TXD0/RX5VGNDUSB-BRSTRELAY MODULERELAY5V Coil · 10A/250VACD8COMNONCNPN2N2222D1 1N4007STATUS LEDD13 LED220ΩI2C LCD 16×2V: 12.450 V OKRelay: OFF [||||]PCF8574 0x27SDASCL5VGNDDFPLAYER MINIDFPlayerMP3 · UART 9600 · SDSPK+SPK−TX→RX1kΩ5V100nFbypassC1Voltage Divider FormulaVadc = Vbat × R2/(R1+R2)Vadc = Vbat × 10/(30+10) = Vbat/4Vbat = adc × 5V/1023 × 4BatteryGuard Circuit Schematic · Rev 1.3 · 2026-06-11Arduino Uno · 12V Battery Monitor

Voltage Divider

R1=30kΩ, R2=10kΩ → ÷4

Relay Coil

5V, NPN transistor driver

I2C LCD

0x27 addr · SDA/SCL

DFPlayer Mini

UART 9600 · D1 TX