fisl2011/: added atusb-front.png, in-progress draft of talk

This commit is contained in:
Werner Almesberger 2011-06-28 04:49:50 -03:00
parent 924bb95ebf
commit 6806d656f4
2 changed files with 522 additions and 0 deletions

BIN
fisl2011/atusb-front.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

522
fisl2011/talk.tex Normal file
View File

@ -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}