Skip to the content
PCBKitNew board
2 layers90 × 64.5 mmESLS, the printed circuit board in 3D

This was my academic project focused on creating a efficient LED based Street Lighting System which will avoid Power Wastage due to manual mismanagement.

Size
90 × 64.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
11
Nets
40
Pads
68
Tracks, vias
71, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Mar 2026
Updated
23 Apr 2026

Overview

ESLS is an open-source printed circuit board by Rajcr2, from the Rajcr2/ESLS repository on GitHub, published under the MIT licence. It is a 2-layer board of 90 × 64.5 mm with 11 parts on 40 nets, routed with 71 tracks and 0 vias.

It is built around the BT136-600E, DS1307+ and MOC3021M. Its parts include 5 connectors, 2 resistors, 2 ICs and 1 transistor. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

Efficient Street Lighting System

Introduction

This was my academic project focused on creating a efficient LED based Street Lighting System which will avoid Power Wastage due to manual mismanagement.

Motivation

I have observed many times that street lights were ON till 10 AM because operator forgot shut the main switch down and seen this very frequently & also lights were ON 1/2 hrs before SUNSET which leads to Power Wastage this is the Main reason or motivation behind this project.

imageimage

Objectives

  1. To make sure that all street lights will remain ON only during DARK (Cloudy Condition)/NIGHT hours & will remain off completely during DAY HOURS (from Sunrise to Sunset).
  2. In case, If Power remains ON during Day-Time due to operators negligence LED lights will still remain OFF contributing to Energy saving.
  3. To Improve life of street light lamps.
  4. To Achieve Maximum Energy Efficiency.

System Design

System Design Clear

Components

ComponentPurpose
Arduino NanoMicrocontroller control unit
DS1307 - RTC ModuleTime scheduling
MOC3021Opto-isolated TRIAC driver
BT136 - TRIACAC load switching
LDR ModuleDetects ambient light intensity (luminance)
470Ω ResistorLimits current into optocoupler LED

Schematic Design

The schematic is designed in KiCad. Schematic consists Arduino Nano (Control Unit), DS1307 RTC Module, optocoupler driver (MOC3021), BT136 TRIAC (switching circuit) for AC load along with Resistors.

ESLS Schematic

PCB Layout

The PCB layout separates the low-voltage control circuitry from the AC power section to maintain electrical isolation. Routing was optimized to keep the power path short and reduce noise coupling.

PCB Layout - ESLS

3D View

ESLS_3D

Design considerations

  • Isolation between low-voltage control circuit and AC mains section.
  • Clear routing of power paths for the TRIAC switching stage.
  • Through-hole components used for easier prototyping and soldering.

Circuit Simulation

ngspice Simulation

Transient analysis was performed using ngspice integrated in KiCad to validate the Arduino driver stage.

Limitation

Since microcontrollers cannot be simulated directly in SPICE, the Arduino PWM output was emulated using a pulse voltage source.

  • Simulated Circuit

ngspice_schematic
  • PWM Signal Emulation

All required Arduino PWM signals were emulated using the SPICE source :

Example : PULSE(0 5 0 1u 1u 1m 2m)

ParameterValue
Low Voltage0 V
High Voltage5 V
Rise Time1 µs
Fall Time1 µs
ON Time1 ms
Period2 ms

This results in a 50% duty cycle PWM signal, which corresponds to the Arduino command:

analogWrite(pin,128)

  • Transient Analysis Results

The transient simulation produced the following waveform.

ngspice_simulation

Observations from the simulation :

  • The voltage waveform alternates between 0 V and 5 V, representing the PWM output.
  • The current through the resistor and LED appears as periodic pulses synchronized with the PWM signal.

Calculation :

I = (Vcc − Vf) / R

Vcc = 5 V, Vf ≈ 1.2 V (LED forward voltage), R = 470 Ω

I ≈ (5 − 1.2) / 470

I ≈ 8 mA

  • The simulated current (~9.1 mA) aligns with this calculation and confirms that the Arduino output pin can safely drive the optocoupler input stage.

Proteus Simulation

To verify the embedded firmware behavior, the system was simulated in Proteus.

Unlike SPICE tools, Proteus allows simulation of Arduino code execution along with peripheral modules such as the RTC.

ngspice_simulation

Simulation demonstrates and displays output Oscilloscope how the Arduino program changes the output signal according to the RTC time conditions.

Simulation Outputs

  • At Mid-Day Time :

    As per our goal light must remain off during Day Time and thats we have achieved. It will only "Turn ON" if LDR triggers due to cloudy condition.

    Proteus_Day_Hours
  • At Evening Time :

    As during sunset time, we need light but, not fully in regular seasons so, 50% light is enough and that we got it. For special case, during cloudy conditions if it senses Darkness around will trigger LDR. so, Both scenarios are covered.

    Proteus_Day_Hours
  • At Night :

    Light is fully ON.

    Proteus_Day_Hours
  • At Early Morning :
