PIC16F877A – Relay Interfacing

In this tutorial we will learn Relay interfacing with PIC16F877A. Relay is very important component to interface the heavy appliances with the help of microcontroller.


Relays are devices which allow low power circuits to switch a relatively high Current/Voltage ON/OFF. A relay circuit is typically a smaller switch or device which drives (opens/closes) an electric switch that is capable of carrying much larger current amounts.


Current flowing through the coil of the relay creates a magnetic field which attracts a lever and changes the switch contacts. The coil current can be on or off so relays have two switch positions and most have double throw (changeover) switch contacts.

Construction and working

Relays are made up of electromagnet and a set of contacts generally based on Single Pole Double Throw (SPDT) or Double Pole Double Throw (DPDT) switching method. It has 3 pins to perform function –

  • COM = Common, always connect to NC; it is the moving part of the switch.
  • NC = Normally Closed, COM is connected to this when the relay coil is off.
  • NO = Normally Open, COM is connected to this when the relay coil is on.

You can easily understand the concept of Relay by looking this below image.


Before Interfacing, every one should know about the Relay Driver which is used to interface the relay to microcontroller.

Relay Interfacing with PIC16F877A

Circuit Diagram

In this tutorial I’m connecting One Relay in Port B.0. And switch is connected into Port B.1.


If you want to make Relay ON, Just give the High Signal (1) to that pin which is connected to ULN2803. The concept of this code is just turn On the Relay when the button is pressed.


#define relay RB0
#define sw RB1

void main()
    while(1) {
        } else {


relay interfacing with pic16f877a [ Please find the output image Here ]

So Programming wise its very simple. It is like a LED program. But Hardware wise we should be careful. Because we might connect AC power supply devices here. So Be careful guys. You may connect Fan, AC Motor, Lamp etc to relay.

0 0 votes
Article Rating
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x
Ads Blocker Image Powered by Code Help Pro
Ad Blocker Detected!!!

Dear User,

Thanks for visiting the site. Unfortunately, we have noticed that you are using an Ad Blocker extension in your browser.

We charge advertisers instead of the audience. We depend on Ad revenue to keep creating quality content for you. We guarantee clean ads. 


Click the AdBlock icon on your browser and click Enabled on this site to Disable AdBlock in embetronicx.com or whitelist our website.

If you still want to hide the ads, please become a Premium member. If you are a premium member already, then please log in.

Thank you for understanding.

If you are seeing this even after disabling all the ad blockers, Please report us the False Positive to [email protected]