Date:2012-07-22 06:02:40 (11 years 8 months ago)
Author:Werner Almesberger
Commit:cd806472730585efe99a13640560ff7104ded631
Message:fisl2012/: first outline of FISL13 talk; abstract and biography

Grmbl. Some junk ended up in this commit as well. Don't dare to disentangle
the mess.
Files: bacon/case/Makefile (4 diffs)
bacon/case/cam.sh (1 diff)
bacon/case/case.fpd (4 diffs)
fisl2012/Makefile (1 diff)
fisl2012/abstract.txt (1 diff)
fisl2012/bio.txt (1 diff)
fisl2012/talk.tex (1 diff)
ircstat/ML (2 diffs)

Change Details

bacon/case/Makefile
1717# Z1 = -44
1818# PIECE_Z = 7.9
1919
20X0 = 5
21Y0 = 45
22Z1 = -44
20# run with acrylic (corner at 4, 0)
21# #1: 15, 10
22# #2: 15, 50
23# #3: 80, 10
24# PIECE_Z = 5.15
25
26X0 = 80
27Y0 = 10
28Z1 = -45
2329PIECE = -5 -5 30 55
24PIECE_Z = 5.5
30PIECE_Z = 5.15
2531Z_STEP = 2
2632CLEARANCE = 2
2733SPEED_XY = 1
...... 
3238FIN_SPEED_XY = 3
3339FIN_SPEED_Z = 3
3440
35PARAMS = X0=$(X0)mm Y0=$(Y0)mm Z1=$(Z1)mm PIECE_Z=$(PIECE_Z)mm \
41# acrylic
42# ~0.1 mm / 12 mil tool correction # not needed
43#MILL = 120mil
44SPEED_XY = 2
45SPEED_Z = 2
46FIN_SPEED_XY = 5
47FIN_SPEED_Z = 5
48
49PARAMS = X0=$(X0)mm Y0=$(Y0)mm Z1=$(Z1)mm MILL=$(MILL) PIECE_Z=$(PIECE_Z)mm \
3650     Z_OFFSET=$(Z_OFFSET)mm
3751
3852PARTS = top mid bot
3953PART = top
4054
41.PHONY: all plot mill pos cng clean
55.PHONY: all plot plot-fin mill pos cng clean
4256
4357all: $(PART)-mill.rml $(PART)-finish.rml
4458
...... 
7387            $< >$@ || { rm -f $@; exit 1; }
7488
7589plot: $(PART)-mill.gp
76        echo 'splot "$(PART)-mill.gp" with lines' | gnuplot -persist
90        echo 'splot "$<" with lines' | gnuplot -persist
91
92plot-fin: $(PART)-finish.gp
93        echo 'splot "$<" with lines' | gnuplot -persist
7794
7895mill: $(PART)-mill.rml $(PART)-finish.rml
7996        PORT=/dev/ttyUSB0 $(SPOOL) $^
...... 
88105        rm -f case.gp
89106        rm -f $(PARTS:%=%-piece.gp) $(PARTS:%=%.gp)
90107        rm -f $(PARTS:%=%-area.gp)
91        rm -f $(PARTS:%=%-mill.gp) $(PARTS:%=%-mill.rml)
92        rm -f $(PARTS:%=%-finish.gp) $(PARTS:%=%-finish.rml)
108        rm -f $(PARTS:%=%-mill.gp)
109        rm -f $(PARTS:%=%-finish.gp)
110
111spotless: clean
112        rm -f $(PARTS:%=%-mill.rml)
113        rm -f $(PARTS:%=%-finish.rml)
bacon/case/cam.sh
55done
66
77: ${MILL:=125mil}
8: ${OVERLAP:=0.5mm}
8: ${OVERLAP:=1.6mm}
99: ${X0:=0mm}
1010: ${Y0:=0mm}
1111: ${Z1:=0mm}
bacon/case/case.fpd
7676frame top_pcb {
7777    loop if = 1, top_pcb
7878
79    set off = topborder+topridge
79    set inside = topborder+topridge
8080
8181    frame top_outline @
82    ll: vec @(off, off)
83    RRECT(pcb_, ll, width-2*off, length-2*off, ri_ridge)
82    ro: vec @(topborder, topborder)
83    ri: vec ro(topridge, topridge)
84    RRECT(ridge_i_, ri, width-2*inside, length-2*inside, ri_ridge)
8485}
8586
8687frame top_ridge {
...... 
264265    { part, z, top_surface, top_window, top_pcb, top_ridge,
265266            mid_ridge, mid_pcb, mid_body,
266267            bot_posts, bot_base, bot_surface}
267    { "top_surface", 2.5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
268    { "top_window", 1.5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }
269// { "top_pcb", 0.5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }
268    { "top_surface", 3.3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
269    { "top_window", 2.3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }
270    { "top_pcb", 1.2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }
270271    { "top_ridge", 0.5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }
271    { "mid_ridge", 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }
272    { "mid_pcb", 1.0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }
273    { "mid_body", 4.5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }
272    { "mid_ridge", 0.6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }
273    { "mid_pcb", 1.2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }
274    { "mid_body", 4.7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }
274275    { "bot_posts", 1.2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }
275276    { "bot_base", 2.0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }
276277    { "bot_surface", 2.7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
...... 
291292
292293table
293294    /* usb_roff = offset from right outer case edge */
295    /* usb_d = 10 mm for prototypes (mini-USB); reduce to 6.0 mm for micro */
294296    { usb_w, usb_d, usb_roff }
295    { 8.5mm, 6.0mm, 4.5mm }
297    { 8.6mm, 10.0mm, 4.9mm }
296298
297299table
298300    /* post_y is from the edge of the battery bay. post_x is from the edge */
...... 
331333
332334measx top_outline.edge_ul -> top_outline.edge_ur 4mm
333335measy top_outline.edge_ll -> top_outline.edge_ul 4mm
334measx top_pcb.pcb_ul -> top_pcb.pcb_ur 3mm
335measy top_pcb.pcb_ll -> top_pcb.pcb_ul 3mm
336//measx top_pcb.pcb_ul -> top_pcb.pcb_ur 3mm
337//measy top_pcb.pcb_ll -> top_pcb.pcb_ul 3mm
336338
337339measx top_ridge.ridge_o_ul -> top_ridge.ridge_o_ur 4mm
338340measy top_ridge.ridge_o_ll -> top_ridge.ridge_o_ul 4mm
fisl2012/Makefile
1SHELL=/bin/bash
2
3#DL=USB.png Nano_cola.jpg Atben_atusb_prod_03.jpg Atben_atusb_prod_05.jpg \
4# M1_dmx_video.jpg \
5# UBB_production_08.JPG ubb-vga-pub-plugged-medium.jpg \
6# ubb-vga-pub-1024-medium.jpg SIE_KICAD.png
7#GEN=schhist.png fped.png kicad.png achieve.pdf flow.pdf
8#PNG=atusb-front.png
9
10.PHONY: spotless clean upload upload-es
11
12all: talk.pdf
13        xpdf talk.pdf
14
15talk.pdf: talk.tex $(GEN) $(DL) $(PNG)
16        pdflatex talk
17
18talk-es.pdf: talk-es.tex $(GEN) $(DL) $(PNG)
19        pdflatex talk-es
20
21kicad.png: eeschema.xwd pcbnew.xwd
22        pnmcomp -xoff=0 -yoff=300 \
23          <(convert eeschema.xwd ppm:-) \
24          <(convert pcbnew.xwd ppm:- | \
25            pnmpad -white -left=900 -bottom=300) | \
26          convert - $@
27
28schhist.png: schhist.xwd
29        convert $< $@
30
31fped.png: fped.xwd
32        convert $< $@
33
34USB.png:
35        wget http://projects.qi-hardware.com/schhist/atusb/847b3546d90d7271690bcd17014cf2cae9482538/diff/USB.png
36
37Nano_cola.jpg:
38        wget http://en.qi-hardware.com/w/images/7/78/Nano_cola.jpg
39
40Atben_atusb_prod_03.jpg:
41        wget http://en.qi-hardware.com/w/images/0/06/Atben_atusb_prod_03.jpg
42
43Atben_atusb_prod_05.jpg:
44        wget http://en.qi-hardware.com/w/images/c/ce/Atben_atusb_prod_05.jpg
45
46M1_dmx_video.jpg:
47        wget http://en.qi-hardware.com/w/images/5/55/M1_dmx_video.jpg
48
49UBB_production_08.JPG:
50        wget http://en.qi-hardware.com/w/images/8/83/UBB_production_08.JPG
51
52ubb-vga-pub-plugged-medium.jpg:
53        wget http://downloads.qi-hardware.com/people/werner/ubb/vga/web/ubb-vga-pub-plugged-medium.jpg
54
55ubb-vga-pub-1024-medium.jpg:
56        wget http://downloads.qi-hardware.com/people/werner/ubb/vga/web/ubb-vga-pub-1024-medium.jpg
57
58SIE_KICAD.png:
59    wget http://linuxencaja.com/images/9/9d/SIE_KICAD.png
60
61achieve.pdf: achieve.fig
62        fig2dev -L pdf $< $@
63
64flow.pdf: flow.fig
65        fig2dev -L pdf $< $@
66
67talk.ps: talk.pdf
68        pdf2ps $< $@
69
70p16: talk.ps
71        mpage -8 $< | lpr
72
73spotless:
74        rm -f $(DL)
75
76clean:
77        rm -f $(GEN) talk.ps
78
79upload: talk.pdf
80        qippl talk.pdf fisl13.pdf
fisl2012/abstract.txt
1Making Hardware with KiCad and Friends
2
3KiCad is a well-established Open Source EDA suite that provides tools
4for most of the basic tasks in circuit design. In larger projects,
5and especially those of an open and collaborative nature, additional
6requirements appear that KiCad can only partially satisfy.
7
8Specifically, collaborative projects benefit from visualization that
9helps to quickly follow the work of others and to track a project's
10revision history. Furthermore, an automated and thus easily
11reproducible workflow lowers the barrier of entry and avoids costly
12mistakes.
13
14In the Qi-Hardware project, we use KiCad as the centerpiece for various
15hardware designs and enhance its functionality with patches or external
16programs. This presentation will describe the complete workflow from
17design to fabrication, introduce the various tools we use to complement
18KiCad, and also briefly address common design rules.
fisl2012/bio.txt
1Werner got hooked on Linux in the days of the 0.12 kernel and started
2to get his hands dirty from early on with contributions like the LILO
3boot loader, the initial RAM disk (initrd), and the MS-DOS file system.
4Later activities led him into networking, with the Linux-ATM project as
5part of his PhD thesis, and he eventually landed in the Openmoko project.
6
7Having had a taste of hardware there, but eager to do more, he then
8journeyed deeper into the world of electronics and finally joined the
9Qi-Hardware project, where he now dabbles with making gadgets that aim
10to blend software and hardware under common principles of freedom.
fisl2012/talk.tex
1\documentclass[14pt,trans]{beamer}
2\usepackage{color}
3\usepackage{url}
4\usepackage{colortbl}
5%\usepackage{soul}
6%\usepackage{verbatim}
7\usefonttheme{structurebold}
8\setbeamertemplate{navigation symbols}{}
9\setbeamertemplate{items}[ball]
10%\setbeamersize{sidebar width left=-5mm}
11\title{\Large Making Hardware with KiCad and Friends}
12\author{Werner Almesberger \\\url{werner@almesberger.net}}
13\date{July 21, 2012}
14
15%\setul{}{1.5pt}
16
17\begin{document}
18
19\begin{frame}
20\titlepage
21\end{frame}
22
23% --- Overview ----------------------------------------------------------------
24
25\begin{frame}{Overview}
26\begin{itemize}
27  \item KiCad introduction
28  \item Qi-Hardware workflow
29  \item $\dots$ and tools
30\end{itemize}
31
32\url{downloads.qi-hardware.com/people/werner/fisl13.pdf}
33\end{frame}
34
35% --- KiCad Introduction ------------------------------------------------------
36
37\begin{frame}{KiCad}
38\begin{itemize}
39  \item Complete EDA solution
40  \item Free Software: GPL, LGPL
41  \item Text files $\rightarrow$ extensible
42  \item C++, wxWidgets
43  \item Multi-platform: Linux, Windows, Mac
44\end{itemize}
45\end{frame}
46
47% --- Schematics --------------------------------------------------------------
48
49\begin{frame}{KiCad: Schematics}
50eeschema + component editor: netlist, BOM
51
52SCREENSHOTS
53\end{frame}
54
55% --- Layout ------------------------------------------------------------------
56
57\begin{frame}{KiCad: Layout}
58cvpcb + pcbnew + module editor -> gerbers (gerbv)
59
60SCREENSHOTS
61\end{frame}
62
63% --- Fped --------------------------------------------------------------------
64
65\begin{frame}{Footprint Editor (fped)}
66%\begin{center}
67% \includegraphics[height=6cm]{fped.png}
68%\end{center}
69SCREENSHOT (highlight vector)
70
71\begin{itemize}
72  \item Fully parametric
73  \item Automated repetition (loops, tables, sub-frames)
74  \item GUI or text-based
75  \item Automatic measurements
76  \item Output: KiCad, Postscript, Gnuplot
77\end{itemize}
78\end{frame}
79
80% --- Qi-Hardware -------------------------------------------------------------
81
82\begin{frame}{Qi-Hardware}
83\begin{itemize}
84  \item Collection of loosely connected projects
85  \item Loose collective of like-minded developers
86  \item Copyleft Hardware with Free Software
87  \item Development and manufacturing
88  \item Toolmaking
89\end{itemize}
90
91Products:
92\begin{itemize}
93  \item Ben NanoNote (Handheld computer)
94  \item Ben-WPAN (IEEE 802.15.4 wireless)
95  \item Milkymist One (FPGA-based Video synthesizer)
96\end{itemize}
97\end{frame}
98
99% --- Collaborative Design ----------------------------------------------------
100
101\begin{frame}{Collaborative Design}
102\begin{itemize}
103  \item Track other people's work
104  \item Review other people's work (libraries)
105  \item Shared design information
106  \item Shared version control (git)
107  \item Shared procedures and rules
108\end{itemize}
109\end{frame}
110
111% --- KiCad Limitations -------------------------------------------------------
112
113\begin{frame}{KiCad Limitations}
114\begin{itemize}
115  \item No integrated version control system support
116  \item Integration leads to weak peripheral tools
117    \begin{itemize}
118      \item Footprint editor
119      \item Component catalog
120      \item Module catalog
121    \end{itemize}
122  \item Scattered libraries CHECK
123\end{itemize}
124\end{frame}
125
126% --- Qi-Wardware Adaptation --------------------------------------------------
127
128\begin{frame}{Qi-Hardware Adaptation}
129\begin{itemize}
130  \item Command-line oriented use
131  \item Extend KiCad with patches
132  \item External scripts/programs
133  \item Own component and module libraries with common rules
134\end{itemize}
135\end{frame}
136
137% --- What goes into git ------------------------------------------------------
138
139\begin{frame}{What goes into git}
140KiCad:
141\begin{itemize}
142  \item Project file: {\tt {\em project}.pro}
143  \item Schematics: {\tt {\em project}.sch}, {\tt {\em subsheet}.sch}
144  \item Footprint mapping: {\tt {\em project}.cmp}
145  \item Layout: {\tt {\em project}.brd}
146\end{itemize}
147
148Qi-Hardware:
149\begin{itemize}
150  \item Makefile ({\tt sch}, {\tt brd}, {\tt fab}, {\tt clean})
151  \item Bookshelf (for dsv)
152  \item Project-local libraries
153\end{itemize}
154\end{frame}
155
156% --- What doesn't ------------------------------------------------------------
157
158\begin{frame}{What doesn't}
159KiCad:
160\begin{itemize}
161  \item Netlist: {\tt {\em project}.net} \\
162    Generate with eeschema from {\tt *.sch} and {\tt {\em project}.cmp}
163  \item Caches and backups: {\tt {\em project}.bak}, {\tt {\em project}.000},
164    {\tt {\em project}-cache.lib}
165  \item Postscript: {\tt {\em project}-{\em layer}.g{\em XX}}
166  \item Gerbers: {\tt {\em project}-{\em layer}.g{\em XX}}
167  \item BOMs: {\tt {\em project}.lst}, {\tt {\em project}.cvs}
168  \item Fab outputs: {\tt {\em project}.drl}, {\tt {\em project}.pos}
169  \item And so on: {\tt {\em project}.erc}, {\tt {\em project}.rpt},
170    {\tt {\em project}.wrl}, $\ldots$
171\end{itemize}
172\end{frame}
173
174% --- Project File ------------------------------------------------------------
175
176\begin{frame}{Project File}
177Project settings. Lists of libraries.
178
179Issues:
180\begin{itemize}
181  \item Local absolute paths
182  \item Default libraries
183  \item Timestamps $\rightarrow$ commit noise
184\end{itemize}
185
186Solution:
187\begin{itemize}
188  \item Maintain manually
189  \item {\tt purge} script \\
190    \url{wernermisc/bin/purge}
191\end{itemize}
192\end{frame}
193
194% --- Makefile ----------------------------------------------------------------
195
196\begin{frame}[fragile]{Makefile}
197Issues:
198\begin{itemize}
199  \item Shortcuts
200  \item Glue tools together
201  \item Avoid mistakes
202  \item Share common procedures
203\end{itemize}
204
205Example:
206\begin{verbatim}
207front:
208    pcbnew --plot=ps --plot-fill-all-zones --layers=Front \
209      --plot-mirror $(PROJECT).brd
210    lpr $(PROJECT)-Front.ps
211\end{verbatim}
212\end{frame}
213
214% --- KiCad Command-Line Patches ----------------------------------------------
215
216\begin{frame}{KiCad Command-Line Patches}
217Original hack by Werner Almesberger, clean rewrite by Wolfgang Spraul.
218\begin{itemize}
219  \item Idea: command-line access to main output functions
220  \item eeschema
221    \begin{itemize}
222      \item Visualization: Postscript (and SVG, DXF)
223      \item BOM $\rightarrow$ BOOM
224      \item Netlist, ERC
225    \end{itemize}
226  \item pcbnew
227    \begin{itemize}
228      \item Fabrication: Gerbers, drill (Excellon), component positions
229      \item Visualization and DIY: Postscript
230      \item Attributes: mirror, size, origin, fill zones, $\ldots$
231    \end{itemize}
232\end{itemize}
233
234\url{eda-tools/kicad-patches}
235\end{frame}
236
237% --- Data Sheet Viewer (dsv) -------------------------------------------------
238
239\begin{frame}[fragile]{Data Sheet Viewer (dsv)}
240\begin{itemize}
241  \item Bookshelf: name and aliases $rightarrow$ PDF or ZIP with PDF
242  \item Download (wget) to local cache
243  \item Hierarchical lookup by name or alias
244  \item Example: \\
245    {\tt dsv avr} $\rightarrow$ ATtiny87 ({\tt doc8265.pdf})
246      $\rightarrow$ xpdf
247\end{itemize}
248
249Bookshelf example:
250
251\begin{verbatim}
252N: attiny87
253A: attiny167
254A: avr
255D: http://www.atmel.com/Images/doc8265.pdf
256\end{verbatim}
257\end{frame}
258
259% --- Data Sheet Viewer (dsv) -------------------------------------------------
260
261\begin{frame}{dsv Motivation}
262\begin{itemize}
263  \item Make sure everybody uses the same data sheet
264    \begin{itemize}
265      \item Same component
266      \item Same manufacturer
267      \item Same data sheet revision
268    \end{itemize}
269  \item Copyright: can't just check in PDF
270  \item Industrial pragmatism: mail or ``internal'' repository
271  \item Qi-Hardware: send {\tt BOOKSHELF} around
272\end{itemize}
273
274\url{eda-tools/dsv}
275\end{frame}
276
277% --- Schematics Symbol Catalog ----------------------------------------------
278
279\begin{frame}{Schematics Symbol Catalog}
280\begin{itemize}
281  \item For selection, review
282  \item Hierarchical order with alphabetic index
283  \item Short descriptions and data sheet links
284  \item Added value: indicate pin types
285  \item TODO: connect to dsv
286\end{itemize}
287
288DRAWING (hierarchy + descr + com libs ---genkicat--> PDF)
289\end{frame}
290
291% --- Footprint Catalog ------------------------------------------------------
292
293\begin{frame}{Footprint Catalog}
294\begin{itemize}
295  \item Likewise, for footprints
296  \item Added value: measurements, pad types
297\end{itemize}
298
299DRAWING (hierarchy + descr + com libs ---genkicat--> PDF)
300
301\url{eda-tools/genkicat}
302\end{frame}
303
304% --- Schematics History ------------------------------------------------------
305
306\begin{frame}{Schematics History}
307\begin{itemize}
308  \item Schematics revision history
309  \item {\tt git diff} produces gibberish
310\end{itemize}
311
312EXAMPLE
313
314\url{http://projects.qi-hardware.com/schhist/}
315\end{frame}
316
317% --- Schematics History (cont'd) ---------------------------------------------
318
319\begin{frame}{Schematics History (cont'd)}
320How it works:
321\begin{itemize}
322  \item Walk git revision history
323  \item Check out project whenever schematics change
324  \item Run eeschema to make Postscript
325  \item Convert to PNG (find diffs, with highlighting) and PDF
326  \item Wrap in HTML
327\end{itemize}
328
329Issues:
330\begin{itemize}
331  \item Nasty shell script
332  \item Resource-hungry (partial caching)
333  \item Large schematics get confusing
334  \item Projects spanning multiple repositories
335\end{itemize}
336
337\url{eda-tools/schhist}
338\end{frame}
339
340% --- Layout History ----------------------------------------------------------
341
342\begin{frame}{Layout History}
343\begin{itemize}
344  \item Layout revision history
345  \item To do $\ldots$
346\end{itemize}
347
348\url{eda-tools/brdhist}
349\end{frame}
350
351% --- Gerber Renderer ---------------------------------------------------------
352
353\begin{frame}{Gerber Renderer}
354\begin{itemize}
355  \item ``Photorealistic'' view of PCB
356  \item Combines Gerber and Excellon
357  \item Easy see issues with solder paste, silk screen, solder mask, $\ldots$
358  \item Uses gerbv for rendering
359\end{itemize}
360
361EXAMPLE
362
363\url{eda-tools/prettygerbv}
364\end{frame}
365
366% --- BOM Processor -----------------------------------------------------------
367
368\begin{frame}{BOM Processor (BOOM)}
369\begin{itemize}
370  \item BOM $\rightarrow$ select components $\rightarrow$ find supplier
371     $\rightarrow$ shopping list
372  \item Work in progress. Rewrite from Perl to C
373    \begin{itemize}
374      \item Faster
375      \item Less headache with data structures
376      \item Better parsing
377    \end{itemize}
378  \item Snag: Digi-Key spider no longer works
379  \item Future: help with component selection
380\end{itemize}
381
382\url{eda-tools/b2}
383\end{frame}
384
385% --- BOOM Data Flow ----------------------------------------------------------
386
387\begin{frame}{BOOM Data Flow}
388DRAWING
389\end{frame}
390
391% --- Schematics Design Rules -------------------------------------------------
392
393\begin{frame}{Schematics Design Rules}
394...
395
396URL
397\end{frame}
398
399% --- Libraries ---------------------------------------------------------------
400
401\begin{frame}{Libraries}
402Goals:
403\begin{itemize}
404  \item Consistent naming
405  \item Known origin of design information
406  \item Documented development process
407\end{itemize}
408
409To do:
410\begin{itemize}
411  \item Improve organization
412  \item Better integrate background information
413  \item Reviews !
414\end{itemize}
415
416\url{kicad-libs/components}, \url{kicad-libs/modueles}
417\end{frame}
418
419% --- Qi-Hardware Workflow ----------------------------------------------------
420
421\begin{frame}{Qi-Hardware Workflow}
422DIAGRAM
423\end{frame}
424
425% --- Conclusion --------------------------------------------------------------
426
427\begin{frame}{Conclusion}
428\begin{itemize}
429  \item KiCad is a good basis for collaborative projects
430  \item Open design allows extension with scripts
431  \item Workflow is complex and needs careful consideration
432\end{itemize}
433
434To do:
435\begin{itemize}
436  \item Spread the word
437  \item Improve quality of libraries
438  \item Integrate patches into mainline KiCad
439  \item Finish BOOM and write brdhist
440\end{itemize}
441\end{frame}
442
443\end{document}
ircstat/ML
442009 85 141 137 157 99 145
552010 180 180 263 214 412 218 492 295 260 132 116 174
662011 150 155 125 108 71 127 49 106 129 69 71 33
72012 39 20 38 36 15
72012 39 20 38 36 15 23
88
99http://lists.milkymist.org/pipermail/devel-milkymist.org/
1010
...... 
12122009 3 8 15 27 33 14 24 14
13132010 29 28 36 28 22 25 35 14 27 39 17 12
14142011 61 43 59 81 17 48 43 35 24 78 116 183
152012 52 67 48 30 35
152012 52 67 48 30 36 16

Archive Download the corresponding diff file

Branches:
master



interactive