Saturday, May 20, 2017

PIC18f Development Kit Design using KICAD - step 1. schematic

I never thought that I would go back to KICAD. Recently I am making my own mini lab tool using cytron development kits (SK40C), the tool is a combination of PWM genenator, ADC readings, I2C and SPI communication device. During the SPI firmware development, I notice my SPI pin had been used as button. 

RB0 and RB1 are used by I2C communication as well. It is such as waste that rich peripheral pins are used as button.

To continue with my development and my mini lab tool project, I decided to draw a new design which can serve as development kits and fit in well for my mini lab tool.

I started with DIPTRACE, it has annoying little bugs like "I couldnt connect net wire to pin unless I had placed my cursors at certain position". I tried endless time zooming in and zooming out, just to get the correct position.

I gave up.

I open KICAD, look for the component I wanted (PIC18f4553/PIC18f4550) and it is right over there. Other just normal components which can be replaced with similar footprint.

All right, give it a second try.

So much functionality of KICAD that I left out in the first review. Maybe I should post a second review on KICAD.

This is my overall schematic.


























I want to fully utilized all the functions available, but nothing is perfect. In the end, I decided to gave up the SPP (streaming parallel port). I have no idea what it does.

I want 4 ADC pins
I want to ground the unused pin to avoid floating reading.

I2C communication is crucial

Then, I have one more for SPI communication

Since both pins are shared between I2C and SPI, I use jumper for selection.

The third selection is for UART communication.

I want to make the UART communication is pin compatible with Adafruit FT232H Breakout. That why I have so many unconnected pins.

Also, one of the important peripheral is USB.


My LCD 16x2 display
For lcd 16x2 pin, I use all the SPP pins and only use 4 pins for communication.
This is the pins I used.

For the rest of the pins, I make the rest as GPIO.

Not to forget the PICKIT programming pin

I add Vref to get accurate ADC reading

MCU

Hopefully, I get the connection correct. Sending to PCB prototyping is expensive and time dragging.
Next, is choosing the correct component, next blog.

Download Link:
Colour, black-white.