In 2005 I started working with Asterisk on the Blackfin. This led to the Free Telephony Project, and the idea of using open hardware techniques for telephony. The idea of open hardware (people collaborating to build free hardware designs just like open software) was a big experiment, especially when it came to commercial products.
Back in 2006 I posted my initial ideas on Open Hardware. Much has happened since then. Many people and companies are now working on Blackfin Asterisk projects. New projects, and even businesses have spun out of the project. Coolest of all – open hardware products are now in volume production, as real world, commercial products like the IP04. People are buying and using these products – often in preference to products developed using traditional closed development models. Open hardware works!
Open Hardware in Business
As the idea of Open Hardware matures a few patterns seem to be shaking out. The form of open hardware distributions seems to be the schematic. Companies are largely keeping the PCB designs and other tooling information closed. This gives them some sort of protection against direct copies hurting their business. At least that is the perception – I actually think the PCB is a small part of the total business picture.
Directly cloning open hardware designs doesn’t seem to work as a business model. The prototype IP04 design (schematic and PCB) is entirely open – all the CAD files are free for anyone to use. In theory this means you can give these files to your local surface mount assembly line, ask them to build 100 IP04s for you, and be in the IP04 business. I get 1-2 emails/month from companies intending to do this.
However in practice you need the skills to find small hardware faults, an understanding of the design, experience in building and flashing the firmware, testing, QA, support. Like many valuable things in life, these skills must be acquired, and can’t be copied. You need that hacker mindset to understand how the beast works. The IP04 hardware and software is rather complicated so you really need the support of the community. This requires a community outlook. Those interested only in $ don’t share these values, lose patience and move on.
The real power of open hardware seems to be providing a baseline for your product development. Take the hardware and tweak it. Add a different line interface, more ports, less ports, hardware rather than software echo. Add your software application to the baseline build system. Code up your own build system.
Open Hardware, Closed Tools
Most people are developing their open hardware with closed source schematic/PCB CAD tools. Bit of a pity, but ultimately hackers will use the best tools for the job, open or closed. That is why many hackers use open source software – it’s just better. Hopefully this gap in CAD tool performance will be filled soon.
Open Hardware is Software
Curiously, the “open hardware” projects are dominated by software complexity. The effort involved in the fun stuff (soldering, schematic and PCB design) is dwarfed by the effort involved in the software, e.g. maintaining build systems, porting applications, testing. The majority of my time on this project has been spent on build system work, then software, then the actual hardware. This is part of the general trend of hardware functionality shifting to software. The vast complexity of the software means a lot of time needs to be spent managing it with configuration control and build systems.
Open Hardware is Hard to Grok
Just like Open Software in 1992, the concept of Open Hardware is hard to understand. The ground rules are still being worked out. Full points to companies like Atcom for overcoming these concerns and embracing open hardware.
Some memes that are particularly tough:
- If it’s open won’t people just copy my product? Well, this doesn’t seem to be a big problem in practice. Many other factors are required for a successful business, as discussed throughout this post. Value tends to shift to other parts of the business, and the advantages of sharing and community outweigh closed development and secret sauce.
- For the open source community, re-flashing commodity hardware (e.g. OpenWRT on a WRT54) is now common practice. However moving from this to open hardware takes a big shift in mindset. Here is the dirty little secret of the hardware game: hardware products are 95% software. The man hours invested something like OpenWRT or Asterisk are orders of magnitude greater than those put into developing the WRT54 hardware or a PCI telephony card. And yet open software communities wait nervously for the next commodity hardware box, only to find it doesn’t have the feature they require, or goes out of production, or the manufacturer won’t release the internal data, or it doesn’t have enough flash etc. In the mean time the manufacturers and chip set vendors are having a great time making money from using your open software in their products.
- Open hardware is not that hard. The truth is that a modest community effort can develop and bring into production a full custom open hardware device (designed exactly to your specification), and arrange to have it volume manufactured at a reasonable price. We have done exactly this with the IP04.
Extreme Open Hardware
Some of the radical uses of Open Hardware I had hoped for haven’t happened yet. I am particularly interested in seeing Open Hardware being used to help people in developing countries. For example new business models like IP04 assembly in Africa for local markets, or volume manufacture at cost price (give 20,000 people telephones for $500,000). The Mesh Potato is part of a fresh new project where we are using open hardware and software to help bring telephony the developing world.
I do this work largely as a volunteer (although I derive a modest income from IP04 sales and contract work), so like many hackers I choose to work in areas that interest me. This year I have been shifting my focus to telephony for the developing world. I am not personally motivated by the business side. So the IP04, while very usable, still requires an understanding of the Linux command line and Asterisk conf file skills (although the GUIs are steadily improving).
There are several companies working with open hardware Blackfin Asterisk technology. So far I see companies that are good at manufacturing, some that are good at build systems, and fewer still that are good at software optimisation, hardware and DSP. A big opportunity exists for a company that can combine strong technical skills with solid marketing and business skills to produce a bug free, feature complete turn-key appliance product. This has proven surprisingly difficult to do – even with all of the hardware and software available in open form. To me this drives the lesson home that a business is much more than just the technology.
You know as a community we bring all of the above technical and business skills together. So the project as a whole is thriving, just no one person or company has a monopoly on the intellectual property and profits. And that, I put to you, is a good thing.
Open Hardware for Hackers
Call me a geek, but the greatest reward for me is a bunch of people soldering tigether their own uClinux Blackfin Asterisk boards at home, and bringing up their very own uClinux IP-PBX. There is nothing quite like seeing the root prompt come up on a Linux board you soldered together yourself, or hearing that phone handset ring for the first time. Open hardware gives the hacker the remarkable power to build IP-PBX products that took large teams to develop just a few years ago.