Become a subscriber (Free)

Join 29,000 other subscribers to receive subscriber sale discounts and other free resources.
:
:
Don't worry -- your e-mail address is totally secure. I promise to use it only to send you MicroZine.

PIC Projects based on flash pic microcontrollers.

These pic projects use Flash based microcontrollers so you can re-program them in circuit using ICSP. You can re-program most PIC Flash microcontrollers up to 100,000 times!


So if you re-programmed a part 10 times a day it would take you 27 years before it wore out!

Note: Some older devices only re-program 1000 times e.g. 16F84.

So don't worry about re-programming you can re-program them as much as you want to.

Projects on this site mainly use the following devices

PIC12F675 (8pin).
PIC16F88 (18 pin).
PIC16F877A (40/28pin).


You can use an ICSP programmer in circuit to test your projects out and once set up you don't need to remove the programmer during testing.

So it's easy to change the code and you don't need to fiddle about transferring microcontrollers from sockets to project board.

Note: You have to design the circuit to operate with the ICSP port but its not difficult.

Links to pic projects

Note: All of these projects can be retargetted to another device - all you need to do is ensure there is enough memory (compile and check used memory). Also look at the requirements on the project page to make sure that the device has the required hardware module (if any is specified) and enough pins.

16F877A : Frequency Counter (LCD).
16F877A : Frequency counter (7Seg).

16F88 : Ultrasonic Range Finder.
16F877A : LCD and keypad (one port!).

16F877A : LCD Volt meter (simple).
16F877A : RGB LED Driver.
16F877A : Serial LCD.
16F88 : Binary clock.
16F88 : Real Time Clock (RTC) DS1307.

16F88 : LED DOT Matrix Display.
16F88 : Universal Infrared Receiver.
ICSP PIC Parallel Port Programmer.
12F675 : Tutorial.
12F675 : Servo motor driver.
12F675 : Servo controller (Soft USART).

12F675 : LM35DZ Temperature sensing.
12F675 : RS232 Transmission.
12F675 : LM35DZ Temperature log EEPROM
.

Project Ideas Section  

The above link takes you to information from the public domain 
- specifically expired US patents - however these contain accumulated
knowledge from the greatest minds in history! So don't dismiss them!

All you need to program the microcontroller in each of the following projects is a pic programmer that has an ICSP connector. You can find a programmer project below but you should really buy one, such as a PicKit3 since it saves making any mistakes as you don't have to build the programmer i.e. one less thing to think about.

Note that most of the pic projects are retargetable to different devices - some are not as they use a lot of pins to drive displays. But in general you can change to a different device. You could also run using a different display e.g. for the frequency counters you could use an RS232 output which would let it operate from a 12F675 (8 pin device).


Projects

< 50MHz LCD frequency counter

A frequency counter using PIC TIMER 0, 1 and a standard HD44780 LCD.

Target 16F877A
Retargetable Yes: Needs Timer0, Timer 1.

50MHz 7 segment frequency counter

A frequency counter using PIC TIMER 1 and a real display that you can see!. It uses 8 seven segment displays e.g. 50,000,000 is fully displayed.

Target 16F877A
Retargetable Yes: Needs Timer 1.

0-5V LCD volt meter.

This is a simple project showing how to use the analogue inputs of the PIC with full register usage code.

Target 16F877A
Retargetable Yes: Needs Analogue module.

Ultrasonic range finding project.

This project uses the CCP module to measure the ultrasonic echo time for calculating the object's distance. It also uses standard transistor components for transmission and reception. Range is 5cm to 3m.

Target 16F88
Retargetable Yes: needs CCP module.

A Real Time Clock (DS1307) using I2C.


This project uses a 16F88 as the master I2C controller and for this chip the I2C control has to be written in software. Unlike the 16F877A the 16F88 only has a full implementation of the slave mode. The software I2C routines can be used with any PIC micro. This project results in the standard 4 digit seven segment display desk clock.

Target 16F88
Retargetable Yes: Any PIC Micros.

LCD and Keypad using one 8 bit port (no glue logic)

Direct jump to locked page (needs unlock code)

This project saves you port pins by combining an LCD and Keypad onto one 8 bit port. The LCD is fully readable and writable and the key pad has 12 fully readable keys.

PIC Projects Target 16F877A
Retargetable Yes: Any PIC Micros. (Any micro that can set pin directions).

To unlock this page please visit my E-Zine subscription page here. Note that the project and E-Zine are free.

Driving an RGB LED.

Project uses interrupts to generate a software PWM and uses Timer 0 as a heartbeat timer.

IC Projects Target 16F877A
Retargetable Yes: Any PIC Micros with at least 3 pins!

Driving an LED dot matrix.

This project shows how to drive an 8x8 dot matrix led display. Note that you can drive a 5x7 display with the same circuity - just needs the character set adjusted.

PIC Projects Target 16F88
Retargetable Yes: Any PIC Micros.

Serial LCD module

This project creates a serial port driven LCD display module.  All commands are in ASCII so you can test out the project by driving it directly from a PC serial port.  The project relies on the built in USART but you could create a software UART (receiver part) and drive it in the same way. 

There are no 'odd' commands e.g. to clear the display you would type #C or #c and to write text to the display you just type text!  Setting an x or y position is also easy e.g. #X10  sets the cursor to x position 10.

PIC Projects Target 16F877A
Retargetable Yes: Any PIC Micros with a built in USART.

