Charger
Using CN3065 Charger with Arduino Uno
What is the CN3065?
The CN3065 is a compact single-cell Li-ion/LiPo solar charge controller IC that manages the full charge cycle — constant-current bulk charging followed by constant-voltage trickle charging — directly from an unregulated solar panel input. It includes built-in maximum power point tracking-like behavior for small panels, over-charge protection, and thermal regulation, making it a convenient drop-in solution for solar-powered sensor nodes and battery-backed outdoor projects that need to charge safely without a separate charge-management circuit.
Specifications
| Chipset | CN3065 single-cell Li-ion/LiPo solar charge controller IC |
| Input voltage | ~4.4V–6V DC from a small solar panel (panel-dependent) |
| Charge voltage | 4.2V constant-voltage regulation for standard single-cell Li-ion/LiPo |
| Charge current | Programmable via external resistor, typically up to ~800 mA-1A depending on board design |
| Charge algorithm | Constant-current / constant-voltage (CC/CV) with automatic trickle-charge for deeply discharged cells |
| Protection features | Over-voltage protection, thermal regulation, reverse-current blocking to prevent battery draining back through the panel at night |
| Status indication | Onboard LED (charging/full) on most breakout modules |
| Interface | Passive power circuit — solar panel in, battery out, no digital interface required |
CN3065 Pinout
| Pin | Name | Description |
|---|---|---|
| 1 | SOLAR+ | Positive input from the solar panel |
| 2 | SOLAR- | Negative input from the solar panel (often shared with GND) |
| 3 | BAT+ | Positive connection to the single-cell Li-ion/LiPo battery |
| 4 | BAT- | Negative connection to the battery |
| 5 | OUT+ / LOAD | Regulated output to power the project load, present on some breakout variants |
| 6 | GND | Common ground |
This is a single-cell (1S) Li-ion/LiPo controller only — never connect a multi-cell battery pack, as the 4.2V charge voltage will only correctly terminate charging for a single cell. Always match the solar panel's open-circuit voltage to the module's rated input range, since panels rated much higher than ~6V can exceed the IC's absolute maximum input.
Setting Up CN3065 with Arduino Uno
Wiring
| Component pin | Arduino Uno pin | Note |
|---|---|---|
| SOLAR+ / SOLAR- | Small solar panel — not connected to the Arduino | — |
| BAT+ / BAT- | Single-cell Li-ion/LiPo battery — not connected to the Arduino | — |
| OUT+ / LOAD | Powers the Arduino via VIN or 5V pin, if your breakout exposes a regulated output | Only present on some CN3065 breakout variants — check yours before relying on this pin |
| GND | GND, shared between the CN3065, battery, and Arduino | — |
No microcontroller code applies — this is a self-contained analog charge-management IC. If you want the Arduino to monitor battery state, that requires separate circuitry (like the voltage-divider approach used for a bare 18650 holder), not anything the CN3065 itself outputs digitally.
Related Guides & Projects

Arduino Uno R3 Pinout: Every Pin Explained (Digital, Analog, PWM, Power)
Complete Arduino Uno R3 pinout reference: all 14 digital pins, 6 analog inputs, PWM, UART, SPI, I2C, AREF, and power rails explained with wiring tips and common mistakes.

Ultimate Arduino Mega 2560 Pinout Guide: Complete Power & I/O Reference
Master the Arduino Mega 2560 pinout. Detailed reference for all 54 digital pins, 16 analog inputs, PWM, UARTs, SPI, I2C, interrupts, and power. Includes a printable table and practical wiring tips.

Interfacing HC-SR04 Ultrasonic Sensor with Arduino
Measure distance accurately using ultrasonic sound waves and an Arduino Uno — no complex math, no expensive hardware.
HC‑SR04 Ultrasound Distance Measurement with Arduino – Parking Alert (LCD & Buzzer)
Learn HC‑SR04 ultrasound distance measurement with Arduino Uno. Build a parking alert system with 16x2 LCD and buzzer – shows distance and beeps faster as you approach.