Kicad : a first project

There is only one good way to learn to use a CAD program: trial and error. Or, in our parlance: ripup and retry. And instead of going for the two transistor amplifier to be mounted on a single sided PCB, my target is to create a processor module for an NSSBC (Not-So-Single Board Computer).

Kicad : Before the NSSBC

Some weeks ago I thought, that the ARM processor was the only processor that deserved my attention. That may have been true, for a part, but in general, the ARM is a disaster area. It is targeted at the PIC and AVR related markets, but the chip has the complexity of an 80386. A RISC instruction set that is so much reduced that it could just as well have been called a super CISC set. And there are so many PDF files to wade through that it is impossibe to find the details you are looking for. Only when you set out to limit yourself to 1 toolchain, the start is relatively easy.

Anyway, I decided to put my ARM adventures in the fridge and (for the rest of my life) will only use Zilog processors for my thingies. Why Zilog? Because I know them and they have excellent documentation and affordable development kits.

Kicad : What is the NSSBC

The NSSBC is a simple modular computer based on Zilog Z80 peripheral chips. Z80's are cheap and readily available. In many sorts, ranging from the simple Z80A CPU's through the more complex eZ80F91 MPU's. The NSSBC is intended to be extensible and made up of

Each NSSBC system should have 1 CPU board, one memory board plus as many of the other boards as one likes. The full system will be open source for hard- and software. People may create their own extension boards, using whatever technology they like. As long as it can be interfaced with the Z80.

More about the NSSBC in a later stage in a seperate section of fruttenboel.

Kicad : Z80Ctrl

The Z80Ctrl board is based on the following:

The funny part of the Z80 DMA is, that it can simply be connected in parallel to the Z80 CPU. All Z80 DMA outputs are tristated until a BusAcknowledge is valid. Then the CPU tristates itself and the DMA becomes busmaster.

I constructed the board with Eagle Lite. Now I want to see how far we get with KiCad. Below are some screen shots of the circuit drawing and the PCB layout.

Kicad : exit

This is all there is to say about Kicad for me. I did some tests and I come to the conclusion that Kicad and I are not compatible. When you know two high grade PCB packages (Pads and Eagle) it's hard to go down to Kicad level. The user interface is crowded with too smal icons. There's no real logic in the commands and operations. Yes, the user interface works. You can compose drawings. You can make connections. You can make netlists and open the board layout package. But you need a freshly bought magic wand to get Kicad to do what you want. Below are the most important reasons for quitting Kicad:

  1. very bad documentation (lots of PDF's, almost no HTML)
  2. operations are not intuitive, but this may be a result of 'i'
  3. user interface mimmicks Eagle but is too complicated
  4. library format is unclear and hard to understand
  5. each and every time you need to include the non standard libraries
  6. user interface is quirky, jumps up/down at certain moments
  7. too many functions and icons and menues
  8. too many manual operations for an eCAD tool
  9. When having defined a bus 'A[0..15]' the automatic signalname function happily creates A16, A17, A18 etcetera when the Ins key is pressed. You can even tie an A0 address line into the D[0..7] bus. This is not a CAD tool, this is a hobby project to study C++.
  10. The idea behind the footprints is outdated by 20 years. It's called flexibility, but it just adds obscurity. In Pads all footprints are included in the part library and while laying copper one can switch between them with the F4 key. THAT was flexibility. Back in '92.
  11. If you move a part with connections on it, the connections stay put and the part is moved, which makes a very silly impression.
  12. while laying PCB traces, you cannot It's all a bit clumsy (if you know Eagle and Pads) and it seems that Kicad wants to paternize the user in preventing him from stupid things, even when the user knows perfectly well what he is doing.
  13. deleted
  14. at random places, all kinds of french words appear, which do not make things easier
Kicad is free of charge. And you get what you paid for. Unfortunately. Eagle is clearly superior in all aspects.

Please be so kind to take a look in the gEDA section. gEDA is similar to KiCad, with one major difference: an EXCELLENT documentation system. Lots and lots of HTML files in the weirdest of places. Just add them to your localhost webserver and you're done. No need to browse the web for every little detail. The majority of things is explained in detail on your ownb computer. Go for it. And then inform the KiCad people. They might be interested to see how gEDA solved the things.


Page created on 7 March 2011 and