Home / Tutorials / PIC Tutorial

PIC Tutorial

How to Use Lookup Tables in PIC Assembly

Lookup Tables with PIC

Programming a microcontroller in assembly languages takes time and to reduce that time, embedded systems engineers often have tricks up their sleeves. One of those tricks is the use of lookup tables. In this post, I will share how I use lookup tables in assembly language for PIC microcontrollers.

Read More »

Persistence of Vision (POV) with Seven-segment Displays

POV seven segment

Lack of pins to use is a common challenge in designing microcontroller-based projects. This is particularly true when dealing with liquid crystal or seven-segment displays. Multiplexers and display drivers are great help but at an additional cost. Thankfully, a software-based solution exists to solve such problem.

Read More »

Capture and Compare with PIC16F877A

PIC16F7877A prototype board

The PIC16F877A microcontroller comes with a Capture Compare PWM (CCP) module which utilizes its 16-bit Timer1 module to generate or count pulses, among other things. I have already covered how to generate PWM in my previous tutorial. This time, we will look at how to implement capture and compare with …

Read More »

PIC16F877A - More Microcontroller Features


We have managed to blink a LED, use interrupts and timers with the PIC16F84A. Sadly, that’s almost all we can do with that microcontroller as it lacks features that most microcontrollers or an Arduino has. From here on, we will now be using the PIC16F877A.

Read More »

PIR Motion Sensor

HC-SR501 PIR motion sensor

You can in fact build your own motion sensor without spending too much. Motion sensors can be setup using ultrasonic transceivers, video cameras or microwave signals. In this tutorial, I’ll show you how to use the PIR motion sensor with a microcontroller. PIR is short for passive infrared which describes …

Read More »

PIC16 PWM Tutorial


Pulse width modulation may have been invented to encode messages into pulsing signal but it was originally conceived as a technique for controlling power supplied to motors. In this tutorial, we will look at how PIC16 PWM works.

Read More »

Use the PIC16F877A with Nokia 3310 in XC8

nokia 3310 lcd

In this post, I’ll share with you how I got the Nokia 3310 LCD to run using a PIC16F877A microcontroller. How to use the Nokia 3310 LCD with the Arduino has been covered before. This one is more challenging because I had to create a library for the XC8 compiler. …

Read More »