OK, here we go:

I wanted to develop a small but powerful evaluation board for some PIC-controllers. The idea was based on an eval board I got in school for the AT89C5131 as well as the work of Nicolas Pannwitz (here is his website) who also helped me with some problems.

I did this as a learning-by-doing project for programming in C as well as finally using the tons of PIC-controllers I have lying around (no kidding, there are hundreds….). I will make som code examples and if you want, you can use them and code along.

The PICture will be designed for both PIC16F877 and PIC18F2550 since i have both of them on hand (in quite some quantities). The controller itself will have a bootloader on board for easy programming without normally needed hardware. The bootloader is only for programming the chips so it will not slow them down during runtime.

Specifications for the PICture18F2550

  • Programmable and interface via USB (FTDI) and bootloader
  • Port B as LED pins (can be turned off)
  • LM35 at RA4
  • Potentiometer at RA5 (connected via jumper)
  • Switchable USB-ports (FTDI or PIC)
  • Switchable RS232-connections (µC->PIC or µC->MAX232)
  • SUB-D-9 connector with MAX232
  • RC0 to RC2 as buttons (Low-Active)
  • Button at RB2 (INT2)
  • DIPS082 LCD (RA0-RA3 as Datalines) and PWM for backlighting
  • LM75 at I²C (I²C lines disconnectable with jumpers)
  • Every pin with female pin header
  • Pinheader for I²C

Spezifications for PICture16F877:

  • Programmable and interface via USB (FTDI) and bootloader
  • Port C and D as LEDs (can be turned off)
  • LM35 at RA0
  • Potentiometer at RA1
  • Switchable RS232-Lines (µC->PIC or µC->MAX232)
  • SUB-D-9 connector with MAX232
  • Port B as Buttons (Low-Active, RB0 as INT0)
  • DIPS082 LCD (Port D as data port) and PWM for backlighting
  • LM75 at I²C (I²C lines disconnectable with jumpers)
  • Every pin with female pin header
  • Pinheader for I²C

On both pcbs clock rate is at 16MHz and have a reset button. A LED is indicating power as well as LEDs for Rx and Tx of the FTDI. The bootloader is toggled by a RTS signal from the FTDI and will load the program into memory.

As usual, here some pictures of my PICtures