

The CN3065 is a highly efficient solar charge controller designed to manage the charging of lithium-ion batteries from solar panels. It features an integrated MPPT (Maximum Power Point Tracking) algorithm, which ensures optimal energy harvesting from solar panels under varying light conditions. This component is compact, cost-effective, and ideal for applications requiring efficient solar energy utilization.








The CN3065 is designed to provide reliable and efficient charging for single-cell lithium-ion batteries. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Input Voltage Range | 4.4V to 6.0V |
| Battery Charge Voltage | 4.2V ± 1% |
| Maximum Charging Current | 900mA |
| MPPT Efficiency | Up to 95% |
| Operating Temperature | -40°C to +85°C |
| Quiescent Current | 50µA (typical) |
| Package Type | SOP-8 |
The CN3065 comes in an 8-pin SOP package. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VIN | Input voltage from the solar panel (4.4V to 6.0V). |
| 2 | GND | Ground connection. |
| 3 | BAT | Battery connection for charging. |
| 4 | PROG | Sets the charging current via an external resistor. |
| 5 | STAT1 | Status indicator pin 1 (used for charge status indication). |
| 6 | STAT2 | Status indicator pin 2 (used for charge status indication). |
| 7 | CE | Chip enable pin (active low, enables the controller when pulled low). |
| 8 | TEMP | Temperature monitoring pin (connect to an NTC thermistor for battery safety). |
The CN3065 can be used with an Arduino UNO to monitor the charging status. Below is an example code snippet:
// Define pins connected to CN3065 status pins
const int STAT1_PIN = 2; // Connect STAT1 to Arduino pin 2
const int STAT2_PIN = 3; // Connect STAT2 to Arduino pin 3
void setup() {
pinMode(STAT1_PIN, INPUT); // Set STAT1 as input
pinMode(STAT2_PIN, INPUT); // Set STAT2 as input
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int stat1 = digitalRead(STAT1_PIN); // Read STAT1 pin
int stat2 = digitalRead(STAT2_PIN); // Read STAT2 pin
// Determine charging status based on STAT1 and STAT2
if (stat1 == LOW && stat2 == HIGH) {
Serial.println("Charging in progress...");
} else if (stat1 == HIGH && stat2 == LOW) {
Serial.println("Charging complete.");
} else if (stat1 == HIGH && stat2 == HIGH) {
Serial.println("No battery connected or fault condition.");
} else {
Serial.println("Unknown status.");
}
delay(1000); // Wait for 1 second before checking again
}
No Charging Occurs
Overheating
Fault Condition Indicated
LEDs Not Working
Q: Can the CN3065 charge batteries other than lithium-ion?
A: No, the CN3065 is specifically designed for single-cell lithium-ion batteries with a charge voltage of 4.2V.
Q: What happens if the input voltage exceeds 6.0V?
A: Exceeding the maximum input voltage may damage the CN3065. Always ensure the input voltage is within the specified range.
Q: Is the MPPT algorithm adjustable?
A: No, the MPPT algorithm is built-in and operates automatically to optimize energy harvesting.
Q: Can I use the CN3065 without a solar panel?
A: Yes, you can use a DC power source within the input voltage range (4.4V to 6.0V) instead of a solar panel.