Introduction: Low Cost Controller

Solar Lighting Controller based on PIC12F675 micro controller to be used with a Solar Panel, Battery and a LED 12V Light, it has built with affordable materials and its ready to use, just plug your devices and its done, this controller will function by itself with no need to turn on or turn off the LED Light or press a button for starting to charge its battery due to its program to do it autonomously.

Step 1: Materials and Tools


  • 1-1K ¼ Watt Resistor
  • 4-2,2K ¼ Watt Resistor
  • 2-4,7K ¼ Watt Resistor
  • 5- 10K ¼ Watt Resistor
  • 1- 3,3K ¼ Watt Resistor
  • 1-50K Trimming Potentiometer
  • 3-100nF (0,1uF) Capacitors
  • 2-22nF 25V Capacitors
  • 2-MBR1660 Schottky Barrier Rectifier
  • 4- Green LED Diodes
  • 2-BC547 Transistors
  • 2-IFR5305 MOSFET
  • 1-PIC12F675 Microcontroller
  • 1-7805 Voltage Regulator
  • 1- 8 Pin Base
  • 1- Aluminum Heatsink
  • 5- Insulation Composite TO-220 with M3 Screw Insulation Cap TO-220
  • 3- Terminal Wire Connectors
  • 3-20mm PCB Fuse Holders
  • 3-20mm 5 Amp Fuses
  • 1- PCB Board (4.3” x 4.3”) or 2 830 Points Protoboard
  • 5”- of Solid Core Wire (Red) for PCB Board or 4mts of Solid Core Wire for Protoboard (Black and Red, 4mts p/color)
  • Couche Paper (1 or 2 sheets).


  • 1- Electric Wire Cutter
  • 1- Electrical Pliers
  • 1- Soldering Iron
  • 1- Soldering Flux
  • 1- Soldering Tin
  • 1- Solder Sucker
  • 1- PCB Drill
  • 2- Screwdrivers (Plus and Plane)
  • 1- Iron
  • 1- Used Cloth
  • 1- Plastic Recipient (for PCB Board)
  • 1- Ferric chloride Acid for PCB
  • Stainless Steel Scouring Pad
  • Some Water

Software and Hardware:

  • PICkit 2
  • MikroC (Only if you want to modify some code)
  • Microcontroller Programmer

Step 2: Circuit Diagram

The very first step you need to do it's look at the circuit diagram, this is the way you will connect your components to function properly. If you are using just a protoboard with some wires just peel some strings and connect. But if you are using a PCB Board go to the next step. I put some datasheets from the less common components to make it easy for you.

Step 3: PCB Board

If you´ve decided to make a PCB Board follow this step, to get this complete, we need to do 5 things:

  1. The first thing is print the circuit, don’t worry I attached a PDF file with it, you must print it in a Couche sheet.
  2. The second thing is iron the circuit into the PCB Board, just put the Couche paper into the copper side of the PCB Board and adjust to fit properly, when you see that circuit’s tracks are sticking to the PCB Board correctly just stop ironing it and put the PCB Board in some water to clean the PCB Board.
  3. After cleaning the PCB Board, put some Ferric Chloride Acid into a plastic recipient with some water, and immerse PCB Board, Ferric Chloride Acid must cover all the surface of the board.
  4. When you only see the circuit’s tracks on the PCB Board remove it from Ferric Chloride Acid, clean the board with some water and sand it with a stainless-steel scouring pad
  5. Finally, you just have to drill the component´s holes.

Step 4: Functions and Logic


Our Solar Lighting controller will function according the next conditions:


If our controller detects sun light it will verify the amount of charge of the battery, if the battery its complete its ok, but if the battery is on low or medium charge the controller will start charging the battery until it detects that its complete.


If our controller doesn’t detect sun light it will turn on the LED light, but only if the battery it’s on medium or complete charge, the controller verifies the amount of charge at night to do this. If the battery is on low charge, the controller turns off the LED light for saving energy and charge the battery next day.


To make our solar lighting controller we will use the PIC12F675 microcontroller and it’s analog to digital converter pins, we will use them for detecting the amount of charge of the battery and the state of the day (Day or Night), besides detecting a voltage reference value for stablishing the battery levels (Complete, Medium, and Low Battery), all reads will be using a voltage divisor with resistors or using the potentiometer (50k). In addition to that we will use 2 pins as out for turning on the lights and starting charge the battery.

Step 5: Solder PCB Board

Finally you just have to solder the components on the PCB Board and it’s done!, our controller is ready to use, just put in some case for protection.

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017