diff --git a/fisl2011/atusb-front.png b/fisl2011/atusb-front.png new file mode 100644 index 0000000..048e9bd Binary files /dev/null and b/fisl2011/atusb-front.png differ diff --git a/fisl2011/talk.tex b/fisl2011/talk.tex new file mode 100644 index 0000000..9d03c7e --- /dev/null +++ b/fisl2011/talk.tex @@ -0,0 +1,522 @@ +\documentclass[14pt,trans]{beamer} +\usepackage{color} +\usepackage{url} +\usepackage{colortbl} +\usepackage{soul} +\usefonttheme{structurebold} +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{items}[ball] +%\setbeamersize{sidebar width left=-5mm} +\title{\Large Making Copyleft Hardware} +\author{Werner Almesberger \\\url{werner@almesberger.net}} +\date{June 28, 2011} + +\setul{}{1.5pt} + +\begin{document} + +\begin{frame} +\titlepage +\end{frame} + +% --- Overview ---------------------------------------------------------------- + +\begin{frame}{Overview?} +\begin{itemize} + \item Copyleft Hardware: what and why ? + \item Tools + \item Qi-Hardware projects + \item +\end{itemize} +\end{frame} + +% --- What is Copyleft Hardware ----------------------------------------------- + +\begin{frame}{What is Copyleft Hardware ?} +\begin{itemize} + \item Principles similar to Free Software, \\ + applied to hardware + \item Design {\color{red}\underline{and}} manufacturing + \item All material under open licenses: \\ + GPL, GFDL, CC-BY, CC-BY-SA + \item Friendly to Free Software +\end{itemize} +\end{frame} + +% --- Hardware vs. Software --------------------------------------------------- + +\begin{frame}{Hardware vs. Software} +\setlength\minrowclearance{4pt} +\setlength\arrayrulewidth{1pt} +\begin{tabular}{|l|l|l|} + \hline + \rowcolor[rgb]{0.9,0.9,0.5} + \bf Concept &\bf Software & \bf Hardware \\ + \hline + Source & Program text & Schematics, Layout \\ + \rowcolor[gray]{0.9} + Editor & Text editor & EDA system \\ + Conversion & Compiler, etc. & EDA system \\ + \rowcolor[gray]{0.9} + Testing & Run & Prototype(s) \\ + Debugging & Debugger & Lab instruments \\ + \rowcolor[gray]{0.9} + Duplication & Download & Manufacturing, \\ + \rowcolor[gray]{0.9} + & (perfect copy) & Testing \\ + Distribution & Internet & Shipping, Customs \\ + \hline +\end{tabular} +\end{frame} + +% --- The Four Freedoms ------------------------------------------------------- + +\begin{frame}{The Four Freedoms} + +According to The Free Software Definition: $[1]$ + +\begin{enumerate} + \item[0]<2-> Run the program + \begin{itemize} + \item Use the hardware + \end{itemize} + \item[1]<3-> Study the source + \begin{itemize} + \item Study design files (schematics and layout) + \end{itemize} + \item[1]<4-> Adapt the source to your needs + \begin{itemize} + \item Adapt design files + \item Access to the tools + \end{itemize} + \item[2$-$3]<5-> Redistribute copies (including modifications) + \begin{itemize} + \item Redistribute design files + \item Build or produce the hardware + \end{itemize} +\end{enumerate} + +{\small $[1]$~\url{http://www.gnu.org/philosophy/free-sw.html}} +\end{frame} + +% --- Why Copyleft Hardware --------------------------------------------------- + +\begin{frame}{Why Copyleft Hardware ?} +One can $\ldots$ +\setbeamertemplate{items}[default] +\begin{itemize} + \item learn from it (also small details) + \item know what is happening inside the ``black box'' + \begin{itemize} + \item No spyware + \item Analyze (mis)behaviour + \end{itemize} + \item adapt design for new uses or contexts + \item reuse parts of design in other projects + \item achieve longevity by $\ldots$ + \begin{itemize} + \item fixing/updating/enhancing the design + \item repairing/modifying devices + \item producing more/updated devices + \end{itemize} + \item choose suitable manufacturing site +\end{itemize} +\end{frame} + +% --- Workflow ---------------------------------------------------------------- + +\begin{frame}{Workflow} +@@@ +\end{frame} + +% --- Tools: KiCad ------------------------------------------------------------ + +\begin{frame}{Tools: KiCad} +\begin{center} + \includegraphics[height=50mm]{kicad.png} +\end{center} +\begin{columns} + \begin{column}{12cm} + \begin{itemize} + \item Main devs: Jean-Pierre Charras, Dick Hollenbeck + \item Complete EDA solution + \item Text files $\rightarrow$ extensible + \item Free Software: GPL, LGPL + \end{itemize} + \end{column} +\end{columns} +\end{frame} + +% --- Tools: Schematics History ----------------------------------------------- + +\begin{frame}{Tools: Schematics History} +\begin{center} + \includegraphics[height=4.5cm]{schhist.png} + \qquad + \includegraphics[height=4cm]{USB.png} +\end{center} +\begin{itemize} + \item Schematics revision history + \item Visual highlighting of changes + \item Web output (HTML, PNG, PDF) +\end{itemize} +\end{frame} + +% --- Tools: Footprint Editor (fped) ------------------------------------------ + +\begin{frame}{Tools: Footprint Editor (fped)} +\begin{center} + \includegraphics[height=6cm]{fped.png} +\end{center} +\begin{itemize} + \item Parametric + \item GUI or text-based + \item Automatic measurements +\end{itemize} +\end{frame} + +% --- Tools: BOM Processing System -------------------------------------------- + +\begin{frame}{Tools: BOM Processing System} + +@@@ + +\begin{itemize} + \item ... + \item ... +\end{itemize} +\end{frame} + +% --- More Tools -------------------------------------------------------------- + +\begin{frame}{More Tools} +\begin{columns} + \begin{column}[l]{8cm} + \begin{itemize} + \item Data sheet viewer (dsv) + \begin{itemize} + \item Work around non-distribution + \item Download and cache + \item Quick access \\ + {\tt dsv mcu} + \end{itemize} + \item Gerber renderer (prettygerbv) + \begin{itemize} + \item Combine Gerber and Excellon + \item Realistic coloring + \end{itemize} + \item Makefiles + \begin{itemize} + \item Shortcuts + \item Fab output + \end{itemize} + \end{itemize} + \end{column} + + \begin{column}[r]{4cm} + \includegraphics[width=3cm]{atusb-front.png} + \end{column} +\end{columns} +\end{frame} + +% === Qi-Hardware ============================================================= + + +% --- Qi-Hardware ------------------------------------------------------------- + +\begin{frame}{Qi-Hardware} +\begin{itemize} + \item Started by happily ex-Openmokoers + \item Collection of loosely connected projects + \item Development and manufacturing + \item Copyleft Hardware with Free Software +\end{itemize} + +Products: +\begin{itemize} + \item Ben NanoNote (Handheld computer) + \item SIE (Development board) + \item Universal Breakout Board (UBB) + \item Ben-WPAN (IEEE 802.15.4 wireless) + \item Milkymist One (FPGA-based Video synthesizer) +\end{itemize} +\end{frame} + +% --- Ben NanoNote ------------------------------------------------------------ + +\begin{frame}{Ben NanoNote} + +@@@ + +\begin{itemize} + \item Objective: validate manufacturing process + \item OEM dictionary design + \item 336 MHz MIPS CPU (Ingenic Jz4720) + \item 32 MB RAM, 2 GB NAND Flash + \item QVGA LCD, keyboard + \item USB device, 8:10 card, audio + \item Manufactured by Sharism at Work Ltd. + \item $\approx$1300 units sold + \item Schematics open (KiCad) +\end{itemize} +\end{frame} + +% --- SIE --------------------------------------------------------------------- + +\begin{frame}{SIE} + +@@@ + +\begin{itemize} + \item Objective: development board (educational) + \item Joint work of + \begin{itemize} + \item Universidad Nacional de Colombia (UNAL) + \item Tuxbrain S.L. + \item Sharism Ltd. + \end{itemize} + \item Loosely based on Ben design + \item With an FPGA + \item Design 100\% open (with KiCad) +\end{itemize} +\end{frame} + +% --- UBB --------------------------------------------------------------------- + +\begin{frame}{UBB} + +@@@ + +Universal Breakout Board +%\begin{columns} +% \begin{column}[l]{8cm} +\begin{itemize} + \item Objective: easy DIY connection to Ben + \item Original idea by Rikard Lindstrom + \item Design 100\% open (with KiCad) + \item Manufactured by Tuxbrain S.L. +\end{itemize} +\end{frame} + +% --- Ben-WPAN ---------------------------------------------------------------- + +\begin{frame}{Ben-WPAN} + +@@@ + +\begin{columns} + \begin{column}{12cm} + \begin{itemize} + \item Objective: unencumbered wireless connectivity for the Ben + \item IEEE 802.15.4 (LR-WPAN) + \item 250 kbps (2 Mbps non-standard) + \item Ben 8:10 card (atben), USB (atusb) + \item Designed by Werner Almesberger + \item Design 100\% open (with KiCad) + \item Largely automated fabrication workflow + \item Manufactured by \st{Sharism} Tuxbrain S.L. + \end{itemize} + \end{column} +\end{columns} +\end{frame} + +% --- Milkymist One ----------------------------------------------------------- + +\begin{frame}{Milkymist One} + +@@@ + +\begin{columns} + \begin{column}{12cm} + \begin{itemize} + \item Objective: + \item By ``one man army'' Sebastien Bourdeauducq + \item Video synthesizer + \item Video in/out, audio in, Ethernet, USB host, $\ldots$ + \item FPGA-based (Lattice LM32 core) + \item Verilog under GPL + \item Proprietary FPGA tools + \item LLHDL: work on Open synthesis tool + \item Design files open (use Altium) + \item Manufactured by Sharism at Work Ltd. + \end{itemize} + \end{column} +\end{columns} +\end{frame} + + +% === Tricks and Traps ======================================================== + +% --- Sourcing Pitfalls ------------------------------------------------------- + +\begin{frame}{Sourcing Pitfalls} +\begin{columns} + \begin{column}{12cm} + \begin{itemize} + \item ``I can get any chip I see on a vendor's Web site'' + \begin{itemize} + \item You are too small + \item Non-refundable fees + \item Consider documentation + \end{itemize} + \item ``Once a chip is announced, we can use it'' + \begin{itemize} + \item Delays until first samples + \item Some chips are test balloons + \item Need a few revisions to mature + \item Revisions may introduce drastic changes + \end{itemize} + \item Distributors + \begin{itemize} + \item Even large distributors don't stock everything + \item Minimum Order Quantity + \item Lead time + \end{itemize} + \end{itemize} + \end{column} +\end{columns} +\end{frame} + +% --- Common Misconceptions --------------------------------------------------- + +\begin{frame}{Common Misconceptions} +\begin{columns} + \begin{column}{12cm} + \begin{itemize} + \item ``Let's make an iPhone/iPad'' + \begin{itemize} + \item Bleeding edge components are hard to get + \item They are hard to design for + \item They are expensive + \item There is fierce competition + \item ``Boy, did we patent it !'' + \end{itemize} + \item ``There is no tomorrow'' or ``It must be perfect'' + \begin{itemize} + \item Rampant featuritis \\ + $\Rightarrow$ Delays + \item Try to be as up to date as possible \\ + $\Rightarrow$ Redesigns $\Leftrightarrow$ Delays + \end{itemize} + \end{itemize} + \end{column} +\end{columns} +\end{frame} + +% --- Dodging Patents --------------------------------------------------------- + +\begin{frame}{Dodging Patents} +Potential opponents: +\begin{itemize} + \item Big players (Apple, Nokia, Oracle, $\ldots$) + \item Licensing firms (Sisvel, MPEG-LA, $\ldots$) + \item Patent trolls +\end{itemize} + +Some avoidance strategies: +\begin{itemize} + \item Do not sell hardware + \item Stay small, poor, and out of the news + \item Use old technology + \item Avoid areas of on-going patent wars: \\ + Mobile communication, A/V codecs, Multitouch, $\ldots$ + \item Hope for the best +\end{itemize} +\end{frame} + +% --- Running an Open Hardware Project ------------------------------------- + +\begin{frame}{Running an Open Hardware Project} +\begin{columns} + \begin{column}{12cm} + \begin{itemize} + \item Have clear objectives + \item Create opportunities to participate + \item Pick your challenges wisely + \begin{itemize} + \item Set realistic goals + \item Know what you can sacrifice + \item Pay attention to manufacturability + \end{itemize} + \item Think about what follows + \end{itemize} + \end{column} +\end{columns} +\end{frame} + +% --- Conclusion -------------------------------------------------------------- + +\begin{frame}{Conclusion} +\end{frame} + +% --- URLs -------------------------------------------------------------- + +\begin{frame}{URLs} +This presentation: \\ +\url{...} + +The Qi-Hardware project: \\ +\url{http://www.qi-hardware.com/} + +Schematics history: \\ +\url{http://projects.qi-hardware.com/schhist/} + +Footprint editor (fped): \\ +\url{http://svn.openmoko.org/trunk/eda/fped/README} + +\end{frame} + + +\end{document} + +% === Extra Slides ============================================================ + +% --- Similar Projects -------------------------------------------------------- + +\begin{frame}{Similar Projects} +\begin{itemize} + \item Arduino + \item OpenPandora + \item Openmoko Freerunner +\end{itemize} +\end{frame} + +% --- Arduino ----------------------------------------------------------------- + +\begin{frame}{Arduino} +\begin{itemize} + \item Modular embedded system (AVR-based) + \item Easy to use environment + \item Very popular + \item Active community + \item CC-BY-SA, GPL, LGPL + \item EDA system: EAGLE + \item \url{http://arduino.cc/} +\end{itemize} +\end{frame} + +% --- OpenPandora ------------------------------------------------------------- + +\begin{frame}{OpenPandora} +\begin{itemize} + \item Non-open hardware + \item A quagmire +\end{itemize} +\end{frame} + +% --- Openmoko Freerunner ----------------------------------------------------- + +\begin{frame}{Openmoko FreeRunner} +\begin{itemize} + \item GSM Smartphone + \item Designed for Free Software + \item Got a lot of attention + \item ~10'000 units sold + \item Openmoko Inc. changed course in 2009 + \item Schematics (PDF) available + \item Design files (Mentor PADS) not available + \item CAD files available +\end{itemize} +\end{frame} + +\end{document}