Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Git Source Tree
Root/
| 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 30, 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 DOs and DON'Ts |
| 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 | \begin{center} |
| 130 | \includegraphics[width=1.1\textwidth]{flow.pdf} |
| 131 | \end{center} |
| 132 | \end{frame} |
| 133 | |
| 134 | % --- Tools: KiCad ------------------------------------------------------------ |
| 135 | |
| 136 | \begin{frame}{Tools: KiCad} |
| 137 | \begin{center} |
| 138 | \includegraphics[height=50mm]{kicad.png} |
| 139 | \end{center} |
| 140 | \begin{columns} |
| 141 | \begin{column}{12cm} |
| 142 | \begin{itemize} |
| 143 | \item Main devs: Jean-Pierre Charras, Dick Hollenbeck |
| 144 | \item Complete EDA solution |
| 145 | \item Text files $\rightarrow$ extensible |
| 146 | \item Free Software: GPL, LGPL |
| 147 | \end{itemize} |
| 148 | \end{column} |
| 149 | \end{columns} |
| 150 | \end{frame} |
| 151 | |
| 152 | % --- Tools: Schematics History ----------------------------------------------- |
| 153 | |
| 154 | \begin{frame}{Tools: Schematics History} |
| 155 | \begin{center} |
| 156 | \includegraphics[height=4.5cm]{schhist.png} |
| 157 | \qquad |
| 158 | \includegraphics[height=4cm]{USB.png} |
| 159 | \end{center} |
| 160 | \begin{itemize} |
| 161 | \item Schematics revision history |
| 162 | \item Visual highlighting of changes |
| 163 | \item Web output (HTML, PNG, PDF) |
| 164 | \end{itemize} |
| 165 | \end{frame} |
| 166 | |
| 167 | % --- Tools: Footprint Editor (fped) ------------------------------------------ |
| 168 | |
| 169 | \begin{frame}{Tools: Footprint Editor (fped)} |
| 170 | \begin{center} |
| 171 | \includegraphics[height=6cm]{fped.png} |
| 172 | \end{center} |
| 173 | \begin{itemize} |
| 174 | \item Parametric |
| 175 | \item GUI or text-based |
| 176 | \item Automatic measurements |
| 177 | \end{itemize} |
| 178 | \end{frame} |
| 179 | |
| 180 | % --- More Tools -------------------------------------------------------------- |
| 181 | |
| 182 | \begin{frame}{More Tools} |
| 183 | \begin{columns} |
| 184 | \begin{column}[l]{8cm} |
| 185 | \begin{itemize} |
| 186 | \item Data sheet viewer (dsv) |
| 187 | \begin{itemize} |
| 188 | \item Work around non-distribution |
| 189 | \item Download and cache |
| 190 | \item Quick access \\ |
| 191 | {\tt dsv mcu} |
| 192 | \end{itemize} |
| 193 | \item Gerber renderer (prettygerbv) |
| 194 | \begin{itemize} |
| 195 | \item Combine Gerber and Excellon |
| 196 | \item Realistic coloring |
| 197 | \end{itemize} |
| 198 | \item BOM processor |
| 199 | \begin{itemize} |
| 200 | \item Select components |
| 201 | \item Find best supplier |
| 202 | \item Make shopping list |
| 203 | \end{itemize} |
| 204 | \item Makefiles |
| 205 | \begin{itemize} |
| 206 | \item Shortcuts |
| 207 | \item Fab output |
| 208 | \end{itemize} |
| 209 | \end{itemize} |
| 210 | \end{column} |
| 211 | |
| 212 | \begin{column}[r]{4cm} |
| 213 | \includegraphics[width=3cm]{atusb-front.png} |
| 214 | \end{column} |
| 215 | \end{columns} |
| 216 | \end{frame} |
| 217 | |
| 218 | |
| 219 | % === Qi-Hardware ============================================================= |
| 220 | |
| 221 | |
| 222 | % --- Qi-Hardware ------------------------------------------------------------- |
| 223 | |
| 224 | \begin{frame}{Qi-Hardware} |
| 225 | \begin{itemize} |
| 226 | \item Started by ex-Openmokoers |
| 227 | \item Collection of loosely connected projects |
| 228 | \item Copyleft Hardware with Free Software |
| 229 | \item Development and manufacturing |
| 230 | \end{itemize} |
| 231 | |
| 232 | Products: |
| 233 | \begin{itemize} |
| 234 | \item Ben NanoNote (Handheld computer) |
| 235 | \item SIE (Development board) |
| 236 | \item Universal Breakout Board (UBB) |
| 237 | \item Ben-WPAN (IEEE 802.15.4 wireless) |
| 238 | \item Milkymist One (FPGA-based Video synthesizer) |
| 239 | \end{itemize} |
| 240 | \end{frame} |
| 241 | |
| 242 | % --- Ben NanoNote ------------------------------------------------------------ |
| 243 | |
| 244 | \begin{frame}{Ben NanoNote} |
| 245 | |
| 246 | \begin{center} |
| 247 | \includegraphics[height=2.5cm]{Nano_cola.jpg} |
| 248 | \end{center} |
| 249 | \begin{columns} |
| 250 | \begin{column}[r]{6cm} |
| 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 32MB RAM, 2GB NAND |
| 257 | \end{itemize} |
| 258 | \end{column} |
| 259 | \begin{column}[r]{6.5cm} |
| 260 | \begin{itemize} |
| 261 | \item QVGA LCD, keyboard |
| 262 | \item USB device, 8:10 card, audio |
| 263 | \item Manufactured by Sharism at Work Ltd. |
| 264 | \item $\approx$1300 units sold |
| 265 | \item Schematics open (KiCad) |
| 266 | \end{itemize} |
| 267 | \end{column} |
| 268 | \end{columns} |
| 269 | \end{frame} |
| 270 | |
| 271 | % --- SIE --------------------------------------------------------------------- |
| 272 | |
| 273 | \begin{frame}{SIE} |
| 274 | |
| 275 | \begin{center} |
| 276 | \includegraphics[width=38mm]{SIE_KICAD.png} |
| 277 | \end{center} |
| 278 | |
| 279 | \begin{itemize} |
| 280 | \item Objective: development board (educational) |
| 281 | \item Loosely based on Ben design |
| 282 | \item Joint work of |
| 283 | \begin{itemize} |
| 284 | \item Universidad Nacional de Colombia (UNAL) |
| 285 | \item Tuxbrain S.L. |
| 286 | \item Sharism Ltd. |
| 287 | \end{itemize} |
| 288 | \item Design 100\% open (with KiCad) |
| 289 | \item Continues as Linux en-Caja |
| 290 | \end{itemize} |
| 291 | \end{frame} |
| 292 | |
| 293 | % --- UBB --------------------------------------------------------------------- |
| 294 | |
| 295 | \begin{frame}{UBB} |
| 296 | |
| 297 | \includegraphics[width=40mm]{UBB_production_08.JPG} |
| 298 | \quad |
| 299 | \includegraphics[width=28mm]{ubb-vga-pub-plugged-medium.jpg} |
| 300 | \quad |
| 301 | \includegraphics[width=28mm]{ubb-vga-pub-1024-medium.jpg} |
| 302 | |
| 303 | \vskip10mm |
| 304 | |
| 305 | Universal Breakout Board |
| 306 | %\begin{columns} |
| 307 | % \begin{column}[l]{8cm} |
| 308 | \begin{itemize} |
| 309 | \item Objective: easy DIY connection to Ben |
| 310 | \item Original idea by Rikard Lindstrom |
| 311 | \item Design 100\% open (with KiCad) |
| 312 | \item Manufactured by Tuxbrain S.L. |
| 313 | \item Example: ubb-vga |
| 314 | \end{itemize} |
| 315 | \end{frame} |
| 316 | |
| 317 | % --- Ben-WPAN ---------------------------------------------------------------- |
| 318 | |
| 319 | \begin{frame}{Ben-WPAN} |
| 320 | |
| 321 | \begin{center} |
| 322 | \includegraphics[width=30mm]{Atben_atusb_prod_03.jpg} |
| 323 | \qquad |
| 324 | \includegraphics[width=50mm]{Atben_atusb_prod_05.jpg} |
| 325 | \end{center} |
| 326 | \begin{columns} |
| 327 | \begin{column}{12cm} |
| 328 | \begin{itemize} |
| 329 | \item Objective: unencumbered wireless for the Ben |
| 330 | \item IEEE 802.15.4 (LR-WPAN) |
| 331 | \item 250 kbps (2 Mbps non-standard) |
| 332 | \item Ben 8:10 card (atben), USB (atusb) |
| 333 | \item Designed by Werner Almesberger |
| 334 | \item Design 100\% open (with KiCad) |
| 335 | \item Largely automated fabrication workflow |
| 336 | \item Manufactured by \st{Sharism} Tuxbrain S.L. |
| 337 | \end{itemize} |
| 338 | \end{column} |
| 339 | \end{columns} |
| 340 | \end{frame} |
| 341 | |
| 342 | % --- Milkymist One ----------------------------------------------------------- |
| 343 | |
| 344 | \begin{frame}{Milkymist One} |
| 345 | |
| 346 | \begin{columns} |
| 347 | \begin{column}[l]{4cm} |
| 348 | \includegraphics[width=5cm]{M1_dmx_video.jpg} |
| 349 | \end{column} |
| 350 | \begin{column}[r]{9cm} |
| 351 | \begin{itemize} |
| 352 | \item Video synthesizer |
| 353 | \item By ``one man army'' Sebastien Bourdeauducq |
| 354 | \item Video in/out, audio, Ethernet, USB host, MIDI, $\ldots$ |
| 355 | \item FPGA-based (Lattice LM32 core) |
| 356 | \item Verilog under GPL |
| 357 | \item Proprietary FPGA tools |
| 358 | \item LLHDL: work on Open synthesis tool |
| 359 | \item Design files open (use Altium) |
| 360 | \item Manufactured by Sharism |
| 361 | \end{itemize} |
| 362 | \end{column} |
| 363 | \end{columns} |
| 364 | \end{frame} |
| 365 | |
| 366 | % --- Freedoms Status --------------------------------------------------------- |
| 367 | |
| 368 | \begin{frame}{Freedom Status} |
| 369 | \includegraphics[height=0.9\textheight]{achieve.pdf} |
| 370 | \end{frame} |
| 371 | |
| 372 | % --- Running an Open Hardware Project ---------------------------------------- |
| 373 | |
| 374 | \begin{frame}{Running an Open Hardware Project} |
| 375 | \begin{columns} |
| 376 | \begin{column}{12cm} |
| 377 | \begin{itemize} |
| 378 | \item Have clear objectives |
| 379 | \item Create opportunities to participate |
| 380 | \item Pick your challenges wisely |
| 381 | \begin{itemize} |
| 382 | \item Set realistic goals |
| 383 | \item Know what you can sacrifice |
| 384 | \item Pay attention to manufacturability |
| 385 | \end{itemize} |
| 386 | \item Think about what follows |
| 387 | \end{itemize} |
| 388 | \end{column} |
| 389 | \end{columns} |
| 390 | \end{frame} |
| 391 | |
| 392 | % --- Common Misconceptions --------------------------------------------------- |
| 393 | |
| 394 | \begin{frame}{Common Misconceptions} |
| 395 | \begin{columns} |
| 396 | \begin{column}{12cm} |
| 397 | \begin{itemize} |
| 398 | \item ``Let's make an iPhone/iPad'' |
| 399 | \begin{itemize} |
| 400 | \item Bleeding edge components are hard to get |
| 401 | \item They are hard to design for |
| 402 | \item They are expensive |
| 403 | \item There is fierce competition |
| 404 | \item You're joining the race late |
| 405 | \item ``Boy, did we patent it !'' |
| 406 | \end{itemize} |
| 407 | \item ``There is no tomorrow'' or ``It must be perfect'' |
| 408 | \begin{itemize} |
| 409 | \item Rampant featuritis \\ |
| 410 | $\Rightarrow$ Delays |
| 411 | \item Try to be as up to date as possible \\ |
| 412 | $\Rightarrow$ Redesigns $\Leftrightarrow$ Delays |
| 413 | \end{itemize} |
| 414 | \end{itemize} |
| 415 | \end{column} |
| 416 | \end{columns} |
| 417 | \end{frame} |
| 418 | |
| 419 | % --- Sourcing Pitfalls ------------------------------------------------------- |
| 420 | |
| 421 | \begin{frame}{Sourcing Pitfalls} |
| 422 | \begin{columns} |
| 423 | \begin{column}{12cm} |
| 424 | \begin{itemize} |
| 425 | \item ``I can get any chip I see on a vendor's Web site'' |
| 426 | \begin{itemize} |
| 427 | \item You are too small |
| 428 | \item Non-refundable fees |
| 429 | \item Consider documentation |
| 430 | \end{itemize} |
| 431 | \item ``Once a chip is announced, we can use it'' |
| 432 | \begin{itemize} |
| 433 | \item Delays until first (buggy) samples |
| 434 | \item Some chips are test balloons |
| 435 | \item Revisions may introduce drastic changes |
| 436 | \end{itemize} |
| 437 | \item Distributors |
| 438 | \begin{itemize} |
| 439 | \item Even large distributors don't stock everything |
| 440 | \item Minimum Order Quantity |
| 441 | \item Lead time |
| 442 | \end{itemize} |
| 443 | \end{itemize} |
| 444 | \end{column} |
| 445 | \end{columns} |
| 446 | \end{frame} |
| 447 | |
| 448 | % --- Dodging Patents --------------------------------------------------------- |
| 449 | |
| 450 | \begin{frame}{Dodging Patents} |
| 451 | Potential opponents: |
| 452 | \begin{itemize} |
| 453 | \item Big players (Apple, Nokia, Oracle, $\ldots$) |
| 454 | \item Licensing firms (Sisvel, MPEG-LA, $\ldots$) |
| 455 | \item Patent trolls |
| 456 | \end{itemize} |
| 457 | |
| 458 | Some avoidance strategies: |
| 459 | \begin{itemize} |
| 460 | \item Do not sell hardware |
| 461 | \item Stay remote, small, poor, and out of the news |
| 462 | \item Use old technology |
| 463 | \item Avoid areas of on-going patent wars: \\ |
| 464 | Mobile communication, A/V codecs, Multitouch, $\ldots$ |
| 465 | \item Hope for the best |
| 466 | \end{itemize} |
| 467 | \end{frame} |
| 468 | |
| 469 | % --- Conclusion -------------------------------------------------------------- |
| 470 | |
| 471 | \begin{frame}{The Future} |
| 472 | \begin{itemize} |
| 473 | \item Finishing Milkymist One |
| 474 | \item Ben-WPAN firmware and Linux support |
| 475 | \item Dreaming of Ya NanoNote |
| 476 | \item Improve tools (BOM, LLHDL, layout history) |
| 477 | \item Get better control of mechanical design |
| 478 | \item Smarter marketing: sell our story better |
| 479 | \end{itemize} |
| 480 | \end{frame} |
| 481 | |
| 482 | % --- URLs -------------------------------------------------------------- |
| 483 | |
| 484 | \begin{frame}{URLs} |
| 485 | This presentation: \\ |
| 486 | \url{downloads.qi-hardware.com/people/werner/fisl12.pdf} |
| 487 | \vskip2mm |
| 488 | The Qi-Hardware project: \\ |
| 489 | \url{www.qi-hardware.com/} |
| 490 | \vskip2mm |
| 491 | Schematics history: \\ |
| 492 | \url{projects.qi-hardware.com/schhist/} |
| 493 | \vskip2mm |
| 494 | Footprint editor (fped): \\ |
| 495 | \url{svn.openmoko.org/trunk/eda/fped/README} |
| 496 | \vskip2mm |
| 497 | Milkymist: \\ |
| 498 | \url{milkymist.org/} |
| 499 | \end{frame} |
| 500 | |
| 501 | |
| 502 | \end{document} |
| 503 | |
| 504 | % === Extra Slides ============================================================ |
| 505 | |
| 506 | % --- Similar Projects -------------------------------------------------------- |
| 507 | |
| 508 | \begin{frame}{Similar Projects} |
| 509 | \begin{itemize} |
| 510 | \item Arduino |
| 511 | \item OpenPandora |
| 512 | \item Openmoko Freerunner |
| 513 | \end{itemize} |
| 514 | \end{frame} |
| 515 | |
| 516 | % --- Arduino ----------------------------------------------------------------- |
| 517 | |
| 518 | \begin{frame}{Arduino} |
| 519 | \begin{itemize} |
| 520 | \item Modular embedded system (AVR-based) |
| 521 | \item Easy to use environment |
| 522 | \item Very popular |
| 523 | \item Active community |
| 524 | \item CC-BY-SA, GPL, LGPL |
| 525 | \item EDA system: EAGLE |
| 526 | \item \url{http://arduino.cc/} |
| 527 | \end{itemize} |
| 528 | \end{frame} |
| 529 | |
| 530 | % --- OpenPandora ------------------------------------------------------------- |
| 531 | |
| 532 | \begin{frame}{OpenPandora} |
| 533 | \begin{itemize} |
| 534 | \item Non-open hardware |
| 535 | \item A quagmire |
| 536 | \end{itemize} |
| 537 | \end{frame} |
| 538 | |
| 539 | % --- Openmoko Freerunner ----------------------------------------------------- |
| 540 | |
| 541 | \begin{frame}{Openmoko FreeRunner} |
| 542 | \begin{itemize} |
| 543 | \item GSM Smartphone |
| 544 | \item Designed for Free Software |
| 545 | \item Got a lot of attention |
| 546 | \item ~10'000 units sold |
| 547 | \item Openmoko Inc. changed course in 2009 |
| 548 | \item Schematics (PDF) available |
| 549 | \item Design files (Mentor PADS) not available |
| 550 | \item CAD files available |
| 551 | \end{itemize} |
| 552 | \end{frame} |
| 553 | |
| 554 | \end{document} |
| 555 |
Branches:
master