Universal Infrared Receiver (UIR)

With this project you can use a PIC micro to read any infrared remote control, TV, DVD,Video, satellite etc.  With it you can control your PC e.g. start programs, move the mouse, turn the Windows volume up and down etc.

PIC Projects Target 16F88
Retargetable Yes: Any PIC Micros with a built in USART.

12F675 : Tutorial

The start of a tutorial on the 12F675.

PIC Projects Target 12F675

12F675 : RS232 Serial transmitter

Software implementation of RS232 transmit for 12F675.

PIC Projects Target 12F675
Retargetable Yes: Any PIC Microcontroller

12F675 : Serial Temperature Logger

Temperature logging to serial port using 12F675.

PIC Projects Target 12F675
Retargetable Yes: Any PIC with analogue input port.

12F675 : EEPROM Temperature logger

Similar to the above project but stores data in the internal EEPROM that can be read out later via the serial port.

PIC Projects Target 12F675
Retargetable Yes: Any PIC with analogue input port

12F675 : Servo motor driver

This projectuses Timer 0 to generate the timing interval ~20ms.  Each Timer 0 interrupt calls a pulse generation function that sets the position of the servo (1ms-2ms).

PIC Projects Target 12F675
Retargetable Yes: Any PIC Micro

12F675 : Servo motor - serial control

This project uses Timer 0 to generate the timing interval ~20ms as above but is now controlled from a Soft Serial USART.

PIC Projects Target 12F675
Retargetable Yes: Any PIC Micro

Binary Clock

This project uses a 16F88 and an LED matrix to display a binary clock with 6 digits of 4 binary bits each  

It also teaches reading binary 0-9.  

It uses a Timer 0 interrupt to generate timing pulses for the clock so you can use it with virtually any other PIC device.

PIC Projects Target 16F88
Retargetable Yes: Any PIC Micro with enough pins.

PIC Parallel Port Programmer

A Parallel port pic programmer based on AN589 with an ICSP connector that you can use to program virtually any PIC micro since they all use the same ICSP connections.  This project does not use a PIC micro - it needs a 74HC244 and some standard transistors.

Note: This programmer is a modified AN589 and lets you use it at the end of a 6ft parallel cable.  The mod for this is simply a standard resistor and capacitor which makes a transmission line terminator.  When I first built it I had not used the terminator and got random results - very frustrating - the mod is simple and useful - there are also other useful and simple mods in the project.

End of PIC Projects page.

New! Comments

Have your say about what you just read! Leave me a comment in the box below.



Claim Your: Useful

"Arduino Software Guide"

   Right Now...



Return from PIC Projects to
Best-microcontroller-projects home page


Privacy Policy | Contact | About Me

Site Map | Terms of Use




Visit our Facebook Page:

   Click Here



Sign up for MicroZine
''The'' Microcontroller Newsletter

Enter your first Name and primary email address in the form below:


And receive absolutely FREE a full project for:

"Measuring Analogue Voltages
Without An ADC"

(Using only one pin).

Instant Download:
You Can
Get It Right Now

Warning: This project could be  Removed 
at any time.  

It will  NOT be 
available indefinitely SO
To avoid 
disappointment  get it:

Now



:
:
Don't worry -- your e-mail address is totally secure. I promise to use it only to send you MicroZine
Remember this is a project with full description and fully debugged C Source code - and it's not available from the main website.

You can only get it through this newsletter.

To get exclusive access Enter your first name Name and primary email address Now in the form above.:



But wait !

There's more...

You'll receive more
free and exclusive reports as well as site information and site product updates


Scroll up to the form above and sign up NOW. Don't forget it's FREE and if you don't like it, you can unsubscribe at any time.

Click Here Now to use the form above to get your Valuable information absolutely free.



Readers Comments

"I wanted to thank
you so so so much
for all the information
you have provided in
your site it's

SUPERB and FANTASTIC."

- Ranish Pottath

"This site really is
the best and my favorite.
I find here many useful
projects and tips."

- Milan

bursach<at>gmail.com<

"Awesome site,
very, very easy and nice
to navigate!"


- Matt
matt_tr<at>
wolf359.cjb.net


Learn Microcontrollers

"Interested in
Microcontrollers?"

Sign up for The
Free 7 day guide:

FREE GUIDE : CLICK HERE


"I am a newbie to PIC
and I wanted to say
 how great your
site has been for me."


- Dave

de_scott<at>bellsouth.net

"Your site is a great
and perfect work.
congratulations."


- Suresh

integratredinfosys<at>
yahoo.com

"I couldn't find the correct
words to define
yourweb site.

Very useful, uncovered,
honest and clear.

Thanks so much for
your time and works.
Regards."


- Anon

Recent Articles

  1. How to use the DHT22 (or DHT11) with an Arduino; full code and description. Also including a comparison of the DHT11 vs DHT22.

    The Essential Guide to the DHT22/11 humidity sensor including a library code guide for the Arduino. Learn how to determine Humidity, Dew point and Heat Index.

    Read more

  2. How to Use the MAX7219 to drive an 8x8 LED display Matrix on the Arduino.

    The Essential Guide to the MAX7219; What it is and how you can easily use one in any of your projects.

    Read more

  3. How to use a DS18B20 (single or multiple on one wire) for temperature measurement using the Arduino Uno.

    How to Easily Use the DS18B20 Maxim One-Wire thermometer with Arduino example code showing external or parasitic power modes.

    Read more