Yesterday I started another little project. I’m going to add a serial port to my Zipit Z2. There are lots of good reasons to do this which I will further detail in another blog. The Zipit Z2 technically has a serial port already on the motherboard but the outputs are not at levels that conform to RS232 standards so I need to add an RS232 transceiver to convert the levels properly. The chip I’ve chosen is the Maxim MAX3221CAE. This isn’t a standard dip that I could just throw on a piece of perf board and call it a day. See, unlike other Zipits I’ve seen serial-modded, I want to fit the whole mod inside of the Zipit. There just isn’t enough space for a big old dip anywhere in the unit. My is to use a tiny surface mount 16-pin SSOP on a custom made paper-thin PCB. Of course this leaves me with needing to design the board. I’ve hand drawn boards before that use SMT’s but this one is just too tiny to be accurate.

A hand drawn PCB I made a few years back.

For this project, I need to be much more accurate and make a much smaller board to fit the limited space I will have. This is where I need a software package like Kicad. Kicad has many different libraries of existing components built into it already and 1000’s more available via packages on the net. Kicad is NOT straight forward though. Even if you’ve used something like Autocad or Mastercam in the past, this program has it’s own set of funny conventions that make little sense. I’m going to give you a short rundown here of the steps I’m using to make my board. My list will be incomplete and may not work for you but it’s meant to just be a general outline of the steps you need to go through to get a board made. My friend James was kind enough to sit down with me for a couple hours and walk me through this program so my list here is made from memory and from notes I made during that short training from him.

Open up Kicad and create a new project. Give it a name and ignore the warnings.

Now that you have the main window open, add your devices to the board. The device tool near the top of the right-hand toolbar. After you’ve selected the device tool, click somewhere with the cross-cursor. Chose “by lib browser”, find your component and then hit the “x” to close that dialog. The cursor turns into the component. Now click somewhere to place it.

After you’ve placed it, you can change the placement and orientation by putting your mouse over it and pushing “r” to rotate or “m” to move it.

After you’ve placed your components, push the “add wire” button below the device button. Draw in all your wires and make sure you don’t have any goofy junctions. Save your drawing!

Now hit “Netlist generation”. It’s in the top menu near the right-hand side. Hit netlist, generate it and save it.

Right click on every component you placed and annotate it. Stuff like IC1, IC2, C1-C10, R1, etc. Giving the parts values is not a bad idea either. It may help later or if someone else needs to modify or view your drawing. There is an auto-annotate function but it’s not my preference. Save again.

In the top menu, push the “Run CVpcb” button. It’s orange and near the middle. In this dialog, you need to associate every component with a package type. This can be challenging if the type of package you need doesn’t exist as a default. Save that before exiting.

Run PCBnew, ignore the warning. Check the measurement units on the left side. Pick inches or mm. Turn on the rat’s nest below the measurement tool if it isn’t on already. Click “read netlist” on the top of the screen near the middle. Click “read current”. Now your parts are stacked in a blob in the corner. Draw a box around them with the pointer and move them towards the middle of the sheet. Click “ok” on the dialog.

Zoom in and mouse over the blob of components. Hit “m” and move components off the stack one by one. As you move them, hit the “r” button to rotate them into place.

Route your tracks. Right click to end.

Select the PCB edges layer and draw your PCB. This can also be the first thing you do.

You should now have a printable board. I’ll report back when I do but it could be a while.

I realize this list may have small discrepancies or may be flat out wrong. There are several tutorials online that explain it better than I do but mine is just to give you a really quick overview of what it will take to actually draw a board with this tool. Please email me or comment if you see any glaring errors. I will be on my way now to rip my hair out after using this incredibly complex and confusing piece of software.

I used Kicad because that is what my friend James was willing to sit down and teach me since that’s what he knows. I’ve heard good and bad about both of them so it made no difference to me really. In the end, Kicad got the job done and I have the board I need. It seems to me like it took far more work than it should have but it’s like any CAD/CAM software, there is usually a steep learning curve. The only package I’ve ever picked up and just used effortlessly is Google Sketchup. That is a fantastic bit of software although it doesn’t really help for designing PCBs …