Home and Links
 Your PC and Security
 Server NAS
 DVD making
 Raspberry Pi
 PIC projects
 Other projects
 Next >>

Using the PIC (from 16F54 to 24FJ64)

PIC index

A PIC (Programmable Interface Controller) is an unbelievably cheap programmable device containing a CPU, some Flash memory (for your program code) and a limited amount of RAM. Low end ('12F') devices can be found on eBay for less than 20p each, contain an 8bit CPU, up to a kb of program space (Flash memory), a few dozen bytes of RAM and 4 to 6 i/o pins (the function of which is under your program control). All have built in timer/counter(s) and most have serial comms (I2C, SPI) circuits and some support 'Interrupts'. Some even have a built-in A-D converter and a dozen or so bytes of EEPROM ! They typically run at 1 MIPS.

Even the 'high end' PICs typically cost less than £5 each, for which you get a 16bit CPU running at 16MIPS (or so), multi-kb's of Flash instruction space (up to about 192kb), a few kb of RAM register space (up to about 8kb) and even some user EEPROM. Designed to run C program code they come with multiple 'built in' support components (such as a 10bit ADC, I2C, UART and even USB !)

However, with the advent of the £4 ($5) Pi Zero, a 'game changer' has entered the programmable device market. The Pi Zero (512Mb RAM, 1GHz +GPU on-board HDMI) is at least 3 'orders of magnitude' more powerful than any PIC device. The future of programmable device DIY projects should be very interesting indeed !

The pages in this topic are :-

  + notes - (links to all my PIC hints and tips)

  + PIC basics

  + Using a PIC - (the basics)

  + PIC16F5x tips and tricks

  + Better PIC instruction set - (mnemonics)

  + New PIC 33 mnemonics - (macro code)

  + PIC overclocking

  + Programming the PIC

PIC in practice

  + Basic ADC resistance measurement - (with the PIC10F206)

  + Variable resistance measurement

  + 16 keypad 4x4 matrix - (using one pin) == Latest changes (modified 29th May 2018 14:37.)

  + R 2R 3R DAC - (and servo motor control)

  + PIC low voltage ac motor control

  + PIC PWM - (and AC 55Hz generation)

  + Driving LEDs - (marching display)

  + PIC as a Logic analyser - (16F59)

  + PIC serial output - (RS232 and I2C)

  + PIC serial parallel converter

  + 5x8 character set

  + PIC PS2 Keyboard to serial


  + DIY RTC - (for a RaspberryPi)

PIC alarm controller

  + Interfacing to a SD card

Astronomical - (PIC)

  + Cooling fan controller - (PIC Project)

  + PIC16F54 StarTrack

  + DSLR star track - (a DIY solution)

  + Barn Door - (code)

  + PIC GoTo - (PushTo)

PIC Video Time Insertion - (OSD)

  + PIC16F5x Video Time Inserter - (VTI)

  + 16F5xx based VTI


  + PIC18F OSD - (VTI)

PIC VGA display

CCTV controller - (using the PIC10F206)

  + CCTV PTZ controller code - (PIC10F206)

Next page :- PIC basics