One challenge with piecing together devices are the connections. We discussed how we’ll use communications protocols to link devices that are physically separate. This same problem occurs for our nodes that have sensors, controllers, or other circuit boards that need to be linked. To solve this, we’ll develop and manufacture printed circuit boards, or PCBs as they are commonly referred to. Having a custom PCB that makes the links also provides us a cleaner build. In addition, devices can be modularized to allow for easier troubleshooting and servicing.
We could use breadboards, but these don’t provide the same ease of maintenance. When dealing with several dozen wires, ensuring the correct connection becomes a risk with breadboarding. Protoboarding is another possibility, however the build time is tedious and quality is difficult to control with small or complex builds. PCBs fix both of these short comings and let the designer choose a build that accommodates the project, not a project that accommodates a build.
There are ways to make PCBs in house using a laser printer, masking, copper clad board, and some etching chemicals. I’ve had success doing this years ago. However, the time spent building doesn’t match what would be spent to have this done professionally. PCB manufacturers will provide a higher quality board in greater quantity than the time required to do the same work in house. In house etching still requires the design of the traces, pads, and holes of the PCB. When dealing with large scale projects or projects with great details, a designer should be focused on the build constraints and the quality of the build. Offsetting the workload to PCB manufacturers makes more sense decreasing the chance of a mistake while maintaining superior quality.
I’ve used ExpressPCB in the past, but there are some limits when using it. Designs made with it can not be provided to any manufacturer. The makers of ExpressPCB have made the software to align with their manufacturing. That’s fine and I’ve used there services before with good success. However, I do not want to be limited to any design or manufacturing constraints. As a result, I’m going to show you 2 other CAD programs that will produce open standard files that most PCB manufactures will accept. These are KiCAD and Fritzing.
Installing KiCAD, I ran these commands on my linux box.
add-apt-repository --yes ppa:js-reynaud/kicad-4 sudo apt update sudo apt install kicad
Installing Fritzing, I downloaded the installer from the Fritzing site and ran these commands.
cd Downloads cd fritzing-0.9.3b.linux.AMD64 sudo ./install_fritzing.sh
Running KiCAD was simple, I just entered in the command “kicad” at terminal. Fritzing had to be run by going to path and then running it.
cd fritzing-0.9.2b.linux.i386 ./Fritzing
To get your feet wet, I suggest creating a simple LED and switch circuit. This allowed me to validate the process provided by these online tutorials.
I had some problems getting KiCAD to give me expected results. Fritzing on the other hand produced what I had expected. KiCAD offers a greater degree of functions that Fritzing. This might have been my undoing. The learning curve proved to be greater than the time I had set aside for KiCAD. One thing about KiCAD is that the setup includes a Gerber file viewer. This is useful for checking the final quality before submitting it for manufacturing. There are also ways to check the Gerber files online using, http://gerblook.org/
The printed circuit boards you can make are only limited by your imagination and the time required to design them. It’s a worthwhile investment to learn and understand the process.