I’ve been reading Test Driven Development for Embedded C which recommends CppUTest as a unit test framework. The book describes how to write test cases for many different situations but it lacks information on how to setup and configure CppUTest. I was surprised since the author is a major contributing developer for CppUTest. This post describes how I got started.
I have now figured out how to generate BOMs using my library field format. This was an unresolved issue in my previous installment Third Day with DesignSpark PCB. Older installments in this series are First Day with DesignSpark PCB and Second Day with DesignSpark PCB. Thanks to the DesignSpark team who encouraged me to retry some of my earlier attempts at generating a BOM in a different manner which eventually led me to a solution.
Previous installments of this series, First Day with DesignSpark PCB and Second Day with DesignSpark PCB where done with DesignSparkPCB version 1.03, I have since upgraded to version 2.00. My DesignSparkPCB libraries are now available on BitBucket: https://bitbucket.org/neilg/dspcb2lib. Right now they only apply to this series, but they will be updated over time.
Today I will try and route the board without using the autorouter. I have used a lot of autorouters in the past and I have never gotten satisfactory results with them. I have learned the hard way that autorouters and I just don’t get along and I now route boards manually using interactive routing where possible. I really wish DesignSparkPCB included an interactive autorouter, but it’s still possible to do good layouts without one. It just takes longer and you have to use grids wisely, This is especially apparent with fine pitch surface mount components. I would not attempt to route complex BGA components with a package like DesignSparkPCB.
One of the issues from my first day with DesignSpark PCB was the fact that my titleblock printout didn’t come out as expected. All of the text was shifted down a little and was the wrong size. I did a little more investigation and it turns out that if you use a stroke font instead of a True Type, the alignment doesn’t change when printing. The font size is also the same. However, in order to use stroke fonts you need to declare them in the design technology file for every size and type you intend to use. Even though it looks like you can edit the size of a stroke font by just clicking on it, you can’t.
The next step in my project is to draw the schematic. That was easy – the drawing and placement tools are pretty straight forward. Here’s what I ended up with.
This is the first part of a series of tutorials on DesignSpark PCB. The second part is here.
For the last little while I’ve been looking at some of the “free” PCB design tools out there for some open source hardware projects I’m considering. I initially tried Eagle which seems to be the standard “free” package out there because it gives you a limited functionality package for free. I turned it on once and promptly uninstalled it. Sorry, but I just couldn’t get past the user interface. It was completely foreign to me and I’ve used a lot of different packages (PADS, Orcad, Protel, PCAD, Altium Designer, etc). Eagle just felt broken from the first second I tried it, I think mainly because it is so different in ideology from the commercial offerings I’ve tried.
Second on my list is DesignSpark PCB. I tried it and it failed my 5 minute click around the tutorial test. So I sent an email to the DesignSpark people complaining about it. Martin Keenan, the project manager for DesignSpark PCB, replied and gave me some valid reasons to look at it again. So I figured I would but that I would lower my expectations the second time around.