Sunday, April 16, 2017

KICAD first visit (Replacement for eagle cadsoft)

I had been using eagle for quit some years, on and off, been using that for my hobby design. I had tried diptrace before, relatively easier to use, better licensing for hobbyist (lower restriction), but I dont like the schematic interface so I switched to eagle.

Maybe I was influenced by the sparkfun sharing of design, so I felt eagle schematic is the best.

The learning curve for eagle is much stiffer but with the available tutorials in sparkfun, i was able to pickup faster and cope with all eagle dos era less gui intuitive drawing practise.

I may have to put sparkfun tutorial side by side when drawing pcb but it get the job done.

Eagle has encountered a big change in the licensing recently and I think it is a right time for me to change to another pcb designer. Previously, I enjoy the free component library from element14 where i dont need to redraw the footprint or I just did simple modification on existing footprint. Not to mention, the open source component library from sparkfun. 

Now, Eagle has become more expensive and with same pricing, there is an better alternative (diptrace). 

I am struggling between diptrace and kicad. Diptrace is definitely better option with easy to use GUI but KICAD is free.

No one argue with free.

The first thing that change my mind about kicad is the blog written by rocket scream, "From Diptrace to KiCad – Rocket Scream". I like the rocket scream design and they can use it for commercial usage, why can't the normal user use it for hobby.

I decided to design a development kits for dspic,

First, file -> new project -> new project, save it up and you will see the schematic and pcb file.

Open the schematic file, go to file->page settings, key in the information you want

it will shows up in the schematic there,


Open the schematic file, go to Preferences -> component libraries ->

Select the microchip_dspic33dsc.
Then start drawing.

The interface is better than Eagle cadsoft, and easier to use once you familiar with it.
if you want to move components, move the mouse arrow to the component and press "M",
if you want to copy components, move the mouse arrow to the component and press "C",
if you want to rotate components, move the mouse arrow to the component and press "R",
if you want to delete components, move the mouse arrow to the component and press "delete",

This is the 4 functions that I found useful (so far).

 For add components, you click at the icon, then go to the schematic and click on the page again. the component library selection will come up, click to select your component or you can use the filter box to filter out the component you want.


After you finished up with drawing, go to tool-> electrical rules checker, I am using the default function. I just check the not connected net. Other errors, I let it be.

One of my favourite thing to do after drawing the schematic is to convert it to pcb, go to file->plot->plot

Select your output directory, which is your project folder, then click "Plot Current Page". The pdf is stored at your project folder.

From here, I started to follow the tutorial (C:/Program Files/KiCad/share/doc/kicad/help/en/getting_started_in_kicad.html#bus-connections-in-kicad) and intensive googling.

Next, we have link the component with pcb footprint. Click on the generate netlist, click on the "generate" button and save it.
Now click on the Run Cvpcb icon on the top toolbar

You will encounter a lot errors, just click all the way through.
Go to Preferences->footprint library, change KIGITHUB path segment to this:

Note: still had error after setting this, but it get the jobs done.

After that, your components to footprint linking will show up,

Centre is your components and the right side is where you choose your footprint.
One of the handy function of kicad is that you can click on the icon (as following) for a preview of the current footprint,

Select the one of the footprint at right side, then click on

you can see the footprint you had chosen. Actually, Eagle also has similar function but Kicad shows a larger and more precise version of footprint.

Furthermore, you can use the filtering option to checkout the footprint you want.

One thing about the thing that I like about the footprint is Kicad actually provided footprint for hand soldering. It is a very good for prototyping, as I still remembered that I had used reflow soldering's footprint for my current sensor module and it was disastrous, the pad size is almost the same as tip of components. Basically, there is no place on pad that can fit in solder tip to heat up the pad. I ended up giving up that design.

Then go to the kicad pcb, this is something I had arranged and finished half way,

At the pcb side, there are some handy reminders,
- when draw the track, press "v" to create a via.
- if you track cannot be connected, that mean you are violating the design rules.

Go to the tab Design Rules->Design Rules

Go to Net Class Editor and create your own rules,
I set the default track width to 0.3mm, and 0.4mm for power.

Also, I like to disable the ratsnest, because it is confusing for me, you can disable / enable it at here


You can also go to "show / hide the layers manager toolbar" and select the layer you want to see.

For usually work, I will leave this all on, and close the render layers such as following,

I think basically that all, I didn't explore further.

I changed my mind, I will try diptrace for my next project due to reasons below:
- pcb design is my hobby, for hobby, I wish to have something easy to use and fast. Kicad does not fit into this criteria. Usually day work is already headache, I do not coming back, facing another headache piece of software. (turnout kicad is more user friendly, I like the kicad hotkey)
- I could not spend a lot of time on pcb drawing, so I want something that let me finish the design during my free time (like half an hour every day and continue for one week). (diptrace wasnt equal to fast)
- I am not thinking about selling the product, so diptrace licensing is more suitable for me right now. I will come back to kicad if I plan to commercialise my design. (since diptrace not equally friendly, I choose kicad)

For the comparison between Eagle and Kicad,
Talking about function wise, kicad definitely has richer functions then Eagle.
But stability wise, Eagle is much better.
User friendly, both are the same (not user friendly), maybe kicad slightly better because kicad has some convenient hotkeys.
Kicad has less library but it had the convenient function that link the schematic components and footprint during the conversion from schematic from pcb, so it will be good for component which has standard footprint.

This is the schematic. But I didnt finished the pcb though.

That all.