The problem
Street lighting consumes a large share of municipal electricity, and conventional lamps burn at full power all night regardless of whether anyone is on the road. Solar street lights solve the supply problem but still waste stored energy if they run flat-out through empty hours. This project demonstrates both fixes in one bench-scale prototype: a small solar panel charges a lithium battery pack by day, and at night the lamp runs at a dim idle level, rising to full brightness only when the PIR motion sensor detects movement. An LDR light sensor provides true dusk/dawn switching so the system needs no clock or manual intervention. The design covers the complete energy path students must understand for the viva — photovoltaic input, charge management, battery storage, sensor fusion (light + motion), and PWM power control of the LED load. All thresholds and timings are firmware constants the buyer calibrates during build, so the project teaches measurement and tuning rather than hard-coded magic numbers.
10W, 12V nominal panel charging the battery pack through the TP4056 module by day.
Follow the working sequence
How it works
- By day, the 10 W solar panel feeds the TP4056 charge module, which charges the 2S 18650 pack with constant-current then constant-voltage phases and cuts off at full charge (module protection handles over-charge/over-discharge).
- The Arduino Nano continuously samples the LDR voltage divider; when ambient light falls below the configured dusk threshold (calibrated on-site, around typical twilight levels), the controller enables the lamp driver.
- The lamp starts at the idle dim level — approximately 25% PWM duty at ~490 Hz — enough to mark the light's presence while conserving battery.
- The HC-SR501 PIR sensor watches a ~120° cone in front of the lamp (up to ~7 m per its datasheet); on motion its output pin goes high and interrupts the controller.
- On each trigger the firmware ramps PWM to 100% duty, lighting the area fully, and starts a hold timer (~30 s, configurable).
- If no further motion occurs before the timer expires, the firmware ramps back down to the idle dim level; at dawn the LDR reading rises past the threshold plus hysteresis and the lamp switches off.
- The battery then recharges through the next day's solar input, and the cycle repeats — no manual switching, no grid connection.
Tech stack:
- 10 W, 12 V nominal monocrystalline solar panel
- Arduino Nano (ATmega328P) controller
- TP4056 Li-ion charge module with protection
- 2S 18650 battery pack (7.4 V nominal, ~5.2 Ah)
- LDR light-sensor module (GL5516, voltage-divider type)
- HC-SR501 PIR motion-sensor module
- 12 V LED lamp module + IRFZ44N MOSFET driver
- Arduino IDE firmware (Embedded C)
| Parameter | Value |
|---|---|
| Solar panel | 10 W peak, 12 V nominal (design target, panel datasheet) |
| Battery | 2 × 18650 Li-ion, 7.4 V nominal, ~5,200 mAh total (design target) |
| Charge control | TP4056 module, CC/CV, ~1 A charge current (datasheet) |
| Lamp | 12 V LED module, ~5 W at full brightness (design target) |
| Idle dim level | ~25% PWM duty (design target, firmware-configurable) |
| PWM frequency | ~490 Hz (Arduino Nano default on the driver pin) |
| Full-brightness hold | ~30 s after last motion (configurable in firmware) |
| Dusk threshold | ADC-count threshold, calibrated on-site to local twilight (buyer-run procedure) |
| PIR detection | Up to ~7 m range, ~120° field of view (HC-SR501 datasheet) |
| Night runtime | ~8–10 h in dim-idle mode on a full charge (design target; depends on battery health and solar insolation) |
Project features
- [Automatic dusk/dawn switching] An LDR light-sensor module on a voltage divider feeds the microcontroller's ADC; the lamp switches on below the dusk threshold and off at dawn, with hysteresis so passing clouds or headlights do not flicker it.
- [PIR motion-triggered dimming] An HC-SR501 PIR sensor ramps the lamp from the ~25% idle level to full brightness when motion is detected, then holds full brightness for a configurable time (~30 s default) before dimming back down.
- [Solar charging with protected module] A 10 W, 12 V nominal panel charges the pack through a TP4056 constant-current/constant-voltage charge module with built-in over-charge and over-discharge protection.
- [18650 lithium storage] A 2-cell 18650 pack (7.4 V nominal, ~5,200 mAh design target) stores daytime energy; capacity and runtime are stated as design targets, never measured claims.
- [PWM LED power control] The LED lamp head is driven through an IRFZ44N MOSFET at ~490 Hz PWM, giving smooth, efficient dimming from idle to full brightness.
- [On-site calibration procedure] Dusk threshold, dim level and hold time are firmware constants tuned with a documented step-by-step calibration procedure the buyer runs — demonstrated as a buyer-run procedure, not a factory claim.
- [Low-power idle logic] Between motion events the controller idles the lamp at ~25% duty, stretching the battery through the night on the stored charge.
What is included
- Working bench-scale prototype (solar panel, lamp head, controller, sensors, battery pack — wired and demonstrated)
- Complete firmware source code (Arduino IDE, commented)
- Wiring diagram and connection table
- Step-by-step calibration guide (dusk threshold, dim level, hold time)
- Bill of materials with exact part numbers and sourcing notes
- Project report PDF (background, design, methodology, expected outcomes)
- PPT presentation for final review
- Viva Q&A preparation document (solar charging, PWM dimming, sensor fusion, battery safety)
Limitations & prerequisites
- Runtime is a design target, not a measured claim — 2–3 consecutive overcast days can deplete the pack and the lamp will stay off until it recharges.
- This is a bench-scale demonstrator, not a street-legal road luminaire; no claim is made about compliance with road-lighting standards.
- There is no grid backup: if the battery is flat, there is no light, and the system cannot fall back to mains.
- The PIR sensor is limited to ~7 m and can false-trigger on animals or warm air movement; it is a motion cue, not a people counter.
- The LDR dusk threshold must be calibrated on-site — the shipped default suits typical twilight only and will need tuning for the demo location.
Frequently Asked Questions
How does the motion dimming actually save battery?
The lamp idles at roughly 25% brightness, which draws about a quarter of full-load power. It only ramps to full brightness for ~30 seconds when the PIR sensor detects movement, then dims back down. Over an empty night the lamp spends almost all its time at the idle level, so the same battery charge stretches far longer than a lamp burning at full power all night.
What happens during cloudy days?
The 10 W panel still produces some power under cloud cover, but much less. After two or three heavily overcast days the battery may not fully recharge, and the lamp will run shorter nights or stay off. This is stated honestly as a design limitation — the build is sized for typical sunny-day cycling, not monsoon-week autonomy.
Is the runtime claim measured or estimated?
Estimated — stated as a design target. Nothing is sold pre-built and pre-tested, so no measured runtime is claimed. The calibration guide includes a buyer-run procedure: you log a full dusk-to-dawn run and record the actual hours, and that figure goes into your report as your own measured result.
Can this be connected to the mains grid as backup?
Not in the shipped build — it is deliberately off-grid so the solar-to-battery energy path stays the whole lesson. A grid charger with automatic changeover could be added as an extension: when the battery drops below a cutoff voltage, a relay switches the lamp to mains, and solar takes over again once charged. That extension is documented as future scope in the report.
Which parts carry the electrical-engineering content for the viva?
The charge path (CC/CV charging, protection cutoffs), the MOSFET PWM driver stage, and the LDR voltage-divider sensing with hysteresis — plus the energy budget of panel watt-hours in versus lamp watt-hours out. Expect to defend why the lamp idles at ~25% instead of switching off, and how the PIR hold timer trades visibility against battery drain; the viva kit covers each with model answers.
Is this project suitable for a final-year project?
Yes — for Electrical, Electronics and Instrumentation programs. It demonstrates solar power, battery management, embedded sensing and power electronics in one build, with a genuine energy-saving mechanism to defend in the viva. The report, calibration procedure and viva Q&A give you everything needed to explain the design end to end, from the TP4056 charge curve to the PWM dimming logic. Suitable for B.E./B.Tech final-year projects in Electrical, Electronics and Instrumentation.
Components & software requirements
- 10 W, 12 V nominal monocrystalline solar panel
- Arduino Nano (ATmega328P) controller
- TP4056 Li-ion charge module with protection
- 2S 18650 battery pack (7.4 V nominal, ~5.2 Ah)
- LDR light-sensor module (GL5516, voltage-divider type)
- HC-SR501 PIR motion-sensor module
- 12 V LED lamp module + IRFZ44N MOSFET driver
- Arduino IDE firmware (Embedded C)
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and email — the synopsis PDF downloads immediately. We may send occasional project updates; no spam, unsubscribe anytime.