I believe in open design, that is, giving access to the design of a product to an end user allowing them the freedom to make changes to the product to suit them best. Open source software and hardware makes my life a lot easier and I’m able to participate in the improvement of such products. Many PC applications I use on my PC at home and at work are open source projects which in many cases are much better in standard issue compared to some equivalent commercial products.
Open Hardware takes the Open Source philosophy and applies it to physical products. Of course, any software input to the products also follow the Open Source philosophy.
Open Hardware Licence
See the Open Hardware Licence page for the full Open Hardware License. The License applies to all projects presented on valvers so please take the time to read and understand the license carefully. If you have any specific queries or questions, you can always email me.
Lastly on the license front, if you disagree or do not intend to abide by the terms of the license, please navigate away from this section now.
Version Control – Bazaar
Bazaar has been chosen for version control of the firmware and hardware files. All files for a project are under version control so that everyone can easily participate and send patches to a central list of developers who can advise on any further action required and integrate any patches into the version control tree..
For further information about Bazaar, see their documentation pages.
Hardware Design – KiCAD
KiCAD is an excellent open source project which is actively developed. It gets better almost every day as there is a continuous stream of patches from the developers to improve the program. KiCAD’s file formats are all simple text formats that are “okay” in terms of human readability. This is fairly important when version control and multiple developers are working on the same project under version control. When a patch arrives, it might need to be merged with a different data version and this is aided greatly when the format is human readable text (as source code is, well usually!)
Hardware projects can be downloaded in their own right, without needing complex larger libraries of schematic and PCB symbols. Each project has it’s own schematic library and PCB Module library. There are quite a few large projects not hosted by www.valvers.com which use KiCAD as their EDA tools.
Firmware Design – CodeBlocks
Codeblocks is used to develop the embedded firmware of an open hardware design.
The firmware is written in ANSI C (or as close as possible to 1990 ANSI C as we can expect to get). The compilers can vary from project to project, and generally any editor of your choice can be used to edit the source files, debug, and simulate the code; However, there will be a CodeBlocks project file for each project that has a firmware element to it. CodeBlocks, as with all other recommend or preferred packages is an open source program to manage multiple file source code projects. It has been aimed slightly at embedded code, but it’s main focus for development is as a platform for wxWidgets projects.
For more information on embedded software design see the Open Software page.
Unlike open software, open hardware requires physical ( money zapping! ) parts to create. You’re of course free to choose your source of components as you see fit. However, listed below are some places that are recommended because of their service and/or price.
PCB’s are available from Seeed through their Fusion PCB Service which works out to be around $2.50 per board when you buy 10 boards. Although you might not need 10 boards, this is still the cheapest way to get one board, so have nine spares to build up for your mates! 😉