Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Git Source Tree
Root/
Source at commit b5f61138baed4e5ad8e3d6588d5f75eafbac2a67 created 12 years 9 months ago. By Werner Almesberger, added openness schievements; more small updates | |
---|---|
1 | \documentclass[14pt,trans]{beamer} |
2 | \usepackage{color} |
3 | \usepackage{url} |
4 | \usepackage{colortbl} |
5 | \usepackage{soul} |
6 | \usefonttheme{structurebold} |
7 | \setbeamertemplate{navigation symbols}{} |
8 | \setbeamertemplate{items}[ball] |
9 | %\setbeamersize{sidebar width left=-5mm} |
10 | \title{\Large Making Copyleft Hardware} |
11 | \author{Werner Almesberger \\\url{werner@almesberger.net}} |
12 | \date{June 28, 2011} |
13 | |
14 | \setul{}{1.5pt} |
15 | |
16 | \begin{document} |
17 | |
18 | \begin{frame} |
19 | \titlepage |
20 | \end{frame} |
21 | |
22 | % --- Overview ---------------------------------------------------------------- |
23 | |
24 | \begin{frame}{Overview?} |
25 | \begin{itemize} |
26 | \item Copyleft Hardware: what and why ? |
27 | \item Tools |
28 | \item Qi-Hardware projects |
29 | \item |
30 | \end{itemize} |
31 | \end{frame} |
32 | |
33 | % --- What is Copyleft Hardware ----------------------------------------------- |
34 | |
35 | \begin{frame}{What is Copyleft Hardware ?} |
36 | \begin{itemize} |
37 | \item Principles similar to Free Software, \\ |
38 | applied to hardware |
39 | \item Design {\color{red}\underline{and}} manufacturing |
40 | \item All material under open licenses: \\ |
41 | GPL, GFDL, CC-BY, CC-BY-SA |
42 | \item Friendly to Free Software |
43 | \end{itemize} |
44 | \end{frame} |
45 | |
46 | % --- Hardware vs. Software --------------------------------------------------- |
47 | |
48 | \begin{frame}{Hardware vs. Software} |
49 | \setlength\minrowclearance{4pt} |
50 | \setlength\arrayrulewidth{1pt} |
51 | \begin{tabular}{|l|l|l|} |
52 | \hline |
53 | \rowcolor[rgb]{0.9,0.9,0.5} |
54 | \bf Concept &\bf Software & \bf Hardware \\ |
55 | \hline |
56 | Source & Program text & Schematics, Layout \\ |
57 | \rowcolor[gray]{0.9} |
58 | Editor & Text editor & EDA system \\ |
59 | Conversion & Compiler, etc. & EDA system \\ |
60 | \rowcolor[gray]{0.9} |
61 | Testing & Run & Prototype(s) \\ |
62 | Debugging & Debugger & Lab instruments \\ |
63 | \rowcolor[gray]{0.9} |
64 | Duplication & Download & Manufacturing, \\ |
65 | \rowcolor[gray]{0.9} |
66 | & (perfect copy) & Testing \\ |
67 | Distribution & Internet & Shipping, Customs \\ |
68 | \hline |
69 | \end{tabular} |
70 | \end{frame} |
71 | |
72 | % --- The Four Freedoms ------------------------------------------------------- |
73 | |
74 | \begin{frame}{The Four Freedoms} |
75 | |
76 | According to The Free Software Definition: $[1]$ |
77 | |
78 | \begin{enumerate} |
79 | \item[0]<2-> Run the program |
80 | \begin{itemize} |
81 | \item Use the hardware |
82 | \end{itemize} |
83 | \item[1]<3-> Study the source |
84 | \begin{itemize} |
85 | \item Study design files (schematics and layout) |
86 | \end{itemize} |
87 | \item[1]<4-> Adapt the source to your needs |
88 | \begin{itemize} |
89 | \item Adapt design files |
90 | \item Access to the tools |
91 | \end{itemize} |
92 | \item[2$-$3]<5-> Redistribute copies (including modifications) |
93 | \begin{itemize} |
94 | \item Redistribute design files |
95 | \item Build or produce the hardware |
96 | \end{itemize} |
97 | \end{enumerate} |
98 | |
99 | {\small $[1]$~\url{http://www.gnu.org/philosophy/free-sw.html}} |
100 | \end{frame} |
101 | |
102 | % --- Why Copyleft Hardware --------------------------------------------------- |
103 | |
104 | \begin{frame}{Why Copyleft Hardware ?} |
105 | One can $\ldots$ |
106 | \setbeamertemplate{items}[default] |
107 | \begin{itemize} |
108 | \item learn from it (also small details) |
109 | \item know what is happening inside the ``black box'' |
110 | \begin{itemize} |
111 | \item No spyware |
112 | \item Analyze (mis)behaviour |
113 | \end{itemize} |
114 | \item adapt design for new uses or contexts |
115 | \item reuse parts of design in other projects |
116 | \item achieve longevity by $\ldots$ |
117 | \begin{itemize} |
118 | \item fixing/updating/enhancing the design |
119 | \item repairing/modifying devices |
120 | \item producing more/updated devices |
121 | \end{itemize} |
122 | \item choose suitable manufacturing site |
123 | \end{itemize} |
124 | \end{frame} |
125 | |
126 | % --- Workflow ---------------------------------------------------------------- |
127 | |
128 | \begin{frame}{Workflow} |
129 | @@@ |
130 | \end{frame} |
131 | |
132 | % --- Tools: KiCad ------------------------------------------------------------ |
133 | |
134 | \begin{frame}{Tools: KiCad} |
135 | \begin{center} |
136 | \includegraphics[height=50mm]{kicad.png} |
137 | \end{center} |
138 | \begin{columns} |
139 | \begin{column}{12cm} |
140 | \begin{itemize} |
141 | \item Main devs: Jean-Pierre Charras, Dick Hollenbeck |
142 | \item Complete EDA solution |
143 | \item Text files $\rightarrow$ extensible |
144 | \item Free Software: GPL, LGPL |
145 | \end{itemize} |
146 | \end{column} |
147 | \end{columns} |
148 | \end{frame} |
149 | |
150 | % --- Tools: Schematics History ----------------------------------------------- |
151 | |
152 | \begin{frame}{Tools: Schematics History} |
153 | \begin{center} |
154 | \includegraphics[height=4.5cm]{schhist.png} |
155 | \qquad |
156 | \includegraphics[height=4cm]{USB.png} |
157 | \end{center} |
158 | \begin{itemize} |
159 | \item Schematics revision history |
160 | \item Visual highlighting of changes |
161 | \item Web output (HTML, PNG, PDF) |
162 | \end{itemize} |
163 | \end{frame} |
164 | |
165 | % --- Tools: Footprint Editor (fped) ------------------------------------------ |
166 | |
167 | \begin{frame}{Tools: Footprint Editor (fped)} |
168 | \begin{center} |
169 | \includegraphics[height=6cm]{fped.png} |
170 | \end{center} |
171 | \begin{itemize} |
172 | \item Parametric |
173 | \item GUI or text-based |
174 | \item Automatic measurements |
175 | \end{itemize} |
176 | \end{frame} |
177 | |
178 | % --- Tools: BOM Processing System -------------------------------------------- |
179 | |
180 | \begin{frame}{Tools: BOM Processing System} |
181 | |
182 | @@@ |
183 | |
184 | \begin{itemize} |
185 | \item ... |
186 | \item ... |
187 | \end{itemize} |
188 | \end{frame} |
189 | |
190 | % --- More Tools -------------------------------------------------------------- |
191 | |
192 | \begin{frame}{More Tools} |
193 | \begin{columns} |
194 | \begin{column}[l]{8cm} |
195 | \begin{itemize} |
196 | \item Data sheet viewer (dsv) |
197 | \begin{itemize} |
198 | \item Work around non-distribution |
199 | \item Download and cache |
200 | \item Quick access \\ |
201 | {\tt dsv mcu} |
202 | \end{itemize} |
203 | \item Gerber renderer (prettygerbv) |
204 | \begin{itemize} |
205 | \item Combine Gerber and Excellon |
206 | \item Realistic coloring |
207 | \end{itemize} |
208 | \item Makefiles |
209 | \begin{itemize} |
210 | \item Shortcuts |
211 | \item Fab output |
212 | \end{itemize} |
213 | \end{itemize} |
214 | \end{column} |
215 | |
216 | \begin{column}[r]{4cm} |
217 | \includegraphics[width=3cm]{atusb-front.png} |
218 | \end{column} |
219 | \end{columns} |
220 | \end{frame} |
221 | |
222 | % === Qi-Hardware ============================================================= |
223 | |
224 | |
225 | % --- Qi-Hardware ------------------------------------------------------------- |
226 | |
227 | \begin{frame}{Qi-Hardware} |
228 | \begin{itemize} |
229 | \item Started by happily ex-Openmokoers |
230 | \item Collection of loosely connected projects |
231 | \item Development and manufacturing |
232 | \item Copyleft Hardware with Free Software |
233 | \end{itemize} |
234 | |
235 | Products: |
236 | \begin{itemize} |
237 | \item Ben NanoNote (Handheld computer) |
238 | \item SIE (Development board) |
239 | \item Universal Breakout Board (UBB) |
240 | \item Ben-WPAN (IEEE 802.15.4 wireless) |
241 | \item Milkymist One (FPGA-based Video synthesizer) |
242 | \end{itemize} |
243 | \end{frame} |
244 | |
245 | % --- Ben NanoNote ------------------------------------------------------------ |
246 | |
247 | \begin{frame}{Ben NanoNote} |
248 | |
249 | @@@ |
250 | |
251 | \begin{itemize} |
252 | \item Objective: validate manufacturing process |
253 | \item OEM dictionary design |
254 | \item Runs Linux: OpenWrt, Jlime (OE-based) |
255 | \item 336 MHz MIPS CPU (Ingenic Jz4720) |
256 | \item 32 MB RAM, 2 GB NAND Flash |
257 | \item QVGA LCD, keyboard |
258 | \item USB device, 8:10 card, audio |
259 | \item Manufactured by Sharism at Work Ltd. |
260 | \item $\approx$1300 units sold |
261 | \item Schematics open (KiCad) |
262 | \end{itemize} |
263 | \end{frame} |
264 | |
265 | % --- SIE --------------------------------------------------------------------- |
266 | |
267 | \begin{frame}{SIE} |
268 | |
269 | @@@ |
270 | |
271 | \begin{itemize} |
272 | \item Objective: development board (educational) |
273 | \item Joint work of |
274 | \begin{itemize} |
275 | \item Universidad Nacional de Colombia (UNAL) |
276 | \item Tuxbrain S.L. |
277 | \item Sharism Ltd. |
278 | \end{itemize} |
279 | \item Loosely based on Ben design |
280 | \item With an FPGA |
281 | \item Design 100\% open (with KiCad) |
282 | \end{itemize} |
283 | \end{frame} |
284 | |
285 | % --- UBB --------------------------------------------------------------------- |
286 | |
287 | \begin{frame}{UBB} |
288 | |
289 | @@@ |
290 | |
291 | Universal Breakout Board |
292 | %\begin{columns} |
293 | % \begin{column}[l]{8cm} |
294 | \begin{itemize} |
295 | \item Objective: easy DIY connection to Ben |
296 | \item Original idea by Rikard Lindstrom |
297 | \item Design 100\% open (with KiCad) |
298 | \item Manufactured by Tuxbrain S.L. |
299 | \end{itemize} |
300 | \end{frame} |
301 | |
302 | % --- Ben-WPAN ---------------------------------------------------------------- |
303 | |
304 | \begin{frame}{Ben-WPAN} |
305 | |
306 | @@@ |
307 | |
308 | \begin{columns} |
309 | \begin{column}{12cm} |
310 | \begin{itemize} |
311 | \item Objective: unencumbered wireless for the Ben |
312 | \item IEEE 802.15.4 (LR-WPAN) |
313 | \item 250 kbps (2 Mbps non-standard) |
314 | \item Ben 8:10 card (atben), USB (atusb) |
315 | \item Designed by Werner Almesberger |
316 | \item Design 100\% open (with KiCad) |
317 | \item Largely automated fabrication workflow |
318 | \item Manufactured by \st{Sharism} Tuxbrain S.L. |
319 | \end{itemize} |
320 | \end{column} |
321 | \end{columns} |
322 | \end{frame} |
323 | |
324 | % --- Milkymist One ----------------------------------------------------------- |
325 | |
326 | \begin{frame}{Milkymist One} |
327 | |
328 | @@@ |
329 | |
330 | \begin{columns} |
331 | \begin{column}{12cm} |
332 | \begin{itemize} |
333 | \item Objective: |
334 | \item Video synthesizer |
335 | \item By ``one man army'' Sebastien Bourdeauducq |
336 | \item Video in/out, audio, Ethernet, USB host, MIDI, $\ldots$ |
337 | \item FPGA-based (Lattice LM32 core) |
338 | \item Verilog under GPL |
339 | \item Proprietary FPGA tools |
340 | \item LLHDL: work on Open synthesis tool |
341 | \item Design files open (use Altium) |
342 | \item Manufactured by Sharism at Work Ltd. |
343 | \end{itemize} |
344 | \end{column} |
345 | \end{columns} |
346 | \end{frame} |
347 | |
348 | % --- Freedoms Status --------------------------------------------------------- |
349 | |
350 | \begin{frame}{Freedom Status} |
351 | \includegraphics[height=0.9\textheight]{achieve.pdf} |
352 | \end{frame} |
353 | |
354 | % === Running a project ======================================================= |
355 | |
356 | % --- Running an Open Hardware Project ---------------------------------------- |
357 | |
358 | \begin{frame}{Running an Open Hardware Project} |
359 | \begin{columns} |
360 | \begin{column}{12cm} |
361 | \begin{itemize} |
362 | \item Have clear objectives |
363 | \item Create opportunities to participate |
364 | \item Pick your challenges wisely |
365 | \begin{itemize} |
366 | \item Set realistic goals |
367 | \item Know what you can sacrifice |
368 | \item Pay attention to manufacturability |
369 | \end{itemize} |
370 | \item Think about what follows |
371 | \end{itemize} |
372 | \end{column} |
373 | \end{columns} |
374 | \end{frame} |
375 | |
376 | % --- Common Misconceptions --------------------------------------------------- |
377 | |
378 | \begin{frame}{Common Misconceptions} |
379 | \begin{columns} |
380 | \begin{column}{12cm} |
381 | \begin{itemize} |
382 | \item ``Let's make an iPhone/iPad'' |
383 | \begin{itemize} |
384 | \item Bleeding edge components are hard to get |
385 | \item They are hard to design for |
386 | \item They are expensive |
387 | \item There is fierce competition |
388 | \item You're joining the race late |
389 | \item ``Boy, did we patent it !'' |
390 | \end{itemize} |
391 | \item ``There is no tomorrow'' or ``It must be perfect'' |
392 | \begin{itemize} |
393 | \item Rampant featuritis \\ |
394 | $\Rightarrow$ Delays |
395 | \item Try to be as up to date as possible \\ |
396 | $\Rightarrow$ Redesigns $\Leftrightarrow$ Delays |
397 | \end{itemize} |
398 | \end{itemize} |
399 | \end{column} |
400 | \end{columns} |
401 | \end{frame} |
402 | |
403 | % --- Sourcing Pitfalls ------------------------------------------------------- |
404 | |
405 | \begin{frame}{Sourcing Pitfalls} |
406 | \begin{columns} |
407 | \begin{column}{12cm} |
408 | \begin{itemize} |
409 | \item ``I can get any chip I see on a vendor's Web site'' |
410 | \begin{itemize} |
411 | \item You are too small |
412 | \item Non-refundable fees |
413 | \item Consider documentation |
414 | \end{itemize} |
415 | \item ``Once a chip is announced, we can use it'' |
416 | \begin{itemize} |
417 | \item Delays until first samples |
418 | \item Some chips are test balloons |
419 | \item Need a few revisions to mature |
420 | \item Revisions may introduce drastic changes |
421 | \end{itemize} |
422 | \item Distributors |
423 | \begin{itemize} |
424 | \item Even large distributors don't stock everything |
425 | \item Minimum Order Quantity |
426 | \item Lead time |
427 | \end{itemize} |
428 | \end{itemize} |
429 | \end{column} |
430 | \end{columns} |
431 | \end{frame} |
432 | |
433 | % --- Dodging Patents --------------------------------------------------------- |
434 | |
435 | \begin{frame}{Dodging Patents} |
436 | Potential opponents: |
437 | \begin{itemize} |
438 | \item Big players (Apple, Nokia, Oracle, $\ldots$) |
439 | \item Licensing firms (Sisvel, MPEG-LA, $\ldots$) |
440 | \item Patent trolls |
441 | \end{itemize} |
442 | |
443 | Some avoidance strategies: |
444 | \begin{itemize} |
445 | \item Do not sell hardware |
446 | \item Stay remote, small, poor, and out of the news |
447 | \item Use old technology |
448 | \item Avoid areas of on-going patent wars: \\ |
449 | Mobile communication, A/V codecs, Multitouch, $\ldots$ |
450 | \item Hope for the best |
451 | \end{itemize} |
452 | \end{frame} |
453 | |
454 | % --- Conclusion -------------------------------------------------------------- |
455 | |
456 | \begin{frame}{The Future} |
457 | \begin{itemize} |
458 | \item Finishing Milkymist One |
459 | \item Ben-WPAN firmware and Linux support |
460 | \item Dreaming of Ya NanoNote |
461 | \item Improve tools (BOM, LLHDL, layout history) |
462 | \item Get better control of mechanical |
463 | \item Smarter marketing: sell our story better |
464 | \end{itemize} |
465 | \end{frame} |
466 | |
467 | % --- URLs -------------------------------------------------------------- |
468 | |
469 | \begin{frame}{URLs} |
470 | This presentation: \\ |
471 | \url{...} |
472 | |
473 | The Qi-Hardware project: \\ |
474 | \url{www.qi-hardware.com/} |
475 | |
476 | Schematics history: \\ |
477 | \url{projects.qi-hardware.com/schhist/} |
478 | |
479 | Footprint editor (fped): \\ |
480 | \url{svn.openmoko.org/trunk/eda/fped/README} |
481 | |
482 | Milkymist: \\ |
483 | \url{milkymist.org/} |
484 | |
485 | \end{frame} |
486 | |
487 | |
488 | \end{document} |
489 | |
490 | % === Extra Slides ============================================================ |
491 | |
492 | % --- Similar Projects -------------------------------------------------------- |
493 | |
494 | \begin{frame}{Similar Projects} |
495 | \begin{itemize} |
496 | \item Arduino |
497 | \item OpenPandora |
498 | \item Openmoko Freerunner |
499 | \end{itemize} |
500 | \end{frame} |
501 | |
502 | % --- Arduino ----------------------------------------------------------------- |
503 | |
504 | \begin{frame}{Arduino} |
505 | \begin{itemize} |
506 | \item Modular embedded system (AVR-based) |
507 | \item Easy to use environment |
508 | \item Very popular |
509 | \item Active community |
510 | \item CC-BY-SA, GPL, LGPL |
511 | \item EDA system: EAGLE |
512 | \item \url{http://arduino.cc/} |
513 | \end{itemize} |
514 | \end{frame} |
515 | |
516 | % --- OpenPandora ------------------------------------------------------------- |
517 | |
518 | \begin{frame}{OpenPandora} |
519 | \begin{itemize} |
520 | \item Non-open hardware |
521 | \item A quagmire |
522 | \end{itemize} |
523 | \end{frame} |
524 | |
525 | % --- Openmoko Freerunner ----------------------------------------------------- |
526 | |
527 | \begin{frame}{Openmoko FreeRunner} |
528 | \begin{itemize} |
529 | \item GSM Smartphone |
530 | \item Designed for Free Software |
531 | \item Got a lot of attention |
532 | \item ~10'000 units sold |
533 | \item Openmoko Inc. changed course in 2009 |
534 | \item Schematics (PDF) available |
535 | \item Design files (Mentor PADS) not available |
536 | \item CAD files available |
537 | \end{itemize} |
538 | \end{frame} |
539 | |
540 | \end{document} |
541 |
Branches:
master