Notes from the CERN Open Hardware Workshop
The workshop was held during the Sunday preceding ICALEPCS 2011, i.e. 9 October 2011 in Grenoble, France.
Session 1: Introduction and legal framework. This was an opportunity to define exactly what we mean by OH and discuss the latest developments on the legal side, such as the CERN Open Hardware License.
- Open Hardware: what, why, how, when, who (Javier Serrano, video CC BY-SA). This presentation will introduce the concept of Open Source Hardware (OSHW) and gave a summary of current efforts in the OSHW world. Introduced legal and commercial issues, as well as considerations on how to improve collaboration on hardware design among labs, universities and companies.
see http://freedomdefined.org/oshw for software freedoms translated into the hardware domain
Reasons for OSHW:
- avoid duplication
- get peer review/help
- spend time tackling more ambitious problems
- peer review
- compensate weak areas in a company with external help
- build hybrid solutions
- no vendor lock-in
- easier management of obsolescence
- put your staff online, e.g., CERN open hardware repo
- use OSHW definition
- deal properly with liability
use FOSS tools for development
Find a good community model
- Summary of the Open Hardware Summit (Tomasz Wlostowski, video CC BY-SA). A quick summary of the Open Hardware Summit, held on September 15th in New York City.
Open hardware superstar was Arduino + Arduino deploying ARM chips
Good talks by instructables.com (recently bought by AutoCad) and ifixit.com
Session on OH and the law
Ohanda.org is creating a sort of licensed hardware meta directory
Legal threats against OH were also discussed: DMCA, etc.
Protei: a project to create an autonomous sailboat to clean oil spills
Fukushima earthquake: an OH project was quickly created in a week for how to build your own gieger counter
Eyewriter: OH project to enable people with ALS the ability to use a computer
Amanda Wozniak: great session on open sourcing the engineering process
- Open Hardware Licensing (Myriam Ayass, video CC BY-SA). The CERN Open Hardware Licence v.1.1 was released on July 7 2011. The purpose of this presentation is to provide some background information as to the context in which it was developed, the reasons and rationale for developing it and expected outcomes. A description of the main provisions will be given together with the main issues and solutions that were discussed during the process. Furthermore, thanks to the feedback received from the community, plans for v.1.2 of the license will be presented.
Ms. Ayass is part of the CERN Knowledge Transfer Group
Options for legal OH legal framework:
- use current open source licenses? No
- use creative commons (CC) license? No
- use other open hardware license? No
CERN needed/wanted to track the spread of their hardware work, hence the reason behind the “inform licensor” section in the license
so they created the CERN OHL to partially meet this need
the next version 1.2 waters down the “inform” section
how does the TAPR OHL compare with CERN?
- TAPR was drafted with specific jurisdiction – US
- Core concept: reciprocal immunity from patent suits
- distribution of documentation with product sold
- in-kind request to notify licensor when product manufactured and sold
- Arduino (David Cuartielles, video CC BY-SA). Arduino is an open source hardware platform created in 2005. The platform itself is made of circuit boards, a software development environment, a website to gather documentation about projects, and a series of tools to empower a community of users.
Arduino is a non-profit and receives license fees from its design for operating funds. Only about 10 people work at Arduino.
There was an open source hardware workshop about Arduino in Madrid, Spain (in Spanish, so not many English speakers heard about it). 600 people in attendance
Arduino gets about 45 (?) mil hits a month
2011 August 1 million units cumulatively sold, next expect 2 million
How open is Arduino:
- Software IDE is GPL (inherited)
- Core is GPL (inherited)
- Hardware/blueprints are CC 3.0 SA (creative commons version 3.0 share alike)
- Documentation is CC 3.0 SA
He told an interesting story about how Google-Android copied and modified one of the Arduino designs for the IO board and then Arduino in 40 hours replicated and posted the design as OH.
Business Model: keep a new design closed/secret before release and cut deals with manufacturers, then publish version 1.0 of the circuit board because almost immediately clones will begin to show up. The go after manufacturers who use the Arduino name brand without license. Clones come out quickly – 3 weeks in some cases.
Session 2: Business models. It is very interesting to discuss the role(s) of companies and how they can make business under an open paradigm.
- Open Hardware in Creotech (Grzegorz Kasprowicz, video CC BY-SA). Creotech is a company set up by former CERN and other scientific laboratories workers. Its mission is to create innovative, ready-to-implement solutions of electronics and electromechanics. We specialize in digital cameras (including solutions for astronomy), multichannel measurement systems (e.g. for ITER and JET), acquisitions cards (designed for CERN), systems of data transmission and special power supplies (e.g. for GEM detectors).
Creotech builds detectors. As a result with more things going fully digital with software, having open source hardware and software makes its easier for their customers (primarily CERN) to track down bugs and anomalies in readouts.
Uses and gives back to the White Rabbit project: http://www.ohwr.org/projects/wr-cores
- Open Hardware perspectives in National Instruments (Ravi Marawar). National Instruments (NI) is a Commercial-off-the-Shelf (COTS) system provider that combines heavily researched designs manufactured with state-of-the-art quality control processes and guaranteed long term lifecycle management. NI product designs are influenced by reliability and quality goals, calibration needs, safety certifications, environmental and security compliance requirements and longevity expectations.
It seems NI is being forced into OSS by its customers
Uses White Rabbit: http://www.ohwr.org/projects/wr-cores
- First experience in Seven Solutions (Eduardo Ros, video CC BY-SA). Seven Solutions is a technology based company (intensively engineering based company). The company offers services of design, technology consulting, custom electronics, embedded computing, etc. After launching its own hardware based products, Seven Solutions is aware of how the OHR paradigm can benefit SMEs in this field, by providing a shield of confidence (making SMEs dependable entities), facilitating the active participation in medium scale designs as part of an engineering community and making easier the process of how an SME offers its services as add-ons on projects conjointly run by different institutions. Furthermore, OHR allows development cost sharing among different institutions since Intellectual property does not create borders between participating companies.
Motto: learn fast or die
They use and publish open hardware designs for press and to let people know what they do
The might publish their FPGA high performance processing platform
The stated that its helpful to have a “tractor” Agency/company pulling open hardware along to:
- Start and funs projects
- Give credibility to
- Provide other customer access to
- Clear roadmap for Open HW in Instrumentation Technologies (Borut Repič, video CC BY-SA). Instrumentation Technologies has been addressing Open HW for quite a while even though it has not been called so officially. Apart from the main line of its top-end products, forming the base of knowledge, experience and practices it launched a separate line under the umbrella of so called "Working together". Thus, the result of a development project may be a "classical", Libera–type product or it may be a totally independent project resulting in a solution completely tailored to customer needs
- The Facebook Open Compute Project (John Kenevey). Facebook's Open Compute Project is a nascent community which is actively seeking participants who are passionate about making strong technical contributions to defining and delivering the most efficient server, storage and data center designs. One of the enablers of said community is to ensure they have the necessary tools to provide open electrical and mechanical designs to the Open Compute Project.
Facebook is in the process of releasing software and hardware designs for its server centers. The official kick-off is October 27th, more data coming out soon.
Session 3: Tools. Most of our tools are not open themselves yet. Here we discuss about what is the current offer and possible future plans. This affects mainly HDL simulation and PCB design.
- gEDA (Larry Doolittle, video CC BY-SA). gEDA is an umbrella term for a collection of Free Software EDA tools that share the philosophy of modular, flexible software that has proven so powerful in the Unix software world. Conventional modules like schematic capture and PCB layout interact with each other, and with other gEDA tools such as simulators and footprint generators, and also with proprietary tools through documented human-readable file formats and easy scripting. gEDA is also home to gerbv (Gerber viewer), icarus (Verilog compiler and simulator), and gtkwave (waveform viewer). While flexibility of these tools is their strength, this talk will provide a concrete example of how they can tie together for a single design. It will also demonstrate the user interface of the graphical tools, which has been slowly refined since 1998 (gschem) and 1994 (PCB).
Larry Doolittle, Lawrence Berkeley National Lab
http://www.gpleda.org/, What is gEDA?
The gEDA project has produced and continues working on a full GPL'd suite and toolkit of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.
The gEDA project was started because of the lack of free EDA tools for POSIX systems with the primary purpose of advancing the state of free hardware or open source hardware. The suite is mainly being developed on the GNU/Linux platform with some development effort going into making sure the tools run on other platforms as well.
- Kicad (Dick Hollenbeck, video CC BY-SA). KiCad is a an open source software tool suite for the design of printed circuit boards. It includes internationalized tools for hierarchical schematics, board layout, component assignments, gerber generation and viewing, and a calculator for board signal integrity. A quick and simple overview is given of the schematic and layout tools using sample datafiles from a working 6 layer ARM9 board. Discussed are source code quality, rate of advancement, datafile formats, project philosophies and major contributors, as these are predictors of KiCad's viability as a foundation on which to embody open source hardware designs for the OHW community.
Very mature printed circuit board (PCB) layout OSS tool
User interface is in 20 different languages + user manuals
May 2007: 3 people 75% of commits
- lead developer is Jean-Pierre Charras, 40 years of experience
- Wayne Stanbaugh
- Dick Hollenbeck
Uses a DCVS – Bazaar
Project coding standards do exist
Code quality is very good, this helps to involve more people, more easily
Is looking to move to S-expressions instead of XML because in XML designs can be enormous: the language is called SWEET (http://sweet.xtronics.com/main.html). SWEET is a declarative schematic part language description language based on s-expressions.
SWEET is peer-to-peer and able to operate from within the interent
- What's missing in current FOSS PCB design tools (Tomasz Wlostowski, video CC BY-SA). An assessment of missing features in current FOSS PCB design tools as discussed in the foss-pcb mailing list, along with some plans to palliate these shortcomings.
a big need is a web-based distributed library model
email list here: email@example.com
- Makefile-driven HDL flow (Pawel Szostek, video CC BY-SA). Maintaining HDL is a source of many problems, not necessarily related to design issues. When developers want to perform a synthesis, they have to struggle through massive clicking job in an IDE and face compatibility problems among different versions of the same tool. What is more, synthesis of big projects is a time and resource-consuming process that makes the edit-compile-test cycle unreasonably long and makes it harder to introduce trivial modification to the hardware. When simulating VHDL models developers usually have to set correct compilation order. Hdlmake is a kind of swiss-army knife that tries to solve mentioned problems by generating a multi-purpose makefile. Hdlmake automatically detects file dependencies, generates IDE-specific project files, facilitates remote synthesis. It also offers a solution that makes modularization and managing of a project easier.
hdlmake – stored in OWWR and python
can make files for:
- Icarus Verilog/VHDL (Pawel Szostek, video CC BY-SA). In the era of open source many companies and institutes are in the process of streamlining their hardware design flow to adopt open software development tools which will facilitate collaboration with external actors. We aim to build an open source tool that would allow developers to simulate and to share easily their designs, even if they cannot afford buying a powerful but expensive commercial piece of software. To achieve our goal we picked Icarus Verilog which is one of the most popular Verilog simulation tools. It is now being extended by a group of programmers who are concentrating their efforts on implementing support for SystemVerilog and synthesizable part of the VHDL. The final version of Icarus should allow people to simulate their mixed-language models along with testbenches written in Verilog or SystemVerilog.
- co-existance of VHDL, Verilog, Systems Verilog
- VHDL not suitable for complex TB
- No operating systems for language simulation
- Collaboration between Europe/US is tough
- Commercial systems are expensive
- How to design logic synthesis and place&route tools (Sébastien Bourdeauducq, video CC BY-SA). While many researchers and engineers agree that several obstacles stem from the proprietary tools of the FPGA vendors, writing an alternative from scratch has always been perceived to be far too complex of a task. This perception comes largely from the lack of generic knowledge about the internals of a synthesis and place-and-route tool and the absence of published details regarding particular FPGA architectures and bitstream formats. In order to encourage the development of alternative tools, we will attempt to shed some light on these concepts and give hints about how the Xilinx Spartan-6 architecture and bitstream format work and how they could be fully understood.
Session 4: Ongoing projects in labs and institutes. A selection of current projects illustrating OH practice.
How to build an OSS FPGA toolchain
- CERN OH developments (Erik van der Bij, video CC BY-SA). CERN has been practicing OSHW for more than two years now. The talk outlines some of the technical choices and discusses the current state of developments, both technically and in terms of collaboration with companies and other labs. The advantages of OSHW will be illustrated with concrete examples.
- OH developments in Soleil (Pascale Betinelli, video CC BY-SA). The Synchrotron SOLEIL is a third-generation light source located near Paris. The facility receives each year more than 2500 international scientific users. SOLEIL covers fundamental research needs in physics, chemistry, material sciences, life sciences, earth sciences… In applied research, SOLEIL is involved in very different fields such as pharmacy, medicine, chemistry, petrochemistry, environment, nuclear energy, as well as nanotechnologies, micromechanics and microelectronics, and more. Many other synchrotrons are present all around the world with similar or complementary performance. Today the synchrotron community encourages collaboration and sharing of development between synchrotron facility and at the same time competition. Other synchrotron facilities are interested in some of our hardware developments and because we can share this development with them, it is evident for us (the technical team) to join the open hardware initiative. But some conditions have to be taken into account, requiring stages in the process. After a short presentation of Soleil, I will explain our mission, our organization, what we want to share and our difficulties to convince people of the interest of this initiative.
- The Rhino Project (Brandon Hamilton, video CC BY-SA). The RHINO Project is an Open Source effort born out of the radar remote sensing group at the University of Cape Town in South Africa and motivated by CASPER and the SKA Africa project. Rhino, which stands for Reconfigurable Hardware Interface for computiNg and radiO, consists of a hardware platform that includes an ARM running Borph Linux, a Spartan 6 FPGA, DDR3 memory, dual FMC-LPC as well as numerous standard IO interfaces. The goal of the project is to provide a hardware platform and software tool-chain for Software Defined Radio (SDR) which is both easy to use, easy to learn and affordable to a broad audience. It is hoped that this effort will consolidate and enhance the teaching and research resources available for Software Defined Radio (SDR), nationally and among the hacker community. This talk will provide an overview of the hardware and software that make up the Rhino ecosystem, along with some current and future applications that show the potential of the platform.
Target is software defined radios and applications
- CASPER software out of Berkeley
- BORPH – Berkeley Operating System for Reprogrammable Hardware: http://www.eecs.berkeley.edu/Pubs/TechRpts/2007/EECS-2007-92.html
- Open Discussion/Closing