Proteus_Day_Hours
  • At Morning
Proteus_Day_Hours

These results confirm that the firmware correctly generates the expected control signal based on RTC timing conditions. Using the same logic then implemented and validated on the physical hardware prototype.


Hardware Implementation

The circuit is implemented on a custom PCB designed in KiCad. The circuit board includes the Arduino Nano module, RTC module, LDR sensor module, MOC3021 optocoupler, 470Ω resistor, connectors, and a BT136 TRIAC.

The Arduino Nano is mounted on the PCB and programmed to execute the control logic based on RTC timing conditions. After assembling the PCB, the logic was tested on a working prototype to validate the system behaviour of the control stage.

PCB

image

Prototype

image

Results

The hardware prototype was tested at different time conditions defined in the firmware. The observed outputs confirm that the system correctly generates the control signal and operates as intended.

  • 1. During Day Time

    Mechanism is developed in way that during hours from 8 AM to 6 PM Light will remain OFF. In case, operator forgot to switch off main switch still lights will be OFF.

    Day Hours
  • 2. At Evening

    In the evening, during the time of Sunset there is enough light present so, we don't need street lights with Full intensity, so we have make sure that lights will be ON with bit less intensity like at 6-7 PM = 40% & 7-8 PM = 50%. Same logic is used during Sunrise time as well.

    Evening Hours
  • 3. At Peak Night Hours

    Only During complete DARK hours mainly from 8 PM to 5 AM Lights will be ON with Full intensity.

    Night Hours
  • 4. During Cloudy Conditions

    This is a special case designed for Rainy Season, where if clouds appear in Day hours incase if LDR senses surrounding is DARK it will Turn ON lights Automatically without any need Manual workers risking their life in Rainy times.

    Cloudy

Conclusion

Developed a system that will use RTC (Real Time Clock) and surrounding ambience with LDR Sensor intelligently and will make sure Light will be ON only during DARK Hours in case of DAY Hours it will be ON but, with less intensity. Which will,

  • Improve life of Street Lights.
  • Contribute to lot of Energy Savings.

Parts

11
QtyValueFootprintReferences
2470Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2
2Conn_01x05_SocketConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ2, J3
2Screw_Terminal_01x02SnapEDA:TE_282837-2J1, J5
1Arduino_Nano_v3.xModule:Arduino_NanoA1
1BT136-600Package_TO_SOT_THT:TO-220-3_VerticalQ1
1Conn_01x03_SocketConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ4
1DS1307+Package_DIP:DIP-8_W7.62mmU1
1MOC3021MSnapEDA:DIP762W45P254L889H508Q6_MOC3021U2

Questions

How big is the ESLS PCB?

It measures 90 × 64.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ESLS use?

11 parts, built around the BT136-600E, DS1307+ and MOC3021M. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the ESLS KiCad files?

From the Rajcr2/ESLS repository on GitHub, at the commit this page was made from: the board is ESLS.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESLS design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers78.7 × 58.4 mmDimmerESP32, the printed circuit board in 3D

    DimmerESP32

    martinhofigueiredo/SE

    Sistemas Embarcados

    12 parts3
  • 2 layers85 × 106.5 mm230V controller, the printed circuit board in 3D

    230V controller

    kkorzen/Mains-Voltage-Device-Controller

    This project was under development during the first semester of Master's Studies at Warsaw University of Technology (Poland) as a final project for Industrial Communication Protocols.

    38 partsMIT
  • 2 layers260 × 140 mmSmartEnergyMag System, the printed circuit board in 3D

    SmartEnergyMag System

    MunyratanakBrorn/Smart-Electrical-Energy-Management-System

    Bachelor of Technology Thesis Project 2024.

    403 parts
  • 2 layers100 × 100 mmAaram, the printed circuit board in 3D

    Aaram

    xicor22/Aaram

    PCB design for retro fitting old switch boards with new tech to control it remotely.

    77 partsGPL-3.0
  • 2 layers100 × 120.5 mmStopLight4, the printed circuit board in 3D

    StopLight4

    kitspace-test-repos/kicad6-file-collection

    59 partsMIT
  • 2 layers122.6 × 80.6 mmBed smart plug, the printed circuit board in 3D

    Bed smart plug

    mylife-home/mylife-home-devices

    MyLife Home devices

    26 partsGPL-3.0
  • 2 layers41 × 38 mmRS Board, the printed circuit board in 3D

    RS Board

    VGCH/radar_switch

    DIY module for lighting control with radar sensor

    35 parts5