Browse Source

ok

master
Your Name 4 years ago
parent
commit
9f8c8ab393
74 changed files with 352162 additions and 2 deletions
  1. +1
    -1
      Attiny_Solar_Energy_Harvest/docs/10.log
  2. BIN
      Attiny_Solar_Energy_Harvest/docs/10.pdf
  3. +18
    -0
      Attiny_Solar_Energy_Harvest/docs/17.aux
  4. +345
    -0
      Attiny_Solar_Energy_Harvest/docs/17.log
  5. BIN
      Attiny_Solar_Energy_Harvest/docs/17.pdf
  6. +253
    -0
      Attiny_Solar_Energy_Harvest/docs/17.tex
  7. +211
    -0
      Attiny_Solar_Energy_Harvest/docs/17.tex~
  8. +19
    -0
      Attiny_Solar_Energy_Harvest/docs/18.aux
  9. +345
    -0
      Attiny_Solar_Energy_Harvest/docs/18.log
  10. BIN
      Attiny_Solar_Energy_Harvest/docs/18.pdf
  11. +270
    -0
      Attiny_Solar_Energy_Harvest/docs/18.tex
  12. +256
    -0
      Attiny_Solar_Energy_Harvest/docs/18.tex~
  13. +20
    -0
      Attiny_Solar_Energy_Harvest/docs/19.aux
  14. +345
    -0
      Attiny_Solar_Energy_Harvest/docs/19.log
  15. BIN
      Attiny_Solar_Energy_Harvest/docs/19.pdf
  16. +273
    -0
      Attiny_Solar_Energy_Harvest/docs/19.tex
  17. +270
    -0
      Attiny_Solar_Energy_Harvest/docs/19.tex~
  18. +27
    -0
      OV7670_Image_Sensor/footprints/PinHeader_1x01_EDIT.kicad_mod
  19. +23
    -0
      OV7670_Image_Sensor/footprints/PinHeader_1x05_P2.54mm_ProtoBoard_Rev.kicad_mod
  20. +44
    -0
      OV7670_Image_Sensor/footprints/PinHeader_1x20_P1.27mm_ProtoBoard_Rev.kicad_mod
  21. +3
    -0
      OV7670_Image_Sensor/pcb/fp-lib-table
  22. BIN
      OV7670_Image_Sensor/pcb/gerbers/ov7670.zip
  23. +2523
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-B.Cu.gbl
  24. +14
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-B.Fab.gbr
  25. +6697
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-B.Mask.gbs
  26. +15
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-B.Paste.gbp
  27. +817
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-B.SilkS.gbo
  28. +38
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-Edge.Cuts.gm1
  29. +3378
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-F.Cu.gtl
  30. +6140
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-F.Fab.gbr
  31. +6999
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-F.Mask.gts
  32. +625
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-F.Paste.gtp
  33. +305
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb-F.SilkS.gto
  34. +153
    -0
      OV7670_Image_Sensor/pcb/gerbers/pcb.drl
  35. +163
    -0
      OV7670_Image_Sensor/pcb/pcb-cache.lib
  36. +273
    -0
      OV7670_Image_Sensor/pcb/pcb.bak
  37. +1467
    -0
      OV7670_Image_Sensor/pcb/pcb.kicad_pcb
  38. +1467
    -0
      OV7670_Image_Sensor/pcb/pcb.kicad_pcb-bak
  39. +238
    -0
      OV7670_Image_Sensor/pcb/pcb.net
  40. +41
    -0
      OV7670_Image_Sensor/pcb/pcb.pro
  41. +273
    -0
      OV7670_Image_Sensor/pcb/pcb.sch
  42. +838
    -0
      OV7670_Image_Sensor/resources/arduino-ov7670-10fps
  43. +1
    -1
      Prototyping_Board/docs/1.log
  44. BIN
      Prototyping_Board/docs/1.pdf
  45. +3
    -0
      Prototyping_Board/docs/2.aux
  46. +274
    -0
      Prototyping_Board/docs/2.log
  47. BIN
      Prototyping_Board/docs/2.pdf
  48. +49
    -0
      Prototyping_Board/docs/2.tex
  49. +42
    -0
      Prototyping_Board/docs/2.tex~
  50. +2
    -0
      Prototyping_Board/docs/2.toc
  51. +3
    -0
      Prototyping_Board/docs/3.aux
  52. +270
    -0
      Prototyping_Board/docs/3.log
  53. BIN
      Prototyping_Board/docs/3.pdf
  54. +49
    -0
      Prototyping_Board/docs/3.tex
  55. +2
    -0
      Prototyping_Board/docs/3.toc
  56. +16
    -0
      Prototyping_Board/footprints/PinHeader_1x01_P1.27mm_Vertical_EDIT.kicad_mod
  57. +9149
    -0
      Prototyping_Board/footprints/giant_otter_araisan_mansion.kicad_mod
  58. +40028
    -0
      Prototyping_Board/pcb_perf/EDIT_C.kicad_pcb
  59. +25894
    -0
      Prototyping_Board/pcb_perf/EDIT_C.kicad_pcb-bak
  60. +33
    -0
      Prototyping_Board/pcb_perf/EDIT_C.pro
  61. +3
    -0
      Prototyping_Board/pcb_perf/fp-lib-table
  62. +52733
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-B.Mask.gbs
  63. +5323
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-B.SilkS.gbo
  64. +7177
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-Back.gbl
  65. +40
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-Edge.Cuts.gm1
  66. +52733
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-F.Mask.gts
  67. +115270
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-F.SilkS.gto
  68. +6005
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C-Front.gtl
  69. +1876
    -0
      Prototyping_Board/pcb_perf/gerbers/EDIT_C.drl
  70. BIN
      Prototyping_Board/pcb_perf/gerbers/proto_perf_board.zip
  71. BIN
      Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__dc7e429ae15b76a2c8408b09143ad5e3.jpg
  72. BIN
      Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__edit.xcf
  73. BIN
      Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__edit2.bmp
  74. BIN
      Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__edit2.xcf

+ 1
- 1
Attiny_Solar_Energy_Harvest/docs/10.log View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 28 MAR 2020 01:52
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 1 APR 2020 22:07
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.

BIN
Attiny_Solar_Energy_Harvest/docs/10.pdf View File


+ 18
- 0
Attiny_Solar_Energy_Harvest/docs/17.aux View File

@ -0,0 +1,18 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Attiny Solar Energy Harvest Tests}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Micro Considerations}{1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Micro Notes}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Energy Storage}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Make parts, not scrap}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Programming}{2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.1}Testing Arduino Loader}{2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.2}Conclusion on Arduino Programming Attiny10}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.3}IO Port Switching Speed}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.4}VCC 1.8V}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Application}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.1}Magnetic Current Sensor}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.2}Accelerometers}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.3}Temperature Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.4}Gas Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.5}Supercap}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.6}Hall Effect Sensors - Push Pull vs Open Drain Outputs}{8}}

+ 345
- 0
Attiny_Solar_Energy_Harvest/docs/17.log View File

@ -0,0 +1,345 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 1 APR 2020 23:35
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/
Attiny_Solar_Energy_Harvest/docs/17.tex
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/A
ttiny_Solar_Energy_Harvest/docs/17.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count88
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/09/12 v5.6 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count89
\Gm@cntv=\count90
\c@Gm@tempcnt=\count91
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./17.aux)
\openout1 = `17.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count92
\scratchdimen=\dimen120
\scratchbox=\box26
\nofMPsegments=\count93
\nofMParguments=\count94
\everyMPshowfont=\toks16
\MPscratchCnt=\count95
\MPscratchDim=\dimen121
\MPnumerator=\count96
\makeMPintoPDFobject=\count97
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: Try loading font information for OMS+cmr on input line 22.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 22.
Underfull \hbox (badness 10000) in paragraph at lines 34--37
[]
Underfull \hbox (badness 10000) in paragraph at lines 34--37
[]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 41.
[1
Non-PDF special ignored!
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
[2] [3] [4]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
[5]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
[6] [7]
Overfull \hbox (2319.18137pt too wide) in paragraph at lines 249--249
[]\OT1/cmtt/m/n/10.95 9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the
lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputd
riveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpu
llupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan
be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the v
oltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayo
fsensors
[]
[8] (./17.aux) )
Here is how much of TeX's memory you used:
3526 strings out of 494945
53602 string characters out of 6181032
120046 words of memory out of 5000000
6804 multiletter control sequences out of 15000+600000
8977 words of font info for 32 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
39i,8n,38p,877b,250s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive
/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-d
ist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fo
nts/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on 17.pdf (8 pages, 125085 bytes).
PDF statistics:
63 PDF objects out of 1000 (max. 8388607)
44 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
Attiny_Solar_Energy_Harvest/docs/17.pdf View File


+ 253
- 0
Attiny_Solar_Energy_Harvest/docs/17.tex View File

@ -0,0 +1,253 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
%\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\textcolor{green!60!blue!70}{
\subsection{Micro Considerations}}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\textcolor{green!60!blue!70}{
\subsubsection{Micro Notes}}
Must run at 1.8V / 1MHz per front page of data sheet, for 200uA draw in active mode.
\\
\\
\textcolor{green!60!blue!70}{
\subsection{Energy Storage}}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\textcolor{green!60!blue!70}{ \subsection{Make parts, not scrap}} I will
want to make sure that all parts I build are perf board parts, not
breadboard scrap (to be torn down and rebuilt again). This is an Attiny,
so no need to test much, yet.
\textcolor{green!60!blue!70}{
\subsection{Programming}}
To program the Attiny10, I'll use the Arduino adapter from the Junk + Arduino blog. I built it up\footnote{Had slight error where the Arduino + board wouldn't read - pins too short on headers, then the arduino wouldn't boot - due to bad connection on perf board shield. Thankfully, the USB port didn't try to run. Protection circuitry cut in on the laptop.}, and was able to Read the memory. In order to upload to the board, you will need a compiler setup. You can possibly do it in AVRGCC, but instead I opted for either Arduino IDE (via Attiny10Core which didn't work), and then went to Mplab. In order for mplab 5.25 to work, it will need XC8 compiler, and there is a pack that can be downloaded through the IDE to get Attiny10 support.
It appears the AVR Dragon (which I have) can not be used. However, other programmers can be used. Pickit 4, Mkavrii, stk600, I think.
\textcolor{green!60!blue!70}{ \subsubsection{Testing Arduino Loader}}
Tested this with the blink\_LED.c in code folder. The code is as simple as possible.
It is the following:
\begin{verbatim}
//#include <xc.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// PB2 output
DDRB = 1<<2;
while(1)
{
// Toggle PB2
PINB = 1<<2;
_delay_ms(500);
}
}
\end{verbatim}
When programmed in Mplab, with XC8 compiler, and Attiny10 support, I get the following
hex output:
\begin{verbatim}
:100000000AC020C01FC01EC01DC01CC01BC01AC01B
:1000100019C018C017C011271FBFCFE5D0E0DEBF41
:0A002000CDBF03D000C0F894FFCF5D
:10002A0044E041B940B95FE966E871E05150604087
:0A003A007040E1F700C00000F5CFB0
:02004400DDCF0E
:00000001FF
\end{verbatim}
The content of this hex isn't the focus of this passage. Instead, I want you to review the
results of a D for Dump Memory, by the Arduino Loader.
\begin{verbatim}
Current memory state:
registers, SRAM
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 03 00 00 79 00 03 00 00 00 00
0040: B7 AD AE FA 58 70 63 6B FB 5A B4 1B FF FF 35 3F
0050: 67 D7 33 43 DF 5F FB 72 C9 7D FE E9 9D C5 00 12
NVM lock
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F00: FF FF
configuration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F40: FF FF
calibration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F80: 79 FF
device ID
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3FC0: 1E 90 03 FF
program
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
4000: 0A C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
4010: 19 C0 18 C0 17 C0 11 27 1F BF CF E5 D0 E0 DE BF
4020: CD BF 03 D0 00 C0 F8 94 FF CF 44 E0 41 B9 40 B9
4030: 5F E9 66 E8 71 E0 51 50 60 40 70 40 E1 F7 00 C0
4040: 00 00 F5 CF DD CF FF FF FF FF FF FF FF FF FF FF
4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
(...some memory omitted here for brevity...)
43E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
43F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
\end{verbatim}
Notice that the "AC020C01F" is set. That is from the hex. But the 01000...
before it seems to be missing. Some deciphering of how the Arduino programs
the Attiny is in order here. It also doesn't end the same.
Regardless, when programming, the Arduino reports 70 bytes written, and
likewise in the Mplab project memorymap.xml file, it also notes 70 bytes
for the sketch. This lines up.\footnote{Although for an unknown reason, every command registers twice on the Arduino serial monitor, but this appears to be harmless.}
The blinking LED works. Let's move on.
\textcolor{green!60!blue!70}{\subsubsection{Conclusion on Arduino Programming Attiny10}}
It's possible, but you have to make a dedicated jig (almost), so it might be easier to use the official programming tools. However, based on this https://www.avrfreaks.net/forum/pickit-4-and-avr-mcu I might not have a choice. So I will use the Arduino for now. But will have to devise what on board parts are req'd for programming, and incorporate into proto board layout.
\textcolor{green!60!blue!70}{ \subsubsection{IO Port Switching Speed}}
Using the above code without any delay\_ms, I get the following results from a default clock
speed, and a 128KHz clock speed. This test was done to confirm that I could change the clock with
\begin{verbatim}
//Write CCP
CCP = 0xD8;
//change CLK to 128KHz
CLKMSR = 0b01;
\end{verbatim}
There was no issue.
\begin{verbatim}
Default CLK (8MHz? or 1MHz?): 160KHz IO Switch
128KHz CLK: 2.5KHz IO Switch
\end{verbatim}
I am going to pursue 128KHz for starters, for lower current dissipation. Note that with the Arduino loader, it is cumbersome to test and change code as you move along. It is
therefore going to be necessary to use a programmer, with a dedicated header on board.
\textcolor{green!60!blue!70}{ \subsubsection{VCC 1.8V}}
The lowest power supported: 1.8V can be applied, without any configuration
needed. It does not affect IO switching speed (although obviously amplitude is affected).
\begin{verbatim}
128KHz CLK (5.0V): 2.5256 KHz IO switch
128KHz CLK (3.3V): 2.5477 KHz IO switch
128KHz CLK (1.8V): 2.5849 KHz IO switch
\end{verbatim}
As voltage drops, IO increases.
\\
\\
\textbf{VCC Dropout voltage:}
\\
From 1.5, it drops out at 1.248V or so. Comes back at about 1.34V
\\
\\
Test size of 1.
\\
\\
Can't run this with one (AA) battery, but you could with 2.
\\
\\
Current Draw: 128KHz - IO test, 1.8V, 0.08mA (~78uA) (tested w/3478A)
\\
\\
\textcolor{green!60!blue!70}{\subsection{Application}}
First, I need a board for these and a programmer, to quickly program. Second, I need an application. I want extremely low power. Hopefully, solar with no batteries, to start. This is extremely low - that is the point. Let's keep this ridiculous.
Given the power requirements put me under 1mA (with my current panels), I'm considering the following: EEPROMs would require SPI protocol. Doable, but overcomplicated for now.
\\
\\
Eink (need to find a small and cheap enough option. So far, they have either too many pins, and/or use too much current. Something like what stores use to display prices would work, but that doesn't get the data out, only makes it readable.),
\\
\\
Third option would be RF. That is a viable path, but not today. Let's skip that for now.
\\
\\
Fourth option that comes to mind is IR. IR diodes, as in TV remotes, would work well here. I am choosing this as the first project. I will have dumb clients, that consist of - Attiny / IR / Sensor powered by solar. I will have a BBB that receives the IR data, and does all intelligent data gathering. To keep things simple, the IR will be binary ADC data, or otherwise sensor numbers. No SPI, no protocol complexity. That would require space on the Attiny.
\\
\\
Let's build some boards based on the above.
\\
\\
For sensors:
While building, I came across an option. Hall effect sensors. I think also capacitive sensors can be used. This may find a use in a gate sensor, for when a driveway gate is opened or closed. With a small battery, it would work for years.
Footprints: I had to make a footprint for this module on board package for one sensor. The solution to get footprints right? copy graphic image and make it into silkscreen on the board. Easy.
The sensor I looked at was a temp and humidity sensor SHT11 (SHT10 is obsolete). It is low power enough. However, it's \$20. So not in my price range. Otherwise, it would work here. Looks like communication is a shift register, or SPI.
\subsubsection{Magnetic Current Sensor}
There is this:
BM14270AMUV-LB
Which is low enough current here (<1mA). But \$7 in qty, and req's I2C. Not today.
\subsubsection{Accelerometers}
These are an option.
Best pinout (for deadbug) is LIS344ALHTR (but lacks vcc down to 1.8)
2nd Best pinout with full 1.8 -3.6 vcc is ADXL337BCPZ-RL7
(Keep in mind, these are low end options only)
(Analog output only. keep it simple for now.)
Runner up to all above, is KXTC9-2050-FR . But has worse pinout.
Going with AD part. \$5 in single qty.
Digital output Accelmeters are cheaper.
All have tiny package sizes.
Since I am grabbing 1 output only, will need to orient or choose correct output.
\subsubsection{Temperature Sensors}
Temperature can be boring, but why not. Let's throw one of these on: LMT84LP . Pin compatible with LM35. Supply current is maybe 8uA. Extremely low.
LM84 (1.5V starts, to 5.5), LM85 (1.8V to 5.5)
\subsubsection{Gas Sensors}
Lowest is 5mV as of writing on dkey. Skipping.
\subsubsection{Supercap}
For now, trying this:
FG0V155ZF
\subsubsection{Hall Effect Sensors - Push Pull vs Open Drain Outputs}
\begin{verbatim}9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputdriveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpullupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the voltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayofsensors \end{verbatim} From DRV5032 data sheet.
\end{document}

+ 211
- 0
Attiny_Solar_Energy_Harvest/docs/17.tex~ View File

@ -0,0 +1,211 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
%\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\textcolor{green!60!blue!70}{
\subsection{Micro Considerations}}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\textcolor{green!60!blue!70}{
\subsubsection{Micro Notes}}
Must run at 1.8V / 1MHz per front page of data sheet, for 200uA draw in active mode.
\\
\\
\textcolor{green!60!blue!70}{
\subsection{Energy Storage}}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\textcolor{green!60!blue!70}{ \subsection{Make parts, not scrap}} I will
want to make sure that all parts I build are perf board parts, not
breadboard scrap (to be torn down and rebuilt again). This is an Attiny,
so no need to test much, yet.
\textcolor{green!60!blue!70}{
\subsection{Programming}}
To program the Attiny10, I'll use the Arduino adapter from the Junk + Arduino blog. I built it up\footnote{Had slight error where the Arduino + board wouldn't read - pins too short on headers, then the arduino wouldn't boot - due to bad connection on perf board shield. Thankfully, the USB port didn't try to run. Protection circuitry cut in on the laptop.}, and was able to Read the memory. In order to upload to the board, you will need a compiler setup. You can possibly do it in AVRGCC, but instead I opted for either Arduino IDE (via Attiny10Core which didn't work), and then went to Mplab. In order for mplab 5.25 to work, it will need XC8 compiler, and there is a pack that can be downloaded through the IDE to get Attiny10 support.
It appears the AVR Dragon (which I have) can not be used. However, other programmers can be used. Pickit 4, Mkavrii, stk600, I think.
\textcolor{green!60!blue!70}{ \subsubsection{Testing Arduino Loader}}
Tested this with the blink\_LED.c in code folder. The code is as simple as possible.
It is the following:
\begin{verbatim}
//#include <xc.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// PB2 output
DDRB = 1<<2;
while(1)
{
// Toggle PB2
PINB = 1<<2;
_delay_ms(500);
}
}
\end{verbatim}
When programmed in Mplab, with XC8 compiler, and Attiny10 support, I get the following
hex output:
\begin{verbatim}
:100000000AC020C01FC01EC01DC01CC01BC01AC01B
:1000100019C018C017C011271FBFCFE5D0E0DEBF41
:0A002000CDBF03D000C0F894FFCF5D
:10002A0044E041B940B95FE966E871E05150604087
:0A003A007040E1F700C00000F5CFB0
:02004400DDCF0E
:00000001FF
\end{verbatim}
The content of this hex isn't the focus of this passage. Instead, I want you to review the
results of a D for Dump Memory, by the Arduino Loader.
\begin{verbatim}
Current memory state:
registers, SRAM
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 03 00 00 79 00 03 00 00 00 00
0040: B7 AD AE FA 58 70 63 6B FB 5A B4 1B FF FF 35 3F
0050: 67 D7 33 43 DF 5F FB 72 C9 7D FE E9 9D C5 00 12
NVM lock
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F00: FF FF
configuration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F40: FF FF
calibration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F80: 79 FF
device ID
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3FC0: 1E 90 03 FF
program
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
4000: 0A C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
4010: 19 C0 18 C0 17 C0 11 27 1F BF CF E5 D0 E0 DE BF
4020: CD BF 03 D0 00 C0 F8 94 FF CF 44 E0 41 B9 40 B9
4030: 5F E9 66 E8 71 E0 51 50 60 40 70 40 E1 F7 00 C0
4040: 00 00 F5 CF DD CF FF FF FF FF FF FF FF FF FF FF
4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
(...some memory omitted here for brevity...)
43E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
43F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
\end{verbatim}
Notice that the "AC020C01F" is set. That is from the hex. But the 01000...
before it seems to be missing. Some deciphering of how the Arduino programs
the Attiny is in order here. It also doesn't end the same.
Regardless, when programming, the Arduino reports 70 bytes written, and
likewise in the Mplab project memorymap.xml file, it also notes 70 bytes
for the sketch. This lines up.\footnote{Although for an unknown reason, every command registers twice on the Arduino serial monitor, but this appears to be harmless.}
The blinking LED works. Let's move on.
\textcolor{green!60!blue!70}{\subsubsection{Conclusion on Arduino Programming Attiny10}}
It's possible, but you have to make a dedicated jig (almost), so it might be easier to use the official programming tools. However, based on this https://www.avrfreaks.net/forum/pickit-4-and-avr-mcu I might not have a choice. So I will use the Arduino for now. But will have to devise what on board parts are req'd for programming, and incorporate into proto board layout.
\textcolor{green!60!blue!70}{ \subsubsection{IO Port Switching Speed}}
Using the above code without any delay\_ms, I get the following results from a default clock
speed, and a 128KHz clock speed. This test was done to confirm that I could change the clock with
\begin{verbatim}
//Write CCP
CCP = 0xD8;
//change CLK to 128KHz
CLKMSR = 0b01;
\end{verbatim}
There was no issue.
\begin{verbatim}
Default CLK (8MHz? or 1MHz?): 160KHz IO Switch
128KHz CLK: 2.5KHz IO Switch
\end{verbatim}
I am going to pursue 128KHz for starters, for lower current dissipation. Note that with the Arduino loader, it is cumbersome to test and change code as you move along. It is
therefore going to be necessary to use a programmer, with a dedicated header on board.
\textcolor{green!60!blue!70}{ \subsubsection{VCC 1.8V}}
The lowest power supported: 1.8V can be applied, without any configuration
needed. It does not affect IO switching speed (although obviously amplitude is affected).
\begin{verbatim}
128KHz CLK (5.0V): 2.5256 KHz IO switch
128KHz CLK (3.3V): 2.5477 KHz IO switch
128KHz CLK (1.8V): 2.5849 KHz IO switch
\end{verbatim}
As voltage drops, IO increases.
\\
\\
\textbf{VCC Dropout voltage:}
\\
From 1.5, it drops out at 1.248V or so. Comes back at about 1.34V
\\
\\
Test size of 1.
\\
\\
Can't run this with one (AA) battery, but you could with 2.
\\
\\
Current Draw: 128KHz - IO test, 1.8V, 0.08mA (~78uA) (tested w/3478A)
\\
\\
\textcolor{green!60!blue!70}{\subsection{Application}}
First, I need a board for these and a programmer, to quickly program. Second, I need an application. I want extremely low power. Hopefully, solar with no batteries, to start. This is extremely low - that is the point.
Given the power requirements put me under 1mA (with my current panels), I'm considering the following: EEPROMs would require SPI protocol. Doable, but overcomplicated for now.
\\
\\
Eink (need to find a small and cheap enough option. So far, they have either too many pins, and/or use too much current. Something like what stores use to display prices would work, but that doesn't get the data out, only makes it readable.),
\\
\\
Third option would be RF. That is a viable path, but not today. Let's skip that for now.
\\
\\
Fourth option that comes to mind is IR. IR diodes, as in TV remotes, would work well here. I am choosing this as the first project. I will have dumb clients, that consist of - Attiny / IR / Sensor powered by solar. I will have a BBB that receives the IR data, and does all intelligent data gathering. To keep things simple, the IR will be binary ADC data, or otherwise sensor numbers. No SPI, no protocol complexity. That would require space on the Attiny.
\\
\\
Let's build some boards based on the above.
\\
\\
For sensors:
While building, I came across an option. Hall effect sensors. I think also capacitive sensors can be used. This may find a use in a gate sensor, for when a driveway gate is opened or closed. With a small battery, it would work for years.
Footprints: I had to make a footprint for this module on board package for one sensor. The solution to get footprints right? copy graphic image and make it into silkscreen on the board. Easy.
\subsubsection{Hall Effect Sensors}
\begin{verbatim}9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputdriveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpullupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the voltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayofsensors \end{verbatim}
\end{document}

+ 19
- 0
Attiny_Solar_Energy_Harvest/docs/18.aux View File

@ -0,0 +1,19 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Attiny Solar Energy Harvest Tests}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Micro Considerations}{1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Micro Notes}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Energy Storage}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Make parts, not scrap}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Programming}{2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.1}Testing Arduino Loader}{2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.2}Conclusion on Arduino Programming Attiny10}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.3}IO Port Switching Speed}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.4}VCC 1.8V}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Application}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.1}Magnetic Current Sensor}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.2}Accelerometers}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.3}Temperature Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.4}Gas Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.5}Supercap}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.6}Hall Effect Sensors - Push Pull vs Open Drain Outputs}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.6}Starting Sensors}{8}}

+ 345
- 0
Attiny_Solar_Energy_Harvest/docs/18.log View File

@ -0,0 +1,345 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 1 APR 2020 23:39
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/
Attiny_Solar_Energy_Harvest/docs/18.tex
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/A
ttiny_Solar_Energy_Harvest/docs/18.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count88
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/09/12 v5.6 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count89
\Gm@cntv=\count90
\c@Gm@tempcnt=\count91
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./18.aux)
\openout1 = `18.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count92
\scratchdimen=\dimen120
\scratchbox=\box26
\nofMPsegments=\count93
\nofMParguments=\count94
\everyMPshowfont=\toks16
\MPscratchCnt=\count95
\MPscratchDim=\dimen121
\MPnumerator=\count96
\makeMPintoPDFobject=\count97
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: Try loading font information for OMS+cmr on input line 22.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 22.
Underfull \hbox (badness 10000) in paragraph at lines 34--37
[]
Underfull \hbox (badness 10000) in paragraph at lines 34--37
[]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 41.
[1
Non-PDF special ignored!
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
[2] [3] [4]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
[5]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
[6] [7]
Overfull \hbox (2319.18137pt too wide) in paragraph at lines 255--255
[]\OT1/cmtt/m/n/10.95 9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the
lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputd
riveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpu
llupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan
be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the v
oltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayo
fsensors
[]
[8] (./18.aux) )
Here is how much of TeX's memory you used:
3527 strings out of 494945
53604 string characters out of 6181032
120046 words of memory out of 5000000
6804 multiletter control sequences out of 15000+600000
8977 words of font info for 32 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
39i,8n,38p,877b,250s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive
/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-d
ist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fo
nts/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on 18.pdf (8 pages, 125801 bytes).
PDF statistics:
63 PDF objects out of 1000 (max. 8388607)
44 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
Attiny_Solar_Energy_Harvest/docs/18.pdf View File


+ 270
- 0
Attiny_Solar_Energy_Harvest/docs/18.tex View File

@ -0,0 +1,270 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
%\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\textcolor{green!60!blue!70}{
\subsection{Micro Considerations}}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\textcolor{green!60!blue!70}{
\subsubsection{Micro Notes}}
Must run at 1.8V / 1MHz per front page of data sheet, for 200uA draw in active mode.
\\
\\
\textcolor{green!60!blue!70}{
\subsection{Energy Storage}}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\textcolor{green!60!blue!70}{ \subsection{Make parts, not scrap}} I will
want to make sure that all parts I build are perf board parts, not
breadboard scrap (to be torn down and rebuilt again). This is an Attiny,
so no need to test much, yet.
\textcolor{green!60!blue!70}{
\subsection{Programming}}
To program the Attiny10, I'll use the Arduino adapter from the Junk + Arduino blog. I built it up\footnote{Had slight error where the Arduino + board wouldn't read - pins too short on headers, then the arduino wouldn't boot - due to bad connection on perf board shield. Thankfully, the USB port didn't try to run. Protection circuitry cut in on the laptop.}, and was able to Read the memory. In order to upload to the board, you will need a compiler setup. You can possibly do it in AVRGCC, but instead I opted for either Arduino IDE (via Attiny10Core which didn't work), and then went to Mplab. In order for mplab 5.25 to work, it will need XC8 compiler, and there is a pack that can be downloaded through the IDE to get Attiny10 support.
It appears the AVR Dragon (which I have) can not be used. However, other programmers can be used. Pickit 4, Mkavrii, stk600, I think.
\textcolor{green!60!blue!70}{ \subsubsection{Testing Arduino Loader}}
Tested this with the blink\_LED.c in code folder. The code is as simple as possible.
It is the following:
\begin{verbatim}
//#include <xc.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// PB2 output
DDRB = 1<<2;
while(1)
{
// Toggle PB2
PINB = 1<<2;
_delay_ms(500);
}
}
\end{verbatim}
When programmed in Mplab, with XC8 compiler, and Attiny10 support, I get the following
hex output:
\begin{verbatim}
:100000000AC020C01FC01EC01DC01CC01BC01AC01B
:1000100019C018C017C011271FBFCFE5D0E0DEBF41
:0A002000CDBF03D000C0F894FFCF5D
:10002A0044E041B940B95FE966E871E05150604087
:0A003A007040E1F700C00000F5CFB0
:02004400DDCF0E
:00000001FF
\end{verbatim}
The content of this hex isn't the focus of this passage. Instead, I want you to review the
results of a D for Dump Memory, by the Arduino Loader.
\begin{verbatim}
Current memory state:
registers, SRAM
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 03 00 00 79 00 03 00 00 00 00
0040: B7 AD AE FA 58 70 63 6B FB 5A B4 1B FF FF 35 3F
0050: 67 D7 33 43 DF 5F FB 72 C9 7D FE E9 9D C5 00 12
NVM lock
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F00: FF FF
configuration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F40: FF FF
calibration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F80: 79 FF
device ID
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3FC0: 1E 90 03 FF
program
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
4000: 0A C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
4010: 19 C0 18 C0 17 C0 11 27 1F BF CF E5 D0 E0 DE BF
4020: CD BF 03 D0 00 C0 F8 94 FF CF 44 E0 41 B9 40 B9
4030: 5F E9 66 E8 71 E0 51 50 60 40 70 40 E1 F7 00 C0
4040: 00 00 F5 CF DD CF FF FF FF FF FF FF FF FF FF FF
4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
(...some memory omitted here for brevity...)
43E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
43F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
\end{verbatim}
Notice that the "AC020C01F" is set. That is from the hex. But the 01000...
before it seems to be missing. Some deciphering of how the Arduino programs
the Attiny is in order here. It also doesn't end the same.
Regardless, when programming, the Arduino reports 70 bytes written, and
likewise in the Mplab project memorymap.xml file, it also notes 70 bytes
for the sketch. This lines up.\footnote{Although for an unknown reason, every command registers twice on the Arduino serial monitor, but this appears to be harmless.}
The blinking LED works. Let's move on.
\textcolor{green!60!blue!70}{\subsubsection{Conclusion on Arduino Programming Attiny10}}
It's possible, but you have to make a dedicated jig (almost), so it might be easier to use the official programming tools. However, based on this https://www.avrfreaks.net/forum/pickit-4-and-avr-mcu I might not have a choice. So I will use the Arduino for now. But will have to devise what on board parts are req'd for programming, and incorporate into proto board layout.
\textcolor{green!60!blue!70}{ \subsubsection{IO Port Switching Speed}}
Using the above code without any delay\_ms, I get the following results from a default clock
speed, and a 128KHz clock speed. This test was done to confirm that I could change the clock with
\begin{verbatim}
//Write CCP
CCP = 0xD8;
//change CLK to 128KHz
CLKMSR = 0b01;
\end{verbatim}
There was no issue.
\begin{verbatim}
Default CLK (8MHz? or 1MHz?): 160KHz IO Switch
128KHz CLK: 2.5KHz IO Switch
\end{verbatim}
I am going to pursue 128KHz for starters, for lower current dissipation. Note that with the Arduino loader, it is cumbersome to test and change code as you move along. It is
therefore going to be necessary to use a programmer, with a dedicated header on board.
\textcolor{green!60!blue!70}{ \subsubsection{VCC 1.8V}}
The lowest power supported: 1.8V can be applied, without any configuration
needed. It does not affect IO switching speed (although obviously amplitude is affected).
\begin{verbatim}
128KHz CLK (5.0V): 2.5256 KHz IO switch
128KHz CLK (3.3V): 2.5477 KHz IO switch
128KHz CLK (1.8V): 2.5849 KHz IO switch
\end{verbatim}
As voltage drops, IO increases.
\\
\\
\textbf{VCC Dropout voltage:}
\\
From 1.5, it drops out at 1.248V or so. Comes back at about 1.34V
\\
\\
Test size of 1.
\\
\\
Can't run this with one (AA) battery, but you could with 2.
\\
\\
Current Draw: 128KHz - IO test, 1.8V, 0.08mA (~78uA) (tested w/3478A)
\\
\\
\textcolor{green!60!blue!70}{\subsection{Application}}
First, I need a board for these and a programmer, to quickly program. Second, I need an application. I want extremely low power. Hopefully, solar with no batteries, to start. This is extremely low - that is the point. Let's keep this ridiculous.
Given the power requirements put me under 1mA (with my current panels), I'm considering the following: EEPROMs would require SPI protocol. Doable, but overcomplicated for now.
\\
\\
Eink (need to find a small and cheap enough option. So far, they have either too many pins, and/or use too much current. Something like what stores use to display prices would work, but that doesn't get the data out, only makes it readable.),
\\
\\
Third option would be RF. That is a viable path, but not today. Let's skip that for now.
\\
\\
Fourth option that comes to mind is IR. IR diodes, as in TV remotes, would work well here. I am choosing this as the first project. I will have dumb clients, that consist of - Attiny / IR / Sensor powered by solar. I will have a BBB that receives the IR data, and does all intelligent data gathering. To keep things simple, the IR will be binary ADC data, or otherwise sensor numbers. No SPI, no protocol complexity. That would require space on the Attiny.
\\
\\
Let's build some boards based on the above.
\\
\\
For sensors:
While building, I came across an option. Hall effect sensors. I think also capacitive sensors can be used. This may find a use in a gate sensor, for when a driveway gate is opened or closed. With a small battery, it would work for years.
Footprints: I had to make a footprint for this module on board package for one sensor. The solution to get footprints right? copy graphic image and make it into silkscreen on the board. Easy.
The sensor I looked at was a temp and humidity sensor SHT11 (SHT10 is obsolete). It is low power enough. However, it's \$20. So not in my price range. Otherwise, it would work here. Looks like communication is a shift register, or SPI.
\textcolor{green!60!blue!70}{
\subsubsection{Magnetic Current Sensor}}
There is this:
BM14270AMUV-LB
Which is low enough current here (<1mA). But \$7 in qty, and req's I2C. Not today.
\textcolor{green!60!blue!70}{
\subsubsection{Accelerometers}}
These are an option.
Best pinout (for deadbug) is LIS344ALHTR (but lacks vcc down to 1.8)
2nd Best pinout with full 1.8 -3.6 vcc is ADXL337BCPZ-RL7
(Keep in mind, these are low end options only)
(Analog output only. keep it simple for now.)
Runner up to all above, is KXTC9-2050-FR . But has worse pinout.
Going with AD part. \$5 in single qty.
Digital output Accelmeters are cheaper.
All have tiny package sizes.
Since I am grabbing 1 output only, will need to orient or choose correct output.
\textcolor{green!60!blue!70}{
\subsubsection{Temperature Sensors}}
Temperature can be boring, but why not. Let's throw one of these on: LMT84LP . Pin compatible with LM35. Supply current is maybe 8uA. Extremely low.
LM84 (1.5V starts, to 5.5), LM85 (1.8V to 5.5)
\textcolor{green!60!blue!70}{
\subsubsection{Gas Sensors}}
Lowest is 5mV as of writing on dkey. Skipping. The SHT would work, but its too expensive.
\textcolor{green!60!blue!70}{
\subsubsection{Supercap}}
For now, trying this:
FG0V155ZF
\textcolor{green!60!blue!70}{
\subsubsection{Hall Effect Sensors - Push Pull vs Open Drain Outputs}}
\begin{verbatim}9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputdriveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpullupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the voltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayofsensors
\end{verbatim} From DRV5032 data sheet.
\textcolor{green!60!blue!70}{
\subsection{Starting Sensors}}
So as a recap, to start with affordable, low power sensors for my project, I have the following types:
\begin{itemize}
\item Temp sensor (cheapest)
\item Magnetic Sensor (hall effect)
\item Movement Sensor (accellerometer) (analog output) (tiny package)
\item capacitive sensor (azoteq)(may only be short range)
\end{itemize}
And then output is currently IR via diode. Future output would be RF.
\end{document}

+ 256
- 0
Attiny_Solar_Energy_Harvest/docs/18.tex~ View File

@ -0,0 +1,256 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
%\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\textcolor{green!60!blue!70}{
\subsection{Micro Considerations}}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\textcolor{green!60!blue!70}{
\subsubsection{Micro Notes}}
Must run at 1.8V / 1MHz per front page of data sheet, for 200uA draw in active mode.
\\
\\
\textcolor{green!60!blue!70}{
\subsection{Energy Storage}}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\textcolor{green!60!blue!70}{ \subsection{Make parts, not scrap}} I will
want to make sure that all parts I build are perf board parts, not
breadboard scrap (to be torn down and rebuilt again). This is an Attiny,
so no need to test much, yet.
\textcolor{green!60!blue!70}{
\subsection{Programming}}
To program the Attiny10, I'll use the Arduino adapter from the Junk + Arduino blog. I built it up\footnote{Had slight error where the Arduino + board wouldn't read - pins too short on headers, then the arduino wouldn't boot - due to bad connection on perf board shield. Thankfully, the USB port didn't try to run. Protection circuitry cut in on the laptop.}, and was able to Read the memory. In order to upload to the board, you will need a compiler setup. You can possibly do it in AVRGCC, but instead I opted for either Arduino IDE (via Attiny10Core which didn't work), and then went to Mplab. In order for mplab 5.25 to work, it will need XC8 compiler, and there is a pack that can be downloaded through the IDE to get Attiny10 support.
It appears the AVR Dragon (which I have) can not be used. However, other programmers can be used. Pickit 4, Mkavrii, stk600, I think.
\textcolor{green!60!blue!70}{ \subsubsection{Testing Arduino Loader}}
Tested this with the blink\_LED.c in code folder. The code is as simple as possible.
It is the following:
\begin{verbatim}
//#include <xc.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// PB2 output
DDRB = 1<<2;
while(1)
{
// Toggle PB2
PINB = 1<<2;
_delay_ms(500);
}
}
\end{verbatim}
When programmed in Mplab, with XC8 compiler, and Attiny10 support, I get the following
hex output:
\begin{verbatim}
:100000000AC020C01FC01EC01DC01CC01BC01AC01B
:1000100019C018C017C011271FBFCFE5D0E0DEBF41
:0A002000CDBF03D000C0F894FFCF5D
:10002A0044E041B940B95FE966E871E05150604087
:0A003A007040E1F700C00000F5CFB0
:02004400DDCF0E
:00000001FF
\end{verbatim}
The content of this hex isn't the focus of this passage. Instead, I want you to review the
results of a D for Dump Memory, by the Arduino Loader.
\begin{verbatim}
Current memory state:
registers, SRAM
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 03 00 00 79 00 03 00 00 00 00
0040: B7 AD AE FA 58 70 63 6B FB 5A B4 1B FF FF 35 3F
0050: 67 D7 33 43 DF 5F FB 72 C9 7D FE E9 9D C5 00 12
NVM lock
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F00: FF FF
configuration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F40: FF FF
calibration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F80: 79 FF
device ID
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3FC0: 1E 90 03 FF
program
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
4000: 0A C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
4010: 19 C0 18 C0 17 C0 11 27 1F BF CF E5 D0 E0 DE BF
4020: CD BF 03 D0 00 C0 F8 94 FF CF 44 E0 41 B9 40 B9
4030: 5F E9 66 E8 71 E0 51 50 60 40 70 40 E1 F7 00 C0
4040: 00 00 F5 CF DD CF FF FF FF FF FF FF FF FF FF FF
4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
(...some memory omitted here for brevity...)
43E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
43F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
\end{verbatim}
Notice that the "AC020C01F" is set. That is from the hex. But the 01000...
before it seems to be missing. Some deciphering of how the Arduino programs
the Attiny is in order here. It also doesn't end the same.
Regardless, when programming, the Arduino reports 70 bytes written, and
likewise in the Mplab project memorymap.xml file, it also notes 70 bytes
for the sketch. This lines up.\footnote{Although for an unknown reason, every command registers twice on the Arduino serial monitor, but this appears to be harmless.}
The blinking LED works. Let's move on.
\textcolor{green!60!blue!70}{\subsubsection{Conclusion on Arduino Programming Attiny10}}
It's possible, but you have to make a dedicated jig (almost), so it might be easier to use the official programming tools. However, based on this https://www.avrfreaks.net/forum/pickit-4-and-avr-mcu I might not have a choice. So I will use the Arduino for now. But will have to devise what on board parts are req'd for programming, and incorporate into proto board layout.
\textcolor{green!60!blue!70}{ \subsubsection{IO Port Switching Speed}}
Using the above code without any delay\_ms, I get the following results from a default clock
speed, and a 128KHz clock speed. This test was done to confirm that I could change the clock with
\begin{verbatim}
//Write CCP
CCP = 0xD8;
//change CLK to 128KHz
CLKMSR = 0b01;
\end{verbatim}
There was no issue.
\begin{verbatim}
Default CLK (8MHz? or 1MHz?): 160KHz IO Switch
128KHz CLK: 2.5KHz IO Switch
\end{verbatim}
I am going to pursue 128KHz for starters, for lower current dissipation. Note that with the Arduino loader, it is cumbersome to test and change code as you move along. It is
therefore going to be necessary to use a programmer, with a dedicated header on board.
\textcolor{green!60!blue!70}{ \subsubsection{VCC 1.8V}}
The lowest power supported: 1.8V can be applied, without any configuration
needed. It does not affect IO switching speed (although obviously amplitude is affected).
\begin{verbatim}
128KHz CLK (5.0V): 2.5256 KHz IO switch
128KHz CLK (3.3V): 2.5477 KHz IO switch
128KHz CLK (1.8V): 2.5849 KHz IO switch
\end{verbatim}
As voltage drops, IO increases.
\\
\\
\textbf{VCC Dropout voltage:}
\\
From 1.5, it drops out at 1.248V or so. Comes back at about 1.34V
\\
\\
Test size of 1.
\\
\\
Can't run this with one (AA) battery, but you could with 2.
\\
\\
Current Draw: 128KHz - IO test, 1.8V, 0.08mA (~78uA) (tested w/3478A)
\\
\\
\textcolor{green!60!blue!70}{\subsection{Application}}
First, I need a board for these and a programmer, to quickly program. Second, I need an application. I want extremely low power. Hopefully, solar with no batteries, to start. This is extremely low - that is the point. Let's keep this ridiculous.
Given the power requirements put me under 1mA (with my current panels), I'm considering the following: EEPROMs would require SPI protocol. Doable, but overcomplicated for now.
\\
\\
Eink (need to find a small and cheap enough option. So far, they have either too many pins, and/or use too much current. Something like what stores use to display prices would work, but that doesn't get the data out, only makes it readable.),
\\
\\
Third option would be RF. That is a viable path, but not today. Let's skip that for now.
\\
\\
Fourth option that comes to mind is IR. IR diodes, as in TV remotes, would work well here. I am choosing this as the first project. I will have dumb clients, that consist of - Attiny / IR / Sensor powered by solar. I will have a BBB that receives the IR data, and does all intelligent data gathering. To keep things simple, the IR will be binary ADC data, or otherwise sensor numbers. No SPI, no protocol complexity. That would require space on the Attiny.
\\
\\
Let's build some boards based on the above.
\\
\\
For sensors:
While building, I came across an option. Hall effect sensors. I think also capacitive sensors can be used. This may find a use in a gate sensor, for when a driveway gate is opened or closed. With a small battery, it would work for years.
Footprints: I had to make a footprint for this module on board package for one sensor. The solution to get footprints right? copy graphic image and make it into silkscreen on the board. Easy.
The sensor I looked at was a temp and humidity sensor SHT11 (SHT10 is obsolete). It is low power enough. However, it's \$20. So not in my price range. Otherwise, it would work here. Looks like communication is a shift register, or SPI.
\subsubsection{Magnetic Current Sensor}
There is this:
BM14270AMUV-LB
Which is low enough current here (<1mA). But \$7 in qty, and req's I2C. Not today.
\subsubsection{Accelerometers}
These are an option.
Best pinout (for deadbug) is LIS344ALHTR (but lacks vcc down to 1.8)
2nd Best pinout with full 1.8 -3.6 vcc is ADXL337BCPZ-RL7
(Keep in mind, these are low end options only)
(Analog output only. keep it simple for now.)
Runner up to all above, is KXTC9-2050-FR . But has worse pinout.
Going with AD part. \$5 in single qty.
Digital output Accelmeters are cheaper.
All have tiny package sizes.
Since I am grabbing 1 output only, will need to orient or choose correct output.
\subsubsection{Temperature Sensors}
Temperature can be boring, but why not. Let's throw one of these on: LMT84LP . Pin compatible with LM35. Supply current is maybe 8uA. Extremely low.
LM84 (1.5V starts, to 5.5), LM85 (1.8V to 5.5)
\subsubsection{Gas Sensors}
Lowest is 5mV as of writing on dkey. Skipping.
\subsubsection{Supercap}
For now, trying this:
FG0V155ZF
\subsubsection{Hall Effect Sensors - Push Pull vs Open Drain Outputs}
\begin{verbatim}9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputdriveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpullupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the voltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayofsensors \end{verbatim} From DRV5032 data sheet.
\subsection{Starting Sensors}
So as a recap, to start with affordable, low power sensors for my project, I have the following types:
\end{document}

+ 20
- 0
Attiny_Solar_Energy_Harvest/docs/19.aux View File

@ -0,0 +1,20 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Attiny Solar Energy Harvest Tests}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Micro Considerations}{1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Micro Notes}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Energy Storage}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Make parts, not scrap}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Programming}{2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.1}Testing Arduino Loader}{2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.2}Conclusion on Arduino Programming Attiny10}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.3}IO Port Switching Speed}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.4}VCC 1.8V}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Application}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.1}Magnetic Current Sensor}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.2}Accelerometers}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.3}Temperature Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.4}Gas Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.5}Supercap}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.6}Hall Effect Sensors - Push Pull vs Open Drain Outputs}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.6}Starting Sensors}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.6.1}Farad to mA}{9}}

+ 345
- 0
Attiny_Solar_Energy_Harvest/docs/19.log View File

@ -0,0 +1,345 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 1 APR 2020 23:50
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/
Attiny_Solar_Energy_Harvest/docs/19.tex
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/A
ttiny_Solar_Energy_Harvest/docs/19.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count88
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/09/12 v5.6 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count89
\Gm@cntv=\count90
\c@Gm@tempcnt=\count91
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./19.aux)
\openout1 = `19.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count92
\scratchdimen=\dimen120
\scratchbox=\box26
\nofMPsegments=\count93
\nofMParguments=\count94
\everyMPshowfont=\toks16
\MPscratchCnt=\count95
\MPscratchDim=\dimen121
\MPnumerator=\count96
\makeMPintoPDFobject=\count97
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: Try loading font information for OMS+cmr on input line 22.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 22.
Underfull \hbox (badness 10000) in paragraph at lines 34--37
[]
Underfull \hbox (badness 10000) in paragraph at lines 34--37
[]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 41.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 41.
[1
Non-PDF special ignored!
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
[2] [3] [4]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
Underfull \hbox (badness 10000) in paragraph at lines 164--181
[]
[5]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
Underfull \hbox (badness 10000) in paragraph at lines 184--201
[]
[6] [7]
Overfull \hbox (2319.18137pt too wide) in paragraph at lines 255--255
[]\OT1/cmtt/m/n/10.95 9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the
lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputd
riveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpu
llupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan
be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the v
oltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayo
fsensors
[]
[8] [9] (./19.aux) )
Here is how much of TeX's memory you used:
3527 strings out of 494945
53604 string characters out of 6181032
120046 words of memory out of 5000000
6804 multiletter control sequences out of 15000+600000
8977 words of font info for 32 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
39i,8n,38p,877b,250s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/
cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmb
x12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/s
hare/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/tex
live/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/tex
mf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dis
t/fonts/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on 19.pdf (9 pages, 126715 bytes).
PDF statistics:
66 PDF objects out of 1000 (max. 8388607)
46 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
Attiny_Solar_Energy_Harvest/docs/19.pdf View File


+ 273
- 0
Attiny_Solar_Energy_Harvest/docs/19.tex View File

@ -0,0 +1,273 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
%\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\textcolor{green!60!blue!70}{
\subsection{Micro Considerations}}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\textcolor{green!60!blue!70}{
\subsubsection{Micro Notes}}
Must run at 1.8V / 1MHz per front page of data sheet, for 200uA draw in active mode.
\\
\\
\textcolor{green!60!blue!70}{
\subsection{Energy Storage}}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\textcolor{green!60!blue!70}{ \subsection{Make parts, not scrap}} I will
want to make sure that all parts I build are perf board parts, not
breadboard scrap (to be torn down and rebuilt again). This is an Attiny,
so no need to test much, yet.
\textcolor{green!60!blue!70}{
\subsection{Programming}}
To program the Attiny10, I'll use the Arduino adapter from the Junk + Arduino blog. I built it up\footnote{Had slight error where the Arduino + board wouldn't read - pins too short on headers, then the arduino wouldn't boot - due to bad connection on perf board shield. Thankfully, the USB port didn't try to run. Protection circuitry cut in on the laptop.}, and was able to Read the memory. In order to upload to the board, you will need a compiler setup. You can possibly do it in AVRGCC, but instead I opted for either Arduino IDE (via Attiny10Core which didn't work), and then went to Mplab. In order for mplab 5.25 to work, it will need XC8 compiler, and there is a pack that can be downloaded through the IDE to get Attiny10 support.
It appears the AVR Dragon (which I have) can not be used. However, other programmers can be used. Pickit 4, Mkavrii, stk600, I think.
\textcolor{green!60!blue!70}{ \subsubsection{Testing Arduino Loader}}
Tested this with the blink\_LED.c in code folder. The code is as simple as possible.
It is the following:
\begin{verbatim}
//#include <xc.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// PB2 output
DDRB = 1<<2;
while(1)
{
// Toggle PB2
PINB = 1<<2;
_delay_ms(500);
}
}
\end{verbatim}
When programmed in Mplab, with XC8 compiler, and Attiny10 support, I get the following
hex output:
\begin{verbatim}
:100000000AC020C01FC01EC01DC01CC01BC01AC01B
:1000100019C018C017C011271FBFCFE5D0E0DEBF41
:0A002000CDBF03D000C0F894FFCF5D
:10002A0044E041B940B95FE966E871E05150604087
:0A003A007040E1F700C00000F5CFB0
:02004400DDCF0E
:00000001FF
\end{verbatim}
The content of this hex isn't the focus of this passage. Instead, I want you to review the
results of a D for Dump Memory, by the Arduino Loader.
\begin{verbatim}
Current memory state:
registers, SRAM
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 03 00 00 79 00 03 00 00 00 00
0040: B7 AD AE FA 58 70 63 6B FB 5A B4 1B FF FF 35 3F
0050: 67 D7 33 43 DF 5F FB 72 C9 7D FE E9 9D C5 00 12
NVM lock
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F00: FF FF
configuration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F40: FF FF
calibration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F80: 79 FF
device ID
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3FC0: 1E 90 03 FF
program
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
4000: 0A C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
4010: 19 C0 18 C0 17 C0 11 27 1F BF CF E5 D0 E0 DE BF
4020: CD BF 03 D0 00 C0 F8 94 FF CF 44 E0 41 B9 40 B9
4030: 5F E9 66 E8 71 E0 51 50 60 40 70 40 E1 F7 00 C0
4040: 00 00 F5 CF DD CF FF FF FF FF FF FF FF FF FF FF
4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
(...some memory omitted here for brevity...)
43E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
43F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
\end{verbatim}
Notice that the "AC020C01F" is set. That is from the hex. But the 01000...
before it seems to be missing. Some deciphering of how the Arduino programs
the Attiny is in order here. It also doesn't end the same.
Regardless, when programming, the Arduino reports 70 bytes written, and
likewise in the Mplab project memorymap.xml file, it also notes 70 bytes
for the sketch. This lines up.\footnote{Although for an unknown reason, every command registers twice on the Arduino serial monitor, but this appears to be harmless.}
The blinking LED works. Let's move on.
\textcolor{green!60!blue!70}{\subsubsection{Conclusion on Arduino Programming Attiny10}}
It's possible, but you have to make a dedicated jig (almost), so it might be easier to use the official programming tools. However, based on this https://www.avrfreaks.net/forum/pickit-4-and-avr-mcu I might not have a choice. So I will use the Arduino for now. But will have to devise what on board parts are req'd for programming, and incorporate into proto board layout.
\textcolor{green!60!blue!70}{ \subsubsection{IO Port Switching Speed}}
Using the above code without any delay\_ms, I get the following results from a default clock
speed, and a 128KHz clock speed. This test was done to confirm that I could change the clock with
\begin{verbatim}
//Write CCP
CCP = 0xD8;
//change CLK to 128KHz
CLKMSR = 0b01;
\end{verbatim}
There was no issue.
\begin{verbatim}
Default CLK (8MHz? or 1MHz?): 160KHz IO Switch
128KHz CLK: 2.5KHz IO Switch
\end{verbatim}
I am going to pursue 128KHz for starters, for lower current dissipation. Note that with the Arduino loader, it is cumbersome to test and change code as you move along. It is
therefore going to be necessary to use a programmer, with a dedicated header on board.
\textcolor{green!60!blue!70}{ \subsubsection{VCC 1.8V}}
The lowest power supported: 1.8V can be applied, without any configuration
needed. It does not affect IO switching speed (although obviously amplitude is affected).
\begin{verbatim}
128KHz CLK (5.0V): 2.5256 KHz IO switch
128KHz CLK (3.3V): 2.5477 KHz IO switch
128KHz CLK (1.8V): 2.5849 KHz IO switch
\end{verbatim}
As voltage drops, IO increases.
\\
\\
\textbf{VCC Dropout voltage:}
\\
From 1.5, it drops out at 1.248V or so. Comes back at about 1.34V
\\
\\
Test size of 1.
\\
\\
Can't run this with one (AA) battery, but you could with 2.
\\
\\
Current Draw: 128KHz - IO test, 1.8V, 0.08mA (~78uA) (tested w/3478A)
\\
\\
\textcolor{green!60!blue!70}{\subsection{Application}}
First, I need a board for these and a programmer, to quickly program. Second, I need an application. I want extremely low power. Hopefully, solar with no batteries, to start. This is extremely low - that is the point. Let's keep this ridiculous.
Given the power requirements put me under 1mA (with my current panels), I'm considering the following: EEPROMs would require SPI protocol. Doable, but overcomplicated for now.
\\
\\
Eink (need to find a small and cheap enough option. So far, they have either too many pins, and/or use too much current. Something like what stores use to display prices would work, but that doesn't get the data out, only makes it readable.),
\\
\\
Third option would be RF. That is a viable path, but not today. Let's skip that for now.
\\
\\
Fourth option that comes to mind is IR. IR diodes, as in TV remotes, would work well here. I am choosing this as the first project. I will have dumb clients, that consist of - Attiny / IR / Sensor powered by solar. I will have a BBB that receives the IR data, and does all intelligent data gathering. To keep things simple, the IR will be binary ADC data, or otherwise sensor numbers. No SPI, no protocol complexity. That would require space on the Attiny.
\\
\\
Let's build some boards based on the above.
\\
\\
For sensors:
While building, I came across an option. Hall effect sensors. I think also capacitive sensors can be used. This may find a use in a gate sensor, for when a driveway gate is opened or closed. With a small battery, it would work for years.
Footprints: I had to make a footprint for this module on board package for one sensor. The solution to get footprints right? copy graphic image and make it into silkscreen on the board. Easy.
The sensor I looked at was a temp and humidity sensor SHT11 (SHT10 is obsolete). It is low power enough. However, it's \$20. So not in my price range. Otherwise, it would work here. Looks like communication is a shift register, or SPI.
\textcolor{green!60!blue!70}{
\subsubsection{Magnetic Current Sensor}}
There is this:
BM14270AMUV-LB
Which is low enough current here (<1mA). But \$7 in qty, and req's I2C. Not today.
\textcolor{green!60!blue!70}{
\subsubsection{Accelerometers}}
These are an option.
Best pinout (for deadbug) is LIS344ALHTR (but lacks vcc down to 1.8)
2nd Best pinout with full 1.8 -3.6 vcc is ADXL337BCPZ-RL7
(Keep in mind, these are low end options only)
(Analog output only. keep it simple for now.)
Runner up to all above, is KXTC9-2050-FR . But has worse pinout.
Going with AD part. \$5 in single qty.
Digital output Accelmeters are cheaper.
All have tiny package sizes.
Since I am grabbing 1 output only, will need to orient or choose correct output.
\textcolor{green!60!blue!70}{
\subsubsection{Temperature Sensors}}
Temperature can be boring, but why not. Let's throw one of these on: LMT84LP . Pin compatible with LM35. Supply current is maybe 8uA. Extremely low.
LM84 (1.5V starts, to 5.5), LM85 (1.8V to 5.5)
\textcolor{green!60!blue!70}{
\subsubsection{Gas Sensors}}
Lowest is 5mV as of writing on dkey. Skipping. The SHT would work, but its too expensive.
\textcolor{green!60!blue!70}{
\subsubsection{Supercap}}
For now, trying this:
FG0V155ZF
\textcolor{green!60!blue!70}{
\subsubsection{Hall Effect Sensors - Push Pull vs Open Drain Outputs}}
\begin{verbatim}9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputdriveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpullupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the voltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayofsensors
\end{verbatim} From DRV5032 data sheet.
\textcolor{green!60!blue!70}{
\subsection{Starting Sensors}}
So as a recap, to start with affordable, low power sensors for my project, I have the following types:
\begin{itemize}
\item Temp sensor (cheapest)
\item Magnetic Sensor (hall effect)
\item Movement Sensor (accellerometer) (analog output) (tiny package)
\item capacitive sensor (azoteq)(may only be short range)
\end{itemize}
Output, I have not determined yet. IR will not work, as its too high power. Unless I dedicate a battery just for the IR diode... Or make it battery powered. I'll start with batteries, but for solar panel and supercap, it will likely not be viable, unless I transmit extremely rarely. That is also an option, however.
\subsubsection{Farad to mA}
1.5F supercap can supply 1.5A for 1 second. That is 0.025A for 60 seconds, or 25mA for a minute.
Let's stay I use half that, so 12mA for 60 seconds is my supply. If I transmit once every other hour (when in sunlight)...
\end{document}

+ 270
- 0
Attiny_Solar_Energy_Harvest/docs/19.tex~ View File

@ -0,0 +1,270 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
%\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\textcolor{green!60!blue!70}{
\subsection{Micro Considerations}}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\textcolor{green!60!blue!70}{
\subsubsection{Micro Notes}}
Must run at 1.8V / 1MHz per front page of data sheet, for 200uA draw in active mode.
\\
\\
\textcolor{green!60!blue!70}{
\subsection{Energy Storage}}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\textcolor{green!60!blue!70}{ \subsection{Make parts, not scrap}} I will
want to make sure that all parts I build are perf board parts, not
breadboard scrap (to be torn down and rebuilt again). This is an Attiny,
so no need to test much, yet.
\textcolor{green!60!blue!70}{
\subsection{Programming}}
To program the Attiny10, I'll use the Arduino adapter from the Junk + Arduino blog. I built it up\footnote{Had slight error where the Arduino + board wouldn't read - pins too short on headers, then the arduino wouldn't boot - due to bad connection on perf board shield. Thankfully, the USB port didn't try to run. Protection circuitry cut in on the laptop.}, and was able to Read the memory. In order to upload to the board, you will need a compiler setup. You can possibly do it in AVRGCC, but instead I opted for either Arduino IDE (via Attiny10Core which didn't work), and then went to Mplab. In order for mplab 5.25 to work, it will need XC8 compiler, and there is a pack that can be downloaded through the IDE to get Attiny10 support.
It appears the AVR Dragon (which I have) can not be used. However, other programmers can be used. Pickit 4, Mkavrii, stk600, I think.
\textcolor{green!60!blue!70}{ \subsubsection{Testing Arduino Loader}}
Tested this with the blink\_LED.c in code folder. The code is as simple as possible.
It is the following:
\begin{verbatim}
//#include <xc.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
// PB2 output
DDRB = 1<<2;
while(1)
{
// Toggle PB2
PINB = 1<<2;
_delay_ms(500);
}
}
\end{verbatim}
When programmed in Mplab, with XC8 compiler, and Attiny10 support, I get the following
hex output:
\begin{verbatim}
:100000000AC020C01FC01EC01DC01CC01BC01AC01B
:1000100019C018C017C011271FBFCFE5D0E0DEBF41
:0A002000CDBF03D000C0F894FFCF5D
:10002A0044E041B940B95FE966E871E05150604087
:0A003A007040E1F700C00000F5CFB0
:02004400DDCF0E
:00000001FF
\end{verbatim}
The content of this hex isn't the focus of this passage. Instead, I want you to review the
results of a D for Dump Memory, by the Arduino Loader.
\begin{verbatim}
Current memory state:
registers, SRAM
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 03 00 00 79 00 03 00 00 00 00
0040: B7 AD AE FA 58 70 63 6B FB 5A B4 1B FF FF 35 3F
0050: 67 D7 33 43 DF 5F FB 72 C9 7D FE E9 9D C5 00 12
NVM lock
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F00: FF FF
configuration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F40: FF FF
calibration
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3F80: 79 FF
device ID
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
3FC0: 1E 90 03 FF
program
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
4000: 0A C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
4010: 19 C0 18 C0 17 C0 11 27 1F BF CF E5 D0 E0 DE BF
4020: CD BF 03 D0 00 C0 F8 94 FF CF 44 E0 41 B9 40 B9
4030: 5F E9 66 E8 71 E0 51 50 60 40 70 40 E1 F7 00 C0
4040: 00 00 F5 CF DD CF FF FF FF FF FF FF FF FF FF FF
4050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
4060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
(...some memory omitted here for brevity...)
43E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
43F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
\end{verbatim}
Notice that the "AC020C01F" is set. That is from the hex. But the 01000...
before it seems to be missing. Some deciphering of how the Arduino programs
the Attiny is in order here. It also doesn't end the same.
Regardless, when programming, the Arduino reports 70 bytes written, and
likewise in the Mplab project memorymap.xml file, it also notes 70 bytes
for the sketch. This lines up.\footnote{Although for an unknown reason, every command registers twice on the Arduino serial monitor, but this appears to be harmless.}
The blinking LED works. Let's move on.
\textcolor{green!60!blue!70}{\subsubsection{Conclusion on Arduino Programming Attiny10}}
It's possible, but you have to make a dedicated jig (almost), so it might be easier to use the official programming tools. However, based on this https://www.avrfreaks.net/forum/pickit-4-and-avr-mcu I might not have a choice. So I will use the Arduino for now. But will have to devise what on board parts are req'd for programming, and incorporate into proto board layout.
\textcolor{green!60!blue!70}{ \subsubsection{IO Port Switching Speed}}
Using the above code without any delay\_ms, I get the following results from a default clock
speed, and a 128KHz clock speed. This test was done to confirm that I could change the clock with
\begin{verbatim}
//Write CCP
CCP = 0xD8;
//change CLK to 128KHz
CLKMSR = 0b01;
\end{verbatim}
There was no issue.
\begin{verbatim}
Default CLK (8MHz? or 1MHz?): 160KHz IO Switch
128KHz CLK: 2.5KHz IO Switch
\end{verbatim}
I am going to pursue 128KHz for starters, for lower current dissipation. Note that with the Arduino loader, it is cumbersome to test and change code as you move along. It is
therefore going to be necessary to use a programmer, with a dedicated header on board.
\textcolor{green!60!blue!70}{ \subsubsection{VCC 1.8V}}
The lowest power supported: 1.8V can be applied, without any configuration
needed. It does not affect IO switching speed (although obviously amplitude is affected).
\begin{verbatim}
128KHz CLK (5.0V): 2.5256 KHz IO switch
128KHz CLK (3.3V): 2.5477 KHz IO switch
128KHz CLK (1.8V): 2.5849 KHz IO switch
\end{verbatim}
As voltage drops, IO increases.
\\
\\
\textbf{VCC Dropout voltage:}
\\
From 1.5, it drops out at 1.248V or so. Comes back at about 1.34V
\\
\\
Test size of 1.
\\
\\
Can't run this with one (AA) battery, but you could with 2.
\\
\\
Current Draw: 128KHz - IO test, 1.8V, 0.08mA (~78uA) (tested w/3478A)
\\
\\
\textcolor{green!60!blue!70}{\subsection{Application}}
First, I need a board for these and a programmer, to quickly program. Second, I need an application. I want extremely low power. Hopefully, solar with no batteries, to start. This is extremely low - that is the point. Let's keep this ridiculous.
Given the power requirements put me under 1mA (with my current panels), I'm considering the following: EEPROMs would require SPI protocol. Doable, but overcomplicated for now.
\\
\\
Eink (need to find a small and cheap enough option. So far, they have either too many pins, and/or use too much current. Something like what stores use to display prices would work, but that doesn't get the data out, only makes it readable.),
\\
\\
Third option would be RF. That is a viable path, but not today. Let's skip that for now.
\\
\\
Fourth option that comes to mind is IR. IR diodes, as in TV remotes, would work well here. I am choosing this as the first project. I will have dumb clients, that consist of - Attiny / IR / Sensor powered by solar. I will have a BBB that receives the IR data, and does all intelligent data gathering. To keep things simple, the IR will be binary ADC data, or otherwise sensor numbers. No SPI, no protocol complexity. That would require space on the Attiny.
\\
\\
Let's build some boards based on the above.
\\
\\
For sensors:
While building, I came across an option. Hall effect sensors. I think also capacitive sensors can be used. This may find a use in a gate sensor, for when a driveway gate is opened or closed. With a small battery, it would work for years.
Footprints: I had to make a footprint for this module on board package for one sensor. The solution to get footprints right? copy graphic image and make it into silkscreen on the board. Easy.
The sensor I looked at was a temp and humidity sensor SHT11 (SHT10 is obsolete). It is low power enough. However, it's \$20. So not in my price range. Otherwise, it would work here. Looks like communication is a shift register, or SPI.
\textcolor{green!60!blue!70}{
\subsubsection{Magnetic Current Sensor}}
There is this:
BM14270AMUV-LB
Which is low enough current here (<1mA). But \$7 in qty, and req's I2C. Not today.
\textcolor{green!60!blue!70}{
\subsubsection{Accelerometers}}
These are an option.
Best pinout (for deadbug) is LIS344ALHTR (but lacks vcc down to 1.8)
2nd Best pinout with full 1.8 -3.6 vcc is ADXL337BCPZ-RL7
(Keep in mind, these are low end options only)
(Analog output only. keep it simple for now.)
Runner up to all above, is KXTC9-2050-FR . But has worse pinout.
Going with AD part. \$5 in single qty.
Digital output Accelmeters are cheaper.
All have tiny package sizes.
Since I am grabbing 1 output only, will need to orient or choose correct output.
\textcolor{green!60!blue!70}{
\subsubsection{Temperature Sensors}}
Temperature can be boring, but why not. Let's throw one of these on: LMT84LP . Pin compatible with LM35. Supply current is maybe 8uA. Extremely low.
LM84 (1.5V starts, to 5.5), LM85 (1.8V to 5.5)
\textcolor{green!60!blue!70}{
\subsubsection{Gas Sensors}}
Lowest is 5mV as of writing on dkey. Skipping. The SHT would work, but its too expensive.
\textcolor{green!60!blue!70}{
\subsubsection{Supercap}}
For now, trying this:
FG0V155ZF
\textcolor{green!60!blue!70}{
\subsubsection{Hall Effect Sensors - Push Pull vs Open Drain Outputs}}
\begin{verbatim}9.1.1OutputTypeTradeoffsThe push-pulloutputallowsfor the lowestsystempowerconsumptionbecausethereis no currentleakagepathwhenthe outputdriveshighor low. The open-drainoutputinvolvesa leakagepaththroughthe externalpullupresistorwhenthe outputdriveslow.The open-drainoutputsof multipledevicescan be tied togetherto forma logicalAND.In this setup,if any sensordriveslow, the voltageon the sharednodebecomeslow. Thiscan allowa singleGPIOto measurean arrayofsensors
\end{verbatim} From DRV5032 data sheet.
\textcolor{green!60!blue!70}{
\subsection{Starting Sensors}}
So as a recap, to start with affordable, low power sensors for my project, I have the following types:
\begin{itemize}
\item Temp sensor (cheapest)
\item Magnetic Sensor (hall effect)
\item Movement Sensor (accellerometer) (analog output) (tiny package)
\item capacitive sensor (azoteq)(may only be short range)
\end{itemize}
And then output is currently IR via diode. Future output would be RF.
\end{document}

+ 27
- 0
OV7670_Image_Sensor/footprints/PinHeader_1x01_EDIT.kicad_mod View File

@ -0,0 +1,27 @@
(module Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical (layer F.Cu) (tedit 5E6DA40C)
(descr "Through hole straight pin header, 1x01, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x01 2.54mm single row")
(fp_text reference REF** (at 0 -2.33) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value PinHeader_1x01_P2.54mm_Vertical (at 0 2.33) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer F.Fab) (width 0.1))
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer F.Fab) (width 0.1))
(fp_line (start -1.27 1.27) (end -1.27 -0.635) (layer F.Fab) (width 0.1))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer F.Fab) (width 0.1))
(fp_line (start -1.8 -1.8) (end -1.8 1.8) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.8 1.8) (end 1.8 1.8) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.8 1.8) (end 1.8 -1.8) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 0 0 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 1 thru_hole oval (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x01_P2.54mm_Vertical.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

+ 23
- 0
OV7670_Image_Sensor/footprints/PinHeader_1x05_P2.54mm_ProtoBoard_Rev.kicad_mod View File

@ -0,0 +1,23 @@
(module Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical (layer F.Cu) (tedit 5E82DFC5)
(descr "Through hole straight pin header, 1x05, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x05 2.54mm single row")
(fp_text reference REF** (at 0 -2.33) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value PinHeader_1x05_P2.54mm_Vertical (at 0 12.49) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 0 5.08 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 1 thru_hole circle (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 2 thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 4 thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 5 thru_hole oval (at 0 10.16) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x05_P2.54mm_Vertical.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

+ 44
- 0
OV7670_Image_Sensor/footprints/PinHeader_1x20_P1.27mm_ProtoBoard_Rev.kicad_mod View File

@ -0,0 +1,44 @@
(module Connector_PinHeader_1.27mm:PinHeader_1x20_P1.27mm_Vertical (layer F.Cu) (tedit 5E82DEDE)
(descr "Through hole straight pin header, 1x20, 1.27mm pitch, single row")
(tags "Through hole pin header THT 1x20 1.27mm single row")
(fp_text reference REF** (at 0 -1.695) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value PinHeader_1x20_P1.27mm_Vertical (at 0 25.825) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -0.525 -0.635) (end 1.05 -0.635) (layer F.Fab) (width 0.1))
(fp_line (start -1.05 -0.11) (end -0.525 -0.635) (layer F.Fab) (width 0.1))
(fp_line (start -1.55 -1.15) (end -1.55 25.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 25.3) (end 1.55 25.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.55 25.3) (end 1.55 -1.15) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.55 -1.15) (end -1.55 -1.15) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 0 12.065 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 1 thru_hole circle (at 0 0) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 2 thru_hole oval (at 0 1.27) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 0 2.54) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 4 thru_hole oval (at 0 3.81) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 5 thru_hole oval (at 0 5.08) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 6 thru_hole oval (at 0 6.35) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 7 thru_hole oval (at 0 7.62) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 8 thru_hole oval (at 0 8.89) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 9 thru_hole oval (at 0 10.16) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 10 thru_hole oval (at 0 11.43) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 11 thru_hole oval (at 0 12.7) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 12 thru_hole oval (at 0 13.97) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 13 thru_hole oval (at 0 15.24) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 14 thru_hole oval (at 0 16.51) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 15 thru_hole oval (at 0 17.78) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 16 thru_hole oval (at 0 19.05) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 17 thru_hole oval (at 0 20.32) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 18 thru_hole oval (at 0 21.59) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 19 thru_hole oval (at 0 22.86) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(pad 20 thru_hole oval (at 0 24.13) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Connector_PinHeader_1.27mm.3dshapes/PinHeader_1x20_P1.27mm_Vertical.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

+ 3
- 0
OV7670_Image_Sensor/pcb/fp-lib-table View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name footprints)(type KiCad)(uri /home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/OV7670_Image_Sensor/footprints)(options "")(descr ""))
)

BIN
OV7670_Image_Sensor/pcb/gerbers/ov7670.zip View File


+ 2523
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-B.Cu.gbl
File diff suppressed because it is too large
View File


+ 14
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-B.Fab.gbr View File

@ -0,0 +1,14 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-03-31T02:51:35-04:00*
G04 #@! TF.ProjectId,pcb,7063622e-6b69-4636-9164-5f7063625858,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Other,Fab,Bot*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Tue 31 Mar 2020 02:51:35 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

+ 6697
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-B.Mask.gbs
File diff suppressed because it is too large
View File


+ 15
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-B.Paste.gbp View File

@ -0,0 +1,15 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-03-31T02:51:35-04:00*
G04 #@! TF.ProjectId,pcb,7063622e-6b69-4636-9164-5f7063625858,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Tue 31 Mar 2020 02:51:35 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

+ 817
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-B.SilkS.gbo View File

@ -0,0 +1,817 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-03-31T02:51:35-04:00*
G04 #@! TF.ProjectId,pcb,7063622e-6b69-4636-9164-5f7063625858,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Tue 31 Mar 2020 02:51:35 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.152400*%
G04 APERTURE END LIST*
D10*
X145319436Y-113901416D02*
X145243245Y-113769450D01*
X145172159Y-113722514D01*
X145068080Y-113694627D01*
X144917067Y-113737826D01*
X144686127Y-113871159D01*
X144573209Y-113980341D01*
X144545321Y-114084419D01*
X144550425Y-114169450D01*
X144626615Y-114301416D01*
X144697702Y-114348351D01*
X144801780Y-114376238D01*
X144952794Y-114333039D01*
X145183734Y-114199706D01*
X145296652Y-114090524D01*
X145324539Y-113986446D01*
X145319436Y-113901416D01*
X145033721Y-113406544D02*
X144207568Y-113575604D01*
X144767055Y-112944664D01*
X144671817Y-112779706D02*
X144405150Y-112317826D01*
X143883758Y-113014749D01*
X144081340Y-111756972D02*
X144157531Y-111888937D01*
X144162635Y-111973968D01*
X144148691Y-112026007D01*
X144087812Y-112149133D01*
X143974894Y-112258315D01*
X143710962Y-112410696D01*
X143625932Y-112415799D01*
X143573893Y-112401856D01*
X143502806Y-112354920D01*
X143426615Y-112222955D01*
X143421512Y-112137924D01*
X143435455Y-112085885D01*
X143482391Y-112014798D01*
X143647348Y-111919560D01*
X143732378Y-111914456D01*
X143784417Y-111928400D01*
X143855504Y-111975336D01*
X143931695Y-112107301D01*
X143936798Y-112192332D01*
X143922855Y-112244371D01*
X143875919Y-112315458D01*
X143909912Y-111460049D02*
X143643245Y-110998168D01*
X143121853Y-111695091D01*
X143414674Y-110602271D02*
X143376579Y-110536288D01*
X143305492Y-110489353D01*
X143253453Y-110475409D01*
X143168422Y-110480513D01*
X143017409Y-110523712D01*
X142852452Y-110618950D01*
X142739534Y-110728132D01*
X142692598Y-110799219D01*
X142678654Y-110851258D01*
X142683758Y-110936288D01*
X142721853Y-111002271D01*
X142792940Y-111049206D01*
X142844979Y-111063150D01*
X142930010Y-111058046D01*
X143081023Y-111014847D01*
X143245980Y-110919609D01*
X143358898Y-110810427D01*
X143405834Y-110739341D01*
X143419778Y-110687302D01*
X143414674Y-110602271D01*
X153602997Y-131487098D02*
X153042142Y-131810908D01*
X152995207Y-131881994D01*
X152981263Y-131934033D01*
X152986367Y-132019064D01*
X153043510Y-132118038D01*
X153114597Y-132164973D01*
X153174108Y-131734717D02*
X153179212Y-131819748D01*
X153255402Y-131951713D01*
X153326489Y-131998649D01*
X153378528Y-132012593D01*
X153463559Y-132007489D01*
X153661507Y-131893203D01*
X153708443Y-131822116D01*
X153722386Y-131770077D01*
X153717283Y-131685047D01*
X153641092Y-131553081D01*
X153570005Y-131506146D01*
X152950640Y-131423850D02*
X153412521Y-131157184D01*
X153643461Y-131023850D02*
X153629517Y-131075889D01*
X153577478Y-131061946D01*
X153591422Y-131009907D01*
X153643461Y-131023850D01*
X153577478Y-131061946D01*
X153279187Y-130926244D02*
X153126806Y-130662312D01*
X153452985Y-130693936D02*
X152859139Y-131036793D01*
X152774108Y-131041897D01*
X152703021Y-130994962D01*
X152664926Y-130928979D01*
X152088394Y-129854205D02*
X152093498Y-129939235D01*
X152169688Y-130071201D01*
X152240775Y-130118136D01*
X152292814Y-130132080D01*
X152377844Y-130126976D01*
X152575793Y-130012691D01*
X152622728Y-129941604D01*
X152636672Y-129889565D01*
X152631568Y-129804534D01*
X152555378Y-129672569D01*
X152484291Y-129625633D01*
X151826831Y-129477355D02*
X151897918Y-129524290D01*
X151982948Y-129519187D01*
X152576794Y-129176329D01*
X151617307Y-129114449D02*
X151688394Y-129161385D01*
X151740433Y-129175328D01*
X151825463Y-129170225D01*
X152023412Y-129055939D01*
X152070347Y-128984852D01*
X152084291Y-128932813D01*
X152079187Y-128847783D01*
X152022044Y-128748808D01*
X151950958Y-128701873D01*
X151898919Y-128687929D01*
X151813888Y-128693033D01*
X151615940Y-128807319D01*
X151569004Y-128878405D01*
X151555060Y-128930444D01*
X151560164Y-129015475D01*
X151617307Y-129114449D01*
X151774425Y-128319919D02*
X151312545Y-128586586D01*
X151708443Y-128358015D02*
X151722386Y-128305976D01*
X151717283Y-128220945D01*
X151660140Y-128121971D01*
X151589053Y-128075036D01*
X151504023Y-128080139D01*
X151141117Y-128289663D01*
X150831251Y-127676770D02*
X150836355Y-127761800D01*
X150912545Y-127893766D01*
X150983632Y-127940701D01*
X151068662Y-127935597D01*
X151332594Y-127783216D01*
X151379529Y-127712130D01*
X151374425Y-127627099D01*
X151298235Y-127495133D01*
X151227148Y-127448198D01*
X151142118Y-127453302D01*
X151076135Y-127491397D01*
X151200628Y-127859407D01*
X150593473Y-126274450D02*
X150032618Y-126598259D01*
X149985683Y-126669346D01*
X149971739Y-126721385D01*
X149976843Y-126806416D01*
X150033986Y-126905390D01*
X150105073Y-126952325D01*
X150164584Y-126522069D02*
X150169688Y-126607100D01*
X150245879Y-126739065D01*
X150316965Y-126786001D01*
X150369004Y-126799944D01*
X150454035Y-126794841D01*
X150651983Y-126680555D01*
X150698919Y-126609468D01*
X150712863Y-126557429D01*
X150707759Y-126472399D01*
X150631568Y-126340433D01*
X150560482Y-126293498D01*
X149941117Y-126211202D02*
X150402997Y-125944536D01*
X150633937Y-125811202D02*
X150619993Y-125863241D01*
X150567954Y-125849297D01*
X150581898Y-125797258D01*
X150633937Y-125811202D01*
X150567954Y-125849297D01*
X150269664Y-125713595D02*
X150117283Y-125449664D01*
X150443461Y-125481288D02*
X149849615Y-125824145D01*
X149764584Y-125829249D01*
X149693498Y-125782313D01*
X149655402Y-125716331D01*
X149588052Y-125447295D02*
X149536013Y-125433351D01*
X149522069Y-125485390D01*
X149574108Y-125499334D01*
X149588052Y-125447295D01*
X149522069Y-125485390D01*
X149383632Y-125169420D02*
X149312545Y-125122485D01*
X149236355Y-124990519D01*
X149231251Y-124905488D01*
X149278186Y-124834402D01*
X149311178Y-124815354D01*
X149396208Y-124810250D01*
X149467295Y-124857185D01*
X149524438Y-124956160D01*
X149595524Y-125003095D01*
X149680555Y-124997991D01*
X149713546Y-124978944D01*
X149760482Y-124907857D01*
X149755378Y-124822826D01*
X149698235Y-124723852D01*
X149627148Y-124676917D01*
X149526806Y-124426929D02*
X149374425Y-124162998D01*
X149700604Y-124194621D02*
X149106758Y-124537479D01*
X149021727Y-124542582D01*
X148950640Y-124495647D01*
X148912545Y-124429664D01*
X148659822Y-123915745D02*
X148664926Y-124000775D01*
X148741117Y-124132741D01*
X148812203Y-124179676D01*
X148897234Y-124174573D01*
X149161165Y-124022192D01*
X149208101Y-123951105D01*
X149202997Y-123866075D01*
X149126806Y-123734109D01*
X149055720Y-123687174D01*
X148970689Y-123692277D01*
X148904706Y-123730373D01*
X149029200Y-124098382D01*
X148264926Y-123307955D02*
X148627832Y-123098431D01*
X148712863Y-123093328D01*
X148783949Y-123140263D01*
X148860140Y-123272229D01*
X148865244Y-123357259D01*
X148297918Y-123288908D02*
X148303021Y-123373938D01*
X148398259Y-123538895D01*
X148469346Y-123585830D01*
X148554377Y-123580727D01*
X148620360Y-123542631D01*
X148667295Y-123471545D01*
X148662191Y-123386514D01*
X148566953Y-123221557D01*
X148561849Y-123136527D01*
X148074450Y-122978041D02*
X148767270Y-122578041D01*
X148300286Y-122759677D02*
X147922069Y-122714109D01*
X148383949Y-122447442D02*
X148272399Y-122863755D01*
X147631251Y-122134207D02*
X147636355Y-122219237D01*
X147712545Y-122351203D01*
X147783632Y-122398139D01*
X147868662Y-122393035D01*
X148132594Y-122240654D01*
X148179529Y-122169567D01*
X148174425Y-122084537D01*
X148098235Y-121952571D01*
X148027148Y-121905636D01*
X147942118Y-121910739D01*
X147876135Y-121948835D01*
X148000628Y-122316844D01*
X147350640Y-121724366D02*
X147421727Y-121771301D01*
X147506758Y-121766197D01*
X148100604Y-121423340D01*
X147078870Y-121177455D02*
X147083974Y-121262486D01*
X147160164Y-121394451D01*
X147231251Y-121441387D01*
X147316281Y-121436283D01*
X147580213Y-121283902D01*
X147627148Y-121212815D01*
X147622044Y-121127785D01*
X147545854Y-120995819D01*
X147474767Y-120948884D01*
X147389737Y-120953987D01*
X147323754Y-120992083D01*
X147448247Y-121360092D01*
X146716965Y-120550618D02*
X146722069Y-120635648D01*
X146798259Y-120767614D01*
X146869346Y-120814549D01*
X146921385Y-120828493D01*
X147006416Y-120823389D01*
X147204364Y-120709104D01*
X147251300Y-120638017D01*
X147265244Y-120585978D01*
X147260140Y-120500947D01*
X147183949Y-120368981D01*
X147112863Y-120322046D01*
X147031568Y-120105050D02*
X146879187Y-119841118D01*
X147205366Y-119872742D02*
X146611520Y-120215599D01*
X146526489Y-120220703D01*
X146455402Y-120173768D01*
X146417307Y-120107785D01*
X146283974Y-119876845D02*
X146745854Y-119610178D01*
X146613888Y-119686369D02*
X146660823Y-119615282D01*
X146674767Y-119563243D01*
X146669664Y-119478213D01*
X146631568Y-119412230D01*
X145979212Y-119348982D02*
X146050299Y-119395917D01*
X146102338Y-119409861D01*
X146187368Y-119404757D01*
X146385317Y-119290471D01*
X146432252Y-119219385D01*
X146446196Y-119167346D01*
X146441092Y-119082315D01*
X146383949Y-118983341D01*
X146312863Y-118936406D01*
X146260823Y-118922462D01*
X146175793Y-118927566D01*
X145977844Y-119041851D01*
X145930909Y-119112938D01*
X145916965Y-119164977D01*
X145922069Y-119250008D01*
X145979212Y-119348982D01*
X146136330Y-118554452D02*
X145674450Y-118821119D01*
X146070347Y-118592547D02*
X146084291Y-118540508D01*
X146079187Y-118455478D01*
X146022044Y-118356503D01*
X145950958Y-118309568D01*
X145865927Y-118314672D01*
X145503021Y-118524196D01*
X145312545Y-118194281D02*
X145774425Y-117927615D01*
X146005366Y-117794281D02*
X145991422Y-117846320D01*
X145939383Y-117832377D01*
X145953326Y-117780337D01*
X146005366Y-117794281D01*
X145939383Y-117832377D01*
X144983632Y-117548396D02*
X144988736Y-117633427D01*
X145064926Y-117765393D01*
X145136013Y-117812328D01*
X145188052Y-117826272D01*
X145273082Y-117821168D01*
X145471031Y-117706882D01*
X145517966Y-117635795D01*
X145531910Y-117583756D01*
X145526806Y-117498726D01*
X145450616Y-117366760D01*
X145379529Y-117319825D01*
X144831251Y-117284465D02*
X144760164Y-117237529D01*
X144683974Y-117105564D01*
X144678870Y-117020533D01*
X144725805Y-116949446D01*
X144758797Y-116930399D01*
X144843827Y-116925295D01*
X144914914Y-116972230D01*
X144972057Y-117071205D01*
X145043143Y-117118140D01*
X145128174Y-117113036D01*
X145161165Y-117093989D01*
X145208101Y-117022902D01*
X145202997Y-116937871D01*
X145145854Y-116838897D01*
X145074767Y-116791962D01*
X144521385Y-116671571D02*
X144469346Y-116657627D01*
X144455402Y-116709666D01*
X144507441Y-116723610D01*
X144521385Y-116671571D01*
X144455402Y-116709666D01*
X144126489Y-116063781D02*
X144131593Y-116148812D01*
X144207783Y-116280778D01*
X144278870Y-116327713D01*
X144330909Y-116341657D01*
X144415940Y-116336553D01*
X144613888Y-116222267D01*
X144660823Y-116151180D01*
X144674767Y-116099141D01*
X144669664Y-116014111D01*
X144593473Y-115882145D01*
X144522386Y-115835210D01*
X143864926Y-115686932D02*
X143936013Y-115733867D01*
X143988052Y-115747811D01*
X144073082Y-115742707D01*
X144271031Y-115628421D01*
X144317966Y-115557334D01*
X144331910Y-115505295D01*
X144326806Y-115420265D01*
X144269664Y-115321291D01*
X144198577Y-115274355D01*
X144146538Y-115260411D01*
X144061507Y-115265515D01*
X143863559Y-115379801D01*
X143816623Y-115450888D01*
X143802680Y-115502927D01*
X143807783Y-115587957D01*
X143864926Y-115686932D01*
X143560164Y-115159068D02*
X144022044Y-114892402D01*
X143956062Y-114930497D02*
X143970005Y-114878458D01*
X143964902Y-114793427D01*
X143907759Y-114694453D01*
X143836672Y-114647518D01*
X143751642Y-114652622D01*
X143388736Y-114862145D01*
X143751642Y-114652622D02*
X143798577Y-114581535D01*
X143793473Y-114496504D01*
X143736330Y-114397530D01*
X143665244Y-114350595D01*
X143580213Y-114355699D01*
X143217307Y-114565222D01*
X143466928Y-113321389D02*
X142919017Y-114429520D01*
X142436355Y-113212573D02*
X142799261Y-113003049D01*
X142884291Y-112997946D01*
X142955378Y-113044881D01*
X143031568Y-113176847D01*
X143036672Y-113261877D01*
X142469346Y-113193526D02*
X142474450Y-113278556D01*
X142569688Y-113443513D01*
X142640775Y-113490449D01*
X142725805Y-113485345D01*
X142791788Y-113447250D01*
X142838723Y-113376163D01*
X142833620Y-113291132D01*
X142738382Y-113126175D01*
X142733278Y-113041145D01*
X142074450Y-112585736D02*
X142767270Y-112185736D01*
X142107441Y-112566688D02*
X142112545Y-112651719D01*
X142188736Y-112783684D01*
X142259822Y-112830620D01*
X142311861Y-112844564D01*
X142396892Y-112839460D01*
X142594841Y-112725174D01*
X142641776Y-112654087D01*
X142655720Y-112602048D01*
X142650616Y-112517018D01*
X142574425Y-112385052D01*
X142503339Y-112338117D01*
X141883974Y-112255821D02*
X142345854Y-111989155D01*
X142279871Y-112027250D02*
X142293815Y-111975211D01*
X142288711Y-111890180D01*
X142231568Y-111791206D01*
X142160482Y-111744271D01*
X142075451Y-111749375D01*
X141712545Y-111958898D01*
X142075451Y-111749375D02*
X142122386Y-111678288D01*
X142117283Y-111593257D01*
X142060140Y-111494283D01*
X141989053Y-111447348D01*
X141904023Y-111452452D01*
X141541117Y-111661975D01*
X141350640Y-111332061D02*
X141812521Y-111065394D01*
X142043461Y-110932061D02*
X142029517Y-110984100D01*
X141977478Y-110970156D01*
X141991422Y-110918117D01*
X142043461Y-110932061D01*
X141977478Y-110970156D01*
X141622044Y-110735480D02*
X141160164Y-111002147D01*
X141556062Y-110773575D02*
X141570005Y-110721536D01*
X141564902Y-110636506D01*
X141507759Y-110537531D01*
X141436672Y-110490596D01*
X141351642Y-110495700D01*
X140988736Y-110705224D01*
X141088711Y-109811719D02*
X140527857Y-110135529D01*
X140480921Y-110206616D01*
X140466977Y-110258655D01*
X140472081Y-110343685D01*
X140529224Y-110442660D01*
X140600311Y-110489595D01*
X140659822Y-110059338D02*
X140664926Y-110144369D01*
X140741117Y-110276335D01*
X140812203Y-110323270D01*
X140864242Y-110337214D01*
X140949273Y-110332110D01*
X141147222Y-110217824D01*
X141194157Y-110146738D01*
X141208101Y-110094699D01*
X141202997Y-110009668D01*
X141126806Y-109877702D01*
X141055720Y-109830767D01*
X140726806Y-109184882D02*
X140264926Y-109451549D01*
X140898235Y-109481805D02*
X140535329Y-109691329D01*
X140450299Y-109696433D01*
X140379212Y-109649497D01*
X140322069Y-109550523D01*
X140316965Y-109465492D01*
X140330909Y-109413453D01*
X140574425Y-108920950D02*
X140017307Y-109022660D01*
X140383949Y-108591036D02*
X140017307Y-109022660D01*
X139890445Y-109183881D01*
X139876501Y-109235920D01*
X139881605Y-109320950D01*
X140209786Y-107679852D02*
X139661874Y-108787984D01*
X139713546Y-107658436D02*
X139580213Y-107427495D01*
X139160164Y-107538045D02*
X139350640Y-107867959D01*
X140043461Y-107467959D01*
X139852985Y-107138045D01*
X138931593Y-107142148D02*
X139002680Y-107189083D01*
X139087710Y-107183979D01*
X139681556Y-106841122D01*
X138659822Y-106595237D02*
X138664926Y-106680267D01*
X138741117Y-106812233D01*
X138812203Y-106859168D01*
X138897234Y-106854065D01*
X139161165Y-106701684D01*
X139208101Y-106630597D01*
X139202997Y-106545566D01*
X139126806Y-106413601D01*
X139055720Y-106366665D01*
X138970689Y-106371769D01*
X138904706Y-106409864D01*
X139029200Y-106777874D01*
X138297918Y-105968399D02*
X138303021Y-106053430D01*
X138379212Y-106185396D01*
X138450299Y-106232331D01*
X138502338Y-106246275D01*
X138587368Y-106241171D01*
X138785317Y-106126885D01*
X138832252Y-106055799D01*
X138846196Y-106003760D01*
X138841092Y-105918729D01*
X138764902Y-105786763D01*
X138693815Y-105739828D01*
X138612521Y-105522832D02*
X138460140Y-105258900D01*
X138786318Y-105290524D02*
X138192472Y-105633381D01*
X138107441Y-105638485D01*
X138036355Y-105591550D01*
X137998259Y-105525567D01*
X137864926Y-105294627D02*
X138326806Y-105027960D01*
X138194841Y-105104151D02*
X138241776Y-105033064D01*
X138255720Y-104981025D01*
X138250616Y-104895994D01*
X138212521Y-104830011D01*
X137560164Y-104766764D02*
X137631251Y-104813699D01*
X137683290Y-104827643D01*
X137768321Y-104822539D01*
X137966269Y-104708253D01*
X138013204Y-104637167D01*
X138027148Y-104585127D01*
X138022044Y-104500097D01*
X137964902Y-104401123D01*
X137893815Y-104354187D01*
X137841776Y-104340244D01*
X137756745Y-104345347D01*
X137558797Y-104459633D01*
X137511861Y-104530720D01*
X137497918Y-104582759D01*
X137503021Y-104667789D01*
X137560164Y-104766764D01*
X137717283Y-103972234D02*
X137255402Y-104238901D01*
X137651300Y-104010329D02*
X137665244Y-103958290D01*
X137660140Y-103873260D01*
X137602997Y-103774285D01*
X137531910Y-103727350D01*
X137446880Y-103732454D01*
X137083974Y-103941978D01*
X136893498Y-103612063D02*
X137355378Y-103345396D01*
X137586318Y-103212063D02*
X137572374Y-103264102D01*
X137520335Y-103250158D01*
X137534279Y-103198119D01*
X137586318Y-103212063D01*
X137520335Y-103250158D01*
X136564584Y-102966178D02*
X136569688Y-103051209D01*
X136645879Y-103183174D01*
X136716965Y-103230110D01*
X136769004Y-103244053D01*
X136854035Y-103238950D01*
X137051983Y-103124664D01*
X137098919Y-103053577D01*
X137112863Y-103001538D01*
X137107759Y-102916508D01*
X137031568Y-102784542D01*
X136960482Y-102737607D01*
X136412203Y-102702246D02*
X136341117Y-102655311D01*
X136264926Y-102523345D01*
X136259822Y-102438315D01*
X136306758Y-102367228D01*
X136339749Y-102348181D01*
X136424780Y-102343077D01*
X136495866Y-102390012D01*
X136553009Y-102488986D01*
X136624096Y-102535922D01*
X136709126Y-102530818D01*
X136742118Y-102511770D01*
X136789053Y-102440684D01*
X136783949Y-102355653D01*
X136726806Y-102256679D01*
X136655720Y-102209743D01*
X136065610Y-102330501D02*
X135760848Y-101802637D01*
X135731593Y-101599585D02*
X136424413Y-101199585D01*
X136272032Y-100935653D01*
X136200946Y-100888718D01*
X136148906Y-100874774D01*
X136063876Y-100879878D01*
X135964902Y-100937021D01*
X135917966Y-101008108D01*
X135904023Y-101060147D01*
X135909126Y-101145177D01*
X136061507Y-101409109D01*
X135331593Y-100906765D02*
X135793473Y-100640098D01*
X135661507Y-100716288D02*
X135708443Y-100645202D01*
X135722386Y-100593163D01*
X135717283Y-100508132D01*
X135679187Y-100442149D01*
X135026831Y-100378902D02*
X135097918Y-100425837D01*
X135149957Y-100439781D01*
X135234987Y-100434677D01*
X135432936Y-100320391D01*
X135479871Y-100249304D01*
X135493815Y-100197265D01*
X135488711Y-100112235D01*
X135431568Y-100013261D01*
X135360482Y-99966325D01*
X135308443Y-99952381D01*
X135223412Y-99957485D01*
X135025463Y-100071771D01*
X134978528Y-100142858D01*
X134964584Y-100194897D01*
X134969688Y-100279927D01*
X135026831Y-100378902D01*
X135183949Y-99584372D02*
X134590103Y-99927229D01*
X134543168Y-99998316D01*
X134548272Y-100083346D01*
X134567319Y-100116338D01*
X135414889Y-99451038D02*
X135400946Y-99503078D01*
X135348906Y-99489134D01*
X135362850Y-99437095D01*
X135414889Y-99451038D01*
X135348906Y-99489134D01*
X134412203Y-99238145D02*
X134417307Y-99323175D01*
X134493498Y-99455141D01*
X134564584Y-99502076D01*
X134649615Y-99496973D01*
X134913546Y-99344592D01*
X134960482Y-99273505D01*
X134955378Y-99188474D01*
X134879187Y-99056509D01*
X134808101Y-99009573D01*
X134723070Y-99014677D01*
X134657087Y-99052772D01*
X134781581Y-99420782D01*
X134050299Y-98611307D02*
X134055402Y-98696338D01*
X134131593Y-98828304D01*
X134202680Y-98875239D01*
X134254719Y-98889183D01*
X134339749Y-98884079D01*
X134537698Y-98769793D01*
X134584633Y-98698707D01*
X134598577Y-98646668D01*
X134593473Y-98561637D01*
X134517283Y-98429671D01*
X134446196Y-98382736D01*
X134364902Y-98165740D02*
X134212521Y-97901808D01*
X134538699Y-97933432D02*
X133944853Y-98276289D01*
X133859822Y-98281393D01*
X133788736Y-98234458D01*
X133750640Y-98168475D01*
X133669346Y-97951479D02*
X133598259Y-97904543D01*
X133522069Y-97772578D01*
X133516965Y-97687547D01*
X133563900Y-97616460D01*
X133596892Y-97597413D01*
X133681922Y-97592309D01*
X133753009Y-97639244D01*
X133810152Y-97738218D01*
X133881239Y-97785154D01*
X133966269Y-97780050D01*
X133999261Y-97761002D01*
X134046196Y-97689916D01*
X134041092Y-97604885D01*
X133983949Y-97505911D01*
X133912863Y-97458976D01*
X133322753Y-97579733D02*
X133017991Y-97051870D01*
X133634621Y-96519904D02*
X133648565Y-96467865D01*
X133643461Y-96382834D01*
X133548223Y-96217877D01*
X133477136Y-96170942D01*
X133425097Y-96156998D01*
X133340066Y-96162102D01*
X133274084Y-96200197D01*
X133194157Y-96290331D01*
X133026831Y-96914800D01*
X132779212Y-96485911D01*
X133224413Y-95657022D02*
X133186318Y-95591040D01*
X133115231Y-95544104D01*
X133063192Y-95530160D01*
X132978162Y-95535264D01*
X132827148Y-95578463D01*
X132662191Y-95673701D01*
X132549273Y-95782883D01*
X132502338Y-95853970D01*
X132488394Y-95906009D01*
X132493498Y-95991040D01*
X132531593Y-96057022D01*
X132602680Y-96103958D01*
X132654719Y-96117902D01*
X132739749Y-96112798D01*
X132890762Y-96069599D01*
X133055720Y-95974361D01*
X133168638Y-95865179D01*
X133215573Y-95794092D01*
X133229517Y-95742053D01*
X133224413Y-95657022D01*
X132872716Y-95200246D02*
X132886660Y-95148207D01*
X132881556Y-95063176D01*
X132786318Y-94898219D01*
X132715231Y-94851284D01*
X132663192Y-94837340D01*
X132578162Y-94842444D01*
X132512179Y-94880539D01*
X132432252Y-94970673D01*
X132264926Y-95595142D01*
X132017307Y-95166253D01*
X132462508Y-94337365D02*
X132424413Y-94271382D01*
X132353326Y-94224447D01*
X132301287Y-94210503D01*
X132216257Y-94215606D01*
X132065244Y-94258806D01*
X131900286Y-94354044D01*
X131787368Y-94463226D01*
X131740433Y-94534312D01*
X131726489Y-94586351D01*
X131731593Y-94671382D01*
X131769688Y-94737365D01*
X131840775Y-94784300D01*
X131892814Y-94798244D01*
X131977844Y-94793140D01*
X132128858Y-94749941D01*
X132293815Y-94654703D01*
X132406733Y-94545521D01*
X132453668Y-94474434D01*
X132467612Y-94422395D01*
X132462508Y-94337365D01*
M02*

+ 38
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-Edge.Cuts.gm1 View File

@ -0,0 +1,38 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-03-31T02:51:35-04:00*
G04 #@! TF.ProjectId,pcb,7063622e-6b69-4636-9164-5f7063625858,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Tue 31 Mar 2020 02:51:35 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.152400*%
G04 APERTURE END LIST*
D10*
X165100000Y-141224000D02*
X101600000Y-141224000D01*
X166624000Y-139700000D02*
X165100000Y-141224000D01*
X166624000Y-128524000D02*
X166624000Y-139700000D01*
X169164000Y-125984000D02*
X166624000Y-128524000D01*
X169164000Y-92456000D02*
X169164000Y-125984000D01*
X166624000Y-89916000D02*
X169164000Y-92456000D01*
X166624000Y-87376000D02*
X166624000Y-89916000D01*
X100584000Y-87376000D02*
X166624000Y-87376000D01*
X100584000Y-87884000D02*
X100584000Y-87376000D01*
X100584000Y-141224000D02*
X100584000Y-87884000D01*
X101600000Y-141224000D02*
X100584000Y-141224000D01*
M02*

+ 3378
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-F.Cu.gtl
File diff suppressed because it is too large
View File


+ 6140
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-F.Fab.gbr
File diff suppressed because it is too large
View File


+ 6999
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-F.Mask.gts
File diff suppressed because it is too large
View File


+ 625
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-F.Paste.gtp View File

@ -0,0 +1,625 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-03-31T02:51:35-04:00*
G04 #@! TF.ProjectId,pcb,7063622e-6b69-4636-9164-5f7063625858,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Tue 31 Mar 2020 02:51:35 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.100000*%
%ADD11C,0.997600*%
G04 APERTURE END LIST*
D10*
G04 #@! TO.C,R1*
G36*
X158808188Y-93357244D02*
X158829240Y-93360367D01*
X158849885Y-93365538D01*
X158869923Y-93372708D01*
X158889162Y-93381808D01*
X158907417Y-93392749D01*
X158924511Y-93405427D01*
X158940281Y-93419719D01*
X158954573Y-93435489D01*
X158967251Y-93452583D01*
X158978192Y-93470838D01*
X158987292Y-93490077D01*
X158994462Y-93510115D01*
X158999633Y-93530760D01*
X159002756Y-93551812D01*
X159003800Y-93573069D01*
X159003800Y-94386931D01*
X159002756Y-94408188D01*
X158999633Y-94429240D01*
X158994462Y-94449885D01*
X158987292Y-94469923D01*
X158978192Y-94489162D01*
X158967251Y-94507417D01*
X158954573Y-94524511D01*
X158940281Y-94540281D01*
X158924511Y-94554573D01*
X158907417Y-94567251D01*
X158889162Y-94578192D01*
X158869923Y-94587292D01*
X158849885Y-94594462D01*
X158829240Y-94599633D01*
X158808188Y-94602756D01*
X158786931Y-94603800D01*
X158223069Y-94603800D01*
X158201812Y-94602756D01*
X158180760Y-94599633D01*
X158160115Y-94594462D01*
X158140077Y-94587292D01*
X158120838Y-94578192D01*
X158102583Y-94567251D01*
X158085489Y-94554573D01*
X158069719Y-94540281D01*
X158055427Y-94524511D01*
X158042749Y-94507417D01*
X158031808Y-94489162D01*
X158022708Y-94469923D01*
X158015538Y-94449885D01*
X158010367Y-94429240D01*
X158007244Y-94408188D01*
X158006200Y-94386931D01*
X158006200Y-93573069D01*
X158007244Y-93551812D01*
X158010367Y-93530760D01*
X158015538Y-93510115D01*
X158022708Y-93490077D01*
X158031808Y-93470838D01*
X158042749Y-93452583D01*
X158055427Y-93435489D01*
X158069719Y-93419719D01*
X158085489Y-93405427D01*
X158102583Y-93392749D01*
X158120838Y-93381808D01*
X158140077Y-93372708D01*
X158160115Y-93365538D01*
X158180760Y-93360367D01*
X158201812Y-93357244D01*
X158223069Y-93356200D01*
X158786931Y-93356200D01*
X158808188Y-93357244D01*
X158808188Y-93357244D01*
G37*
D11*
X158505000Y-93980000D03*
D10*
G36*
X156758188Y-93357244D02*
X156779240Y-93360367D01*
X156799885Y-93365538D01*
X156819923Y-93372708D01*
X156839162Y-93381808D01*
X156857417Y-93392749D01*
X156874511Y-93405427D01*
X156890281Y-93419719D01*
X156904573Y-93435489D01*
X156917251Y-93452583D01*
X156928192Y-93470838D01*
X156937292Y-93490077D01*
X156944462Y-93510115D01*
X156949633Y-93530760D01*
X156952756Y-93551812D01*
X156953800Y-93573069D01*
X156953800Y-94386931D01*
X156952756Y-94408188D01*
X156949633Y-94429240D01*
X156944462Y-94449885D01*
X156937292Y-94469923D01*
X156928192Y-94489162D01*
X156917251Y-94507417D01*
X156904573Y-94524511D01*
X156890281Y-94540281D01*
X156874511Y-94554573D01*
X156857417Y-94567251D01*
X156839162Y-94578192D01*
X156819923Y-94587292D01*
X156799885Y-94594462D01*
X156779240Y-94599633D01*
X156758188Y-94602756D01*
X156736931Y-94603800D01*
X156173069Y-94603800D01*
X156151812Y-94602756D01*
X156130760Y-94599633D01*
X156110115Y-94594462D01*
X156090077Y-94587292D01*
X156070838Y-94578192D01*
X156052583Y-94567251D01*
X156035489Y-94554573D01*
X156019719Y-94540281D01*
X156005427Y-94524511D01*
X155992749Y-94507417D01*
X155981808Y-94489162D01*
X155972708Y-94469923D01*
X155965538Y-94449885D01*
X155960367Y-94429240D01*
X155957244Y-94408188D01*
X155956200Y-94386931D01*
X155956200Y-93573069D01*
X155957244Y-93551812D01*
X155960367Y-93530760D01*
X155965538Y-93510115D01*
X155972708Y-93490077D01*
X155981808Y-93470838D01*
X155992749Y-93452583D01*
X156005427Y-93435489D01*
X156019719Y-93419719D01*
X156035489Y-93405427D01*
X156052583Y-93392749D01*
X156070838Y-93381808D01*
X156090077Y-93372708D01*
X156110115Y-93365538D01*
X156130760Y-93360367D01*
X156151812Y-93357244D01*
X156173069Y-93356200D01*
X156736931Y-93356200D01*
X156758188Y-93357244D01*
X156758188Y-93357244D01*
G37*
D11*
X156455000Y-93980000D03*
G04 #@! TD*
D10*
G04 #@! TO.C,R2*
G36*
X161838188Y-93357244D02*
X161859240Y-93360367D01*
X161879885Y-93365538D01*
X161899923Y-93372708D01*
X161919162Y-93381808D01*
X161937417Y-93392749D01*
X161954511Y-93405427D01*
X161970281Y-93419719D01*
X161984573Y-93435489D01*
X161997251Y-93452583D01*
X162008192Y-93470838D01*
X162017292Y-93490077D01*
X162024462Y-93510115D01*
X162029633Y-93530760D01*
X162032756Y-93551812D01*
X162033800Y-93573069D01*
X162033800Y-94386931D01*
X162032756Y-94408188D01*
X162029633Y-94429240D01*
X162024462Y-94449885D01*
X162017292Y-94469923D01*
X162008192Y-94489162D01*
X161997251Y-94507417D01*
X161984573Y-94524511D01*
X161970281Y-94540281D01*
X161954511Y-94554573D01*
X161937417Y-94567251D01*
X161919162Y-94578192D01*
X161899923Y-94587292D01*
X161879885Y-94594462D01*
X161859240Y-94599633D01*
X161838188Y-94602756D01*
X161816931Y-94603800D01*
X161253069Y-94603800D01*
X161231812Y-94602756D01*
X161210760Y-94599633D01*
X161190115Y-94594462D01*
X161170077Y-94587292D01*
X161150838Y-94578192D01*
X161132583Y-94567251D01*
X161115489Y-94554573D01*
X161099719Y-94540281D01*
X161085427Y-94524511D01*
X161072749Y-94507417D01*
X161061808Y-94489162D01*
X161052708Y-94469923D01*
X161045538Y-94449885D01*
X161040367Y-94429240D01*
X161037244Y-94408188D01*
X161036200Y-94386931D01*
X161036200Y-93573069D01*
X161037244Y-93551812D01*
X161040367Y-93530760D01*
X161045538Y-93510115D01*
X161052708Y-93490077D01*
X161061808Y-93470838D01*
X161072749Y-93452583D01*
X161085427Y-93435489D01*
X161099719Y-93419719D01*
X161115489Y-93405427D01*
X161132583Y-93392749D01*
X161150838Y-93381808D01*
X161170077Y-93372708D01*
X161190115Y-93365538D01*
X161210760Y-93360367D01*
X161231812Y-93357244D01*
X161253069Y-93356200D01*
X161816931Y-93356200D01*
X161838188Y-93357244D01*
X161838188Y-93357244D01*
G37*
D11*
X161535000Y-93980000D03*
D10*
G36*
X163888188Y-93357244D02*
X163909240Y-93360367D01*
X163929885Y-93365538D01*
X163949923Y-93372708D01*
X163969162Y-93381808D01*
X163987417Y-93392749D01*
X164004511Y-93405427D01*
X164020281Y-93419719D01*
X164034573Y-93435489D01*
X164047251Y-93452583D01*
X164058192Y-93470838D01*
X164067292Y-93490077D01*
X164074462Y-93510115D01*
X164079633Y-93530760D01*
X164082756Y-93551812D01*
X164083800Y-93573069D01*
X164083800Y-94386931D01*
X164082756Y-94408188D01*
X164079633Y-94429240D01*
X164074462Y-94449885D01*
X164067292Y-94469923D01*
X164058192Y-94489162D01*
X164047251Y-94507417D01*
X164034573Y-94524511D01*
X164020281Y-94540281D01*
X164004511Y-94554573D01*
X163987417Y-94567251D01*
X163969162Y-94578192D01*
X163949923Y-94587292D01*
X163929885Y-94594462D01*
X163909240Y-94599633D01*
X163888188Y-94602756D01*
X163866931Y-94603800D01*
X163303069Y-94603800D01*
X163281812Y-94602756D01*
X163260760Y-94599633D01*
X163240115Y-94594462D01*
X163220077Y-94587292D01*
X163200838Y-94578192D01*
X163182583Y-94567251D01*
X163165489Y-94554573D01*
X163149719Y-94540281D01*
X163135427Y-94524511D01*
X163122749Y-94507417D01*
X163111808Y-94489162D01*
X163102708Y-94469923D01*
X163095538Y-94449885D01*
X163090367Y-94429240D01*
X163087244Y-94408188D01*
X163086200Y-94386931D01*
X163086200Y-93573069D01*
X163087244Y-93551812D01*
X163090367Y-93530760D01*
X163095538Y-93510115D01*
X163102708Y-93490077D01*
X163111808Y-93470838D01*
X163122749Y-93452583D01*
X163135427Y-93435489D01*
X163149719Y-93419719D01*
X163165489Y-93405427D01*
X163182583Y-93392749D01*
X163200838Y-93381808D01*
X163220077Y-93372708D01*
X163240115Y-93365538D01*
X163260760Y-93360367D01*
X163281812Y-93357244D01*
X163303069Y-93356200D01*
X163866931Y-93356200D01*
X163888188Y-93357244D01*
X163888188Y-93357244D01*
G37*
D11*
X163585000Y-93980000D03*
G04 #@! TD*
D10*
G04 #@! TO.C,R3*
G36*
X153728188Y-93357244D02*
X153749240Y-93360367D01*
X153769885Y-93365538D01*
X153789923Y-93372708D01*
X153809162Y-93381808D01*
X153827417Y-93392749D01*
X153844511Y-93405427D01*
X153860281Y-93419719D01*
X153874573Y-93435489D01*
X153887251Y-93452583D01*
X153898192Y-93470838D01*
X153907292Y-93490077D01*
X153914462Y-93510115D01*
X153919633Y-93530760D01*
X153922756Y-93551812D01*
X153923800Y-93573069D01*
X153923800Y-94386931D01*
X153922756Y-94408188D01*
X153919633Y-94429240D01*
X153914462Y-94449885D01*
X153907292Y-94469923D01*
X153898192Y-94489162D01*
X153887251Y-94507417D01*
X153874573Y-94524511D01*
X153860281Y-94540281D01*
X153844511Y-94554573D01*
X153827417Y-94567251D01*
X153809162Y-94578192D01*
X153789923Y-94587292D01*
X153769885Y-94594462D01*
X153749240Y-94599633D01*
X153728188Y-94602756D01*
X153706931Y-94603800D01*
X153143069Y-94603800D01*
X153121812Y-94602756D01*
X153100760Y-94599633D01*
X153080115Y-94594462D01*
X153060077Y-94587292D01*
X153040838Y-94578192D01*
X153022583Y-94567251D01*
X153005489Y-94554573D01*
X152989719Y-94540281D01*
X152975427Y-94524511D01*
X152962749Y-94507417D01*
X152951808Y-94489162D01*
X152942708Y-94469923D01*
X152935538Y-94449885D01*
X152930367Y-94429240D01*
X152927244Y-94408188D01*
X152926200Y-94386931D01*
X152926200Y-93573069D01*
X152927244Y-93551812D01*
X152930367Y-93530760D01*
X152935538Y-93510115D01*
X152942708Y-93490077D01*
X152951808Y-93470838D01*
X152962749Y-93452583D01*
X152975427Y-93435489D01*
X152989719Y-93419719D01*
X153005489Y-93405427D01*
X153022583Y-93392749D01*
X153040838Y-93381808D01*
X153060077Y-93372708D01*
X153080115Y-93365538D01*
X153100760Y-93360367D01*
X153121812Y-93357244D01*
X153143069Y-93356200D01*
X153706931Y-93356200D01*
X153728188Y-93357244D01*
X153728188Y-93357244D01*
G37*
D11*
X153425000Y-93980000D03*
D10*
G36*
X151678188Y-93357244D02*
X151699240Y-93360367D01*
X151719885Y-93365538D01*
X151739923Y-93372708D01*
X151759162Y-93381808D01*
X151777417Y-93392749D01*
X151794511Y-93405427D01*
X151810281Y-93419719D01*
X151824573Y-93435489D01*
X151837251Y-93452583D01*
X151848192Y-93470838D01*
X151857292Y-93490077D01*
X151864462Y-93510115D01*
X151869633Y-93530760D01*
X151872756Y-93551812D01*
X151873800Y-93573069D01*
X151873800Y-94386931D01*
X151872756Y-94408188D01*
X151869633Y-94429240D01*
X151864462Y-94449885D01*
X151857292Y-94469923D01*
X151848192Y-94489162D01*
X151837251Y-94507417D01*
X151824573Y-94524511D01*
X151810281Y-94540281D01*
X151794511Y-94554573D01*
X151777417Y-94567251D01*
X151759162Y-94578192D01*
X151739923Y-94587292D01*
X151719885Y-94594462D01*
X151699240Y-94599633D01*
X151678188Y-94602756D01*
X151656931Y-94603800D01*
X151093069Y-94603800D01*
X151071812Y-94602756D01*
X151050760Y-94599633D01*
X151030115Y-94594462D01*
X151010077Y-94587292D01*
X150990838Y-94578192D01*
X150972583Y-94567251D01*
X150955489Y-94554573D01*
X150939719Y-94540281D01*
X150925427Y-94524511D01*
X150912749Y-94507417D01*
X150901808Y-94489162D01*
X150892708Y-94469923D01*
X150885538Y-94449885D01*
X150880367Y-94429240D01*
X150877244Y-94408188D01*
X150876200Y-94386931D01*
X150876200Y-93573069D01*
X150877244Y-93551812D01*
X150880367Y-93530760D01*
X150885538Y-93510115D01*
X150892708Y-93490077D01*
X150901808Y-93470838D01*
X150912749Y-93452583D01*
X150925427Y-93435489D01*
X150939719Y-93419719D01*
X150955489Y-93405427D01*
X150972583Y-93392749D01*
X150990838Y-93381808D01*
X151010077Y-93372708D01*
X151030115Y-93365538D01*
X151050760Y-93360367D01*
X151071812Y-93357244D01*
X151093069Y-93356200D01*
X151656931Y-93356200D01*
X151678188Y-93357244D01*
X151678188Y-93357244D01*
G37*
D11*
X151375000Y-93980000D03*
G04 #@! TD*
D10*
G04 #@! TO.C,R4*
G36*
X146598188Y-93357244D02*
X146619240Y-93360367D01*
X146639885Y-93365538D01*
X146659923Y-93372708D01*
X146679162Y-93381808D01*
X146697417Y-93392749D01*
X146714511Y-93405427D01*
X146730281Y-93419719D01*
X146744573Y-93435489D01*
X146757251Y-93452583D01*
X146768192Y-93470838D01*
X146777292Y-93490077D01*
X146784462Y-93510115D01*
X146789633Y-93530760D01*
X146792756Y-93551812D01*
X146793800Y-93573069D01*
X146793800Y-94386931D01*
X146792756Y-94408188D01*
X146789633Y-94429240D01*
X146784462Y-94449885D01*
X146777292Y-94469923D01*
X146768192Y-94489162D01*
X146757251Y-94507417D01*
X146744573Y-94524511D01*
X146730281Y-94540281D01*
X146714511Y-94554573D01*
X146697417Y-94567251D01*
X146679162Y-94578192D01*
X146659923Y-94587292D01*
X146639885Y-94594462D01*
X146619240Y-94599633D01*
X146598188Y-94602756D01*
X146576931Y-94603800D01*
X146013069Y-94603800D01*
X145991812Y-94602756D01*
X145970760Y-94599633D01*
X145950115Y-94594462D01*
X145930077Y-94587292D01*
X145910838Y-94578192D01*
X145892583Y-94567251D01*
X145875489Y-94554573D01*
X145859719Y-94540281D01*
X145845427Y-94524511D01*
X145832749Y-94507417D01*
X145821808Y-94489162D01*
X145812708Y-94469923D01*
X145805538Y-94449885D01*
X145800367Y-94429240D01*
X145797244Y-94408188D01*
X145796200Y-94386931D01*
X145796200Y-93573069D01*
X145797244Y-93551812D01*
X145800367Y-93530760D01*
X145805538Y-93510115D01*
X145812708Y-93490077D01*
X145821808Y-93470838D01*
X145832749Y-93452583D01*
X145845427Y-93435489D01*
X145859719Y-93419719D01*
X145875489Y-93405427D01*
X145892583Y-93392749D01*
X145910838Y-93381808D01*
X145930077Y-93372708D01*
X145950115Y-93365538D01*
X145970760Y-93360367D01*
X145991812Y-93357244D01*
X146013069Y-93356200D01*
X146576931Y-93356200D01*
X146598188Y-93357244D01*
X146598188Y-93357244D01*
G37*
D11*
X146295000Y-93980000D03*
D10*
G36*
X148648188Y-93357244D02*
X148669240Y-93360367D01*
X148689885Y-93365538D01*
X148709923Y-93372708D01*
X148729162Y-93381808D01*
X148747417Y-93392749D01*
X148764511Y-93405427D01*
X148780281Y-93419719D01*
X148794573Y-93435489D01*
X148807251Y-93452583D01*
X148818192Y-93470838D01*
X148827292Y-93490077D01*
X148834462Y-93510115D01*
X148839633Y-93530760D01*
X148842756Y-93551812D01*
X148843800Y-93573069D01*
X148843800Y-94386931D01*
X148842756Y-94408188D01*
X148839633Y-94429240D01*
X148834462Y-94449885D01*
X148827292Y-94469923D01*
X148818192Y-94489162D01*
X148807251Y-94507417D01*
X148794573Y-94524511D01*
X148780281Y-94540281D01*
X148764511Y-94554573D01*
X148747417Y-94567251D01*
X148729162Y-94578192D01*
X148709923Y-94587292D01*
X148689885Y-94594462D01*
X148669240Y-94599633D01*
X148648188Y-94602756D01*
X148626931Y-94603800D01*
X148063069Y-94603800D01*
X148041812Y-94602756D01*
X148020760Y-94599633D01*
X148000115Y-94594462D01*
X147980077Y-94587292D01*
X147960838Y-94578192D01*
X147942583Y-94567251D01*
X147925489Y-94554573D01*
X147909719Y-94540281D01*
X147895427Y-94524511D01*
X147882749Y-94507417D01*
X147871808Y-94489162D01*
X147862708Y-94469923D01*
X147855538Y-94449885D01*
X147850367Y-94429240D01*
X147847244Y-94408188D01*
X147846200Y-94386931D01*
X147846200Y-93573069D01*
X147847244Y-93551812D01*
X147850367Y-93530760D01*
X147855538Y-93510115D01*
X147862708Y-93490077D01*
X147871808Y-93470838D01*
X147882749Y-93452583D01*
X147895427Y-93435489D01*
X147909719Y-93419719D01*
X147925489Y-93405427D01*
X147942583Y-93392749D01*
X147960838Y-93381808D01*
X147980077Y-93372708D01*
X148000115Y-93365538D01*
X148020760Y-93360367D01*
X148041812Y-93357244D01*
X148063069Y-93356200D01*
X148626931Y-93356200D01*
X148648188Y-93357244D01*
X148648188Y-93357244D01*
G37*
D11*
X148345000Y-93980000D03*
G04 #@! TD*
M02*

+ 305
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb-F.SilkS.gto View File

@ -0,0 +1,305 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-03-31T02:51:35-04:00*
G04 #@! TF.ProjectId,pcb,7063622e-6b69-4636-9164-5f7063625858,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Tue 31 Mar 2020 02:51:35 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.120000*%
%ADD11C,0.150000*%
G04 APERTURE END LIST*
D10*
G04 #@! TO.C,A1*
X169335001Y-125625001D02*
X169335001Y-92855001D01*
X169335001Y-92855001D02*
X166795001Y-90315001D01*
X166795001Y-90315001D02*
X166795001Y-87645001D01*
X166795001Y-87645001D02*
X100495001Y-87645001D01*
X100495001Y-87645001D02*
X100495001Y-90825001D01*
X100495001Y-90825001D02*
X98595001Y-90825001D01*
X98595001Y-90825001D02*
X98595001Y-99965001D01*
X98595001Y-99965001D02*
X100495001Y-99965001D01*
X100495001Y-99965001D02*
X100495001Y-120035001D01*
X100495001Y-120035001D02*
X94145001Y-120035001D01*
X94145001Y-120035001D02*
X94145001Y-131715001D01*
X94145001Y-131715001D02*
X100495001Y-131715001D01*
X100495001Y-131715001D02*
X100495001Y-141245001D01*
X100495001Y-141245001D02*
X165145001Y-141245001D01*
X165145001Y-141245001D02*
X166795001Y-139595001D01*
X166795001Y-139595001D02*
X166795001Y-128165001D01*
X166795001Y-128165001D02*
X169335001Y-125625001D01*
G04 #@! TO.C,R1*
X157218748Y-94690000D02*
X157741252Y-94690000D01*
X157218748Y-93270000D02*
X157741252Y-93270000D01*
G04 #@! TO.C,R2*
X162298748Y-93270000D02*
X162821252Y-93270000D01*
X162298748Y-94690000D02*
X162821252Y-94690000D01*
G04 #@! TO.C,R3*
X152661252Y-94690000D02*
X152138748Y-94690000D01*
X152661252Y-93270000D02*
X152138748Y-93270000D01*
G04 #@! TO.C,R4*
X147581252Y-93270000D02*
X147058748Y-93270000D01*
X147581252Y-94690000D02*
X147058748Y-94690000D01*
G04 #@! TO.C,J1*
X142180000Y-99000000D02*
X142180000Y-104200000D01*
X162560000Y-99000000D02*
X142180000Y-99000000D01*
X165160000Y-104200000D02*
X142180000Y-104200000D01*
X162560000Y-99000000D02*
X162560000Y-101600000D01*
X162560000Y-101600000D02*
X165160000Y-101600000D01*
X165160000Y-101600000D02*
X165160000Y-104200000D01*
X163830000Y-99000000D02*
X165160000Y-99000000D01*
X165160000Y-99000000D02*
X165160000Y-100330000D01*
G04 #@! TO.C,A1*
D11*
X129120715Y-86671667D02*
X129596905Y-86671667D01*
X129025477Y-86957381D02*
X129358810Y-85957381D01*
X129692143Y-86957381D01*
X130549286Y-86957381D02*
X129977858Y-86957381D01*
X130263572Y-86957381D02*
X130263572Y-85957381D01*
X130168334Y-86100239D01*
X130073096Y-86195477D01*
X129977858Y-86243096D01*
G04 #@! TO.C,R1*
X156789523Y-96972380D02*
X156218095Y-96972380D01*
X156503809Y-96972380D02*
X156503809Y-95972380D01*
X156408571Y-96115238D01*
X156313333Y-96210476D01*
X156218095Y-96258095D01*
X157408571Y-95972380D02*
X157503809Y-95972380D01*
X157599047Y-96020000D01*
X157646666Y-96067619D01*
X157694285Y-96162857D01*
X157741904Y-96353333D01*
X157741904Y-96591428D01*
X157694285Y-96781904D01*
X157646666Y-96877142D01*
X157599047Y-96924761D01*
X157503809Y-96972380D01*
X157408571Y-96972380D01*
X157313333Y-96924761D01*
X157265714Y-96877142D01*
X157218095Y-96781904D01*
X157170476Y-96591428D01*
X157170476Y-96353333D01*
X157218095Y-96162857D01*
X157265714Y-96067619D01*
X157313333Y-96020000D01*
X157408571Y-95972380D01*
X158170476Y-96972380D02*
X158170476Y-95972380D01*
X158741904Y-96972380D02*
X158313333Y-96400952D01*
X158741904Y-95972380D02*
X158170476Y-96543809D01*
G04 #@! TO.C,R2*
X161869523Y-96972380D02*
X161298095Y-96972380D01*
X161583809Y-96972380D02*
X161583809Y-95972380D01*
X161488571Y-96115238D01*
X161393333Y-96210476D01*
X161298095Y-96258095D01*
X162488571Y-95972380D02*
X162583809Y-95972380D01*
X162679047Y-96020000D01*
X162726666Y-96067619D01*
X162774285Y-96162857D01*
X162821904Y-96353333D01*
X162821904Y-96591428D01*
X162774285Y-96781904D01*
X162726666Y-96877142D01*
X162679047Y-96924761D01*
X162583809Y-96972380D01*
X162488571Y-96972380D01*
X162393333Y-96924761D01*
X162345714Y-96877142D01*
X162298095Y-96781904D01*
X162250476Y-96591428D01*
X162250476Y-96353333D01*
X162298095Y-96162857D01*
X162345714Y-96067619D01*
X162393333Y-96020000D01*
X162488571Y-95972380D01*
X163250476Y-96972380D02*
X163250476Y-95972380D01*
X163821904Y-96972380D02*
X163393333Y-96400952D01*
X163821904Y-95972380D02*
X163250476Y-96543809D01*
G04 #@! TO.C,R3*
X151280952Y-96972380D02*
X150947619Y-96496190D01*
X150709523Y-96972380D02*
X150709523Y-95972380D01*
X151090476Y-95972380D01*
X151185714Y-96020000D01*
X151233333Y-96067619D01*
X151280952Y-96162857D01*
X151280952Y-96305714D01*
X151233333Y-96400952D01*
X151185714Y-96448571D01*
X151090476Y-96496190D01*
X150709523Y-96496190D01*
X152138095Y-95972380D02*
X151947619Y-95972380D01*
X151852380Y-96020000D01*
X151804761Y-96067619D01*
X151709523Y-96210476D01*
X151661904Y-96400952D01*
X151661904Y-96781904D01*
X151709523Y-96877142D01*
X151757142Y-96924761D01*
X151852380Y-96972380D01*
X152042857Y-96972380D01*
X152138095Y-96924761D01*
X152185714Y-96877142D01*
X152233333Y-96781904D01*
X152233333Y-96543809D01*
X152185714Y-96448571D01*
X152138095Y-96400952D01*
X152042857Y-96353333D01*
X151852380Y-96353333D01*
X151757142Y-96400952D01*
X151709523Y-96448571D01*
X151661904Y-96543809D01*
X152804761Y-96400952D02*
X152709523Y-96353333D01*
X152661904Y-96305714D01*
X152614285Y-96210476D01*
X152614285Y-96162857D01*
X152661904Y-96067619D01*
X152709523Y-96020000D01*
X152804761Y-95972380D01*
X152995238Y-95972380D01*
X153090476Y-96020000D01*
X153138095Y-96067619D01*
X153185714Y-96162857D01*
X153185714Y-96210476D01*
X153138095Y-96305714D01*
X153090476Y-96353333D01*
X152995238Y-96400952D01*
X152804761Y-96400952D01*
X152709523Y-96448571D01*
X152661904Y-96496190D01*
X152614285Y-96591428D01*
X152614285Y-96781904D01*
X152661904Y-96877142D01*
X152709523Y-96924761D01*
X152804761Y-96972380D01*
X152995238Y-96972380D01*
X153090476Y-96924761D01*
X153138095Y-96877142D01*
X153185714Y-96781904D01*
X153185714Y-96591428D01*
X153138095Y-96496190D01*
X153090476Y-96448571D01*
X152995238Y-96400952D01*
X153804761Y-95972380D02*
X153900000Y-95972380D01*
X153995238Y-96020000D01*
X154042857Y-96067619D01*
X154090476Y-96162857D01*
X154138095Y-96353333D01*
X154138095Y-96591428D01*
X154090476Y-96781904D01*
X154042857Y-96877142D01*
X153995238Y-96924761D01*
X153900000Y-96972380D01*
X153804761Y-96972380D01*
X153709523Y-96924761D01*
X153661904Y-96877142D01*
X153614285Y-96781904D01*
X153566666Y-96591428D01*
X153566666Y-96353333D01*
X153614285Y-96162857D01*
X153661904Y-96067619D01*
X153709523Y-96020000D01*
X153804761Y-95972380D01*
G04 #@! TO.C,R4*
X146653333Y-96972380D02*
X146320000Y-96496190D01*
X146081904Y-96972380D02*
X146081904Y-95972380D01*
X146462857Y-95972380D01*
X146558095Y-96020000D01*
X146605714Y-96067619D01*
X146653333Y-96162857D01*
X146653333Y-96305714D01*
X146605714Y-96400952D01*
X146558095Y-96448571D01*
X146462857Y-96496190D01*
X146081904Y-96496190D01*
X147605714Y-96972380D02*
X147034285Y-96972380D01*
X147320000Y-96972380D02*
X147320000Y-95972380D01*
X147224761Y-96115238D01*
X147129523Y-96210476D01*
X147034285Y-96258095D01*
X148034285Y-96972380D02*
X148034285Y-95972380D01*
X148605714Y-96972380D02*
X148177142Y-96400952D01*
X148605714Y-95972380D02*
X148034285Y-96543809D01*
G04 #@! TO.C,J1*
X165612380Y-101933333D02*
X166326666Y-101933333D01*
X166469523Y-101980952D01*
X166564761Y-102076190D01*
X166612380Y-102219047D01*
X166612380Y-102314285D01*
X166612380Y-100933333D02*
X166612380Y-101504761D01*
X166612380Y-101219047D02*
X165612380Y-101219047D01*
X165755238Y-101314285D01*
X165850476Y-101409523D01*
X165898095Y-101504761D01*
G04 #@! TD*
M02*

+ 153
- 0
OV7670_Image_Sensor/pcb/gerbers/pcb.drl View File

@ -0,0 +1,153 @@
M48
;DRILL file {KiCad 5.0.2+dfsg1-1~bpo9+1} date Tue 31 Mar 2020 02:51:37 AM EDT
;FORMAT={-:-/ absolute / inch / decimal}
FMAT,2
INCH,TZ
T1C0.0130
T2C0.0315
T3C0.0394
%
G90
G05
T1
X5.75Y-3.8
X5.87Y-3.52
X5.9Y-3.65
X6.0035Y-3.75
X6.25Y-3.625
X6.4Y-3.65
X6.5Y-3.65
T2
X4.7018Y-5.4557
X4.8018Y-5.4557
X4.9018Y-5.4557
X5.0018Y-5.4557
X5.0616Y-3.5557
X5.1018Y-5.4557
X5.1616Y-3.5557
X5.2018Y-5.4557
X5.2616Y-3.5557
X5.3018Y-5.4557
X5.3616Y-3.5557
X5.4018Y-5.4557
X5.4616Y-3.5557
X5.5018Y-5.4557
X5.5616Y-3.5557
X5.6018Y-5.4557
X5.6616Y-3.5557
X5.7616Y-3.5557
X5.7616Y-5.4557
X5.8616Y-5.4557
X5.9616Y-3.5557
X5.9616Y-5.4557
X6.0616Y-3.5557
X6.0616Y-5.4557
X6.1616Y-3.5557
X6.1616Y-5.4557
X6.2616Y-3.5557
X6.2616Y-5.4557
X6.3616Y-3.5557
X6.3616Y-5.4557
X6.4616Y-3.5557
X6.4616Y-5.4557
T3
X5.3Y-4.85
X5.3Y-4.95
X5.3Y-5.05
X5.3Y-5.15
X5.3Y-5.25
X4.8Y-4.15
X5.3Y-4.15
X5.3Y-4.25
X5.3Y-4.35
X5.3Y-4.45
X5.3Y-4.55
X5.4Y-4.85
X5.4Y-4.95
X5.4Y-5.05
X5.4Y-5.15
X5.4Y-5.25
X4.8Y-4.25
X4.8Y-4.35
X4.8Y-4.45
X4.8Y-4.55
X4.9Y-4.15
X4.9Y-4.25
X4.9Y-4.35
X4.9Y-4.45
X4.9Y-4.55
X5.Y-4.85
X5.Y-4.95
X5.Y-5.05
X5.Y-5.15
X5.Y-5.25
X4.9Y-4.85
X5.1Y-4.15
X5.1Y-4.25
X5.1Y-4.35
X5.1Y-4.45
X5.1Y-4.55
X4.9Y-4.95
X4.9Y-5.05
X4.9Y-5.15
X4.9Y-5.25
X5.4Y-4.15
X5.4Y-4.25
X5.4Y-4.35
X5.2Y-4.15
X5.2Y-4.25
X5.2Y-4.35
X5.Y-4.15
X5.Y-4.25
X5.Y-4.35
X5.Y-4.45
X5.Y-4.55
X4.7Y-4.15
X4.7Y-4.25
X4.7Y-4.35
X4.7Y-4.45
X4.7Y-4.55
X4.8Y-4.85
X4.8Y-4.95
X4.8Y-5.05
X4.8Y-5.15
X4.8Y-5.25
X5.1Y-4.85
X5.1Y-4.95
X5.1Y-5.05
X5.1Y-5.15
X5.1Y-5.25
X5.2Y-4.85
X5.2Y-4.95
X5.2Y-5.05
X5.2Y-5.15
X5.2Y-5.25
X5.65Y-4.05
X5.2Y-4.45
X5.2Y-4.55
X5.4Y-4.45
X5.4Y-4.55
X5.65Y-3.95
X5.75Y-3.95
X5.75Y-4.05
X5.85Y-3.95
X5.85Y-4.05
X5.95Y-3.95
X5.95Y-4.05
X6.05Y-3.95
X6.05Y-4.05
X6.15Y-3.95
X6.15Y-4.05
X6.25Y-3.95
X6.25Y-4.05
X6.35Y-3.95
X6.35Y-4.05
X6.45Y-3.95
X6.45Y-4.05
X4.7Y-4.85
X4.7Y-4.95
X4.7Y-5.05
X4.7Y-5.15
X4.7Y-5.25
T0
M30

+ 163
- 0
OV7670_Image_Sensor/pcb/pcb-cache.lib View File

@ -0,0 +1,163 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# Connector_Generic_Conn_02x09_Odd_Even
#
DEF Connector_Generic_Conn_02x09_Odd_Even J 0 40 Y N 1 F N
F0 "J" 50 500 50 H V C CNN
F1 "Connector_Generic_Conn_02x09_Odd_Even" 50 -500 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_2x??_*
$ENDFPLIST
DRAW
S -50 -395 0 -405 1 1 6 N
S -50 -295 0 -305 1 1 6 N
S -50 -195 0 -205 1 1 6 N
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 205 0 195 1 1 6 N
S -50 305 0 295 1 1 6 N
S -50 405 0 395 1 1 6 N
S -50 450 150 -450 1 1 10 f
S 150 -395 100 -405 1 1 6 N
S 150 -295 100 -305 1 1 6 N
S 150 -195 100 -205 1 1 6 N
S 150 -95 100 -105 1 1 6 N
S 150 5 100 -5 1 1 6 N
S 150 105 100 95 1 1 6 N
S 150 205 100 195 1 1 6 N
S 150 305 100 295 1 1 6 N
S 150 405 100 395 1 1 6 N
X Pin_1 1 -200 400 150 R 50 50 1 1 P
X Pin_10 10 300 0 150 L 50 50 1 1 P
X Pin_11 11 -200 -100 150 R 50 50 1 1 P
X Pin_12 12 300 -100 150 L 50 50 1 1 P
X Pin_13 13 -200 -200 150 R 50 50 1 1 P
X Pin_14 14 300 -200 150 L 50 50 1 1 P
X Pin_15 15 -200 -300 150 R 50 50 1 1 P
X Pin_16 16 300 -300 150 L 50 50 1 1 P
X Pin_17 17 -200 -400 150 R 50 50 1 1 P
X Pin_18 18 300 -400 150 L 50 50 1 1 P
X Pin_2 2 300 400 150 L 50 50 1 1 P
X Pin_3 3 -200 300 150 R 50 50 1 1 P
X Pin_4 4 300 300 150 L 50 50 1 1 P
X Pin_5 5 -200 200 150 R 50 50 1 1 P
X Pin_6 6 300 200 150 L 50 50 1 1 P
X Pin_7 7 -200 100 150 R 50 50 1 1 P
X Pin_8 8 300 100 150 L 50 50 1 1 P
X Pin_9 9 -200 0 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Device_R
#
DEF Device_R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN
F1 "Device_R" 0 0 50 V V C CNN
F2 "" -70 0 50 V I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
R_*
$ENDFPLIST
DRAW
S -40 -100 40 100 0 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# MCU_Module_Arduino_UNO_R3
#
DEF MCU_Module_Arduino_UNO_R3 A 0 40 Y Y 1 F N
F0 "A" -200 1050 50 H V R CNN
F1 "MCU_Module_Arduino_UNO_R3" -200 950 50 H V R CNN
F2 "Module:Arduino_UNO_R3" 150 -1050 50 H I L CNN
F3 "" -200 1050 50 H I C CNN
$FPLIST
Arduino*UNO*R3*
$ENDFPLIST
DRAW
S -400 900 400 -1000 0 1 10 f
X NC 1 -500 -800 100 R 50 50 1 1 N N
X A1 10 500 -100 100 L 50 50 1 1 B
X A2 11 500 -200 100 L 50 50 1 1 B
X A3 12 500 -300 100 L 50 50 1 1 B
X A4/SDA 13 500 -400 100 L 50 50 1 1 B
X A5/SCL 14 500 -500 100 L 50 50 1 1 B
X D0/RX 15 -500 600 100 R 50 50 1 1 B
X D1/TX 16 -500 500 100 R 50 50 1 1 B
X D2 17 -500 400 100 R 50 50 1 1 B
X D3 18 -500 300 100 R 50 50 1 1 B
X D4 19 -500 200 100 R 50 50 1 1 B
X IOREF 2 500 400 100 L 50 50 1 1 O
X D5 20 -500 100 100 R 50 50 1 1 B
X D6 21 -500 0 100 R 50 50 1 1 B
X D7 22 -500 -100 100 R 50 50 1 1 B
X D8 23 -500 -200 100 R 50 50 1 1 B
X D9 24 -500 -300 100 R 50 50 1 1 B
X D10 25 -500 -400 100 R 50 50 1 1 B
X D11 26 -500 -500 100 R 50 50 1 1 B
X D12 27 -500 -600 100 R 50 50 1 1 B
X D13 28 -500 -700 100 R 50 50 1 1 B
X GND 29 -100 -1100 100 U 50 50 1 1 W
X RESET 3 500 600 100 L 50 50 1 1 I
X AREF 30 500 200 100 L 50 50 1 1 I
X SDA 31 500 -700 100 L 50 50 1 1 B
X SCL 32 500 -800 100 L 50 50 1 1 B
X 3V3 4 100 1000 100 D 50 50 1 1 w
X +5V 5 200 1000 100 D 50 50 1 1 w
X GND 6 0 -1100 100 U 50 50 1 1 W
X GND 7 100 -1100 100 U 50 50 1 1 W
X VIN 8 -100 1000 100 D 50 50 1 1 W
X A0 9 500 0 100 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
# power_+3V3
#
DEF power_+3V3 #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power_+3V3" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
ALIAS +3.3V
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power_+5V
#
DEF power_+5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power_+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power_GND
#
DEF power_GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "power_GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
#End Library

+ 273
- 0
OV7670_Image_Sensor/pcb/pcb.bak View File

@ -0,0 +1,273 @@
EESchema Schematic File Version 4
EELAYER 26 0
EELAYER END
$Descr USLetter 11000 8500
encoding utf-8
Sheet 1 1
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L Connector_Generic:Conn_02x09_Counter_Clockwise J1
U 1 1 5E82D94D
P 3450 3900
F 0 "J1" H 2975 5075 50 0000 C CNN
F 1 "Conn_02x09_Counter_Clockwise" H 2850 5200 50 0000 C CNN
F 2 "Connector_PinHeader_2.54mm:PinHeader_2x09_P2.54mm_Vertical" H 3450 3900 50 0001 C CNN
F 3 "~" H 3450 3900 50 0001 C CNN
1 3450 3900
1 0 0 -1
$EndComp
Text Notes 3450 3025 0 50 ~ 0
OV7670
$Comp
L power:+3V3 #PWR0101
U 1 1 5E82DA8E
P 3250 3500
F 0 "#PWR0101" H 3250 3350 50 0001 C CNN
F 1 "+3V3" H 3265 3673 50 0000 C CNN
F 2 "" H 3250 3500 50 0001 C CNN
F 3 "" H 3250 3500 50 0001 C CNN
1 3250 3500
1 0 0 -1
$EndComp
$Comp
L power:GND #PWR0102
U 1 1 5E82DAF2
P 4150 3500
F 0 "#PWR0102" H 4150 3250 50 0001 C CNN
F 1 "GND" H 4155 3327 50 0000 C CNN
F 2 "" H 4150 3500 50 0001 C CNN
F 3 "" H 4150 3500 50 0001 C CNN
1 4150 3500
1 0 0 -1
$EndComp
Wire Wire Line
4150 3500 3750 3500
Text Label 3250 3600 2 50 ~ 0
SIOC
Text Label 3250 3700 2 50 ~ 0
VSYNC
Text Label 3250 3800 2 50 ~ 0
PCLK
Text Label 3750 3600 0 50 ~ 0
SIOD
Text Label 3750 3800 0 50 ~ 0
XCLK
Text Label 3250 4300 2 50 ~ 0
RESET
Text Label 3750 4300 0 50 ~ 0
PWDN
Text Label 3750 4200 0 50 ~ 0
D0
Text Label 3750 4100 0 50 ~ 0
D2
Text Label 3750 4000 0 50 ~ 0
D4
Text Label 3750 3900 0 50 ~ 0
D6
Text Label 3250 4200 2 50 ~ 0
D1
Text Label 3250 4100 2 50 ~ 0
D3
Text Label 3250 4000 2 50 ~ 0
D5
Text Label 3250 3900 2 50 ~ 0
D7
Text Label 3750 3700 0 50 ~ 0
NC-16
$Comp
L MCU_Module:Arduino_UNO_R3 A1
U 1 1 5E82DE4B
P 6450 3875
F 0 "A1" H 5850 5175 50 0000 C CNN
F 1 "Arduino_UNO_R3" H 5875 5000 50 0000 C CNN
F 2 "Module:Arduino_UNO_R3" H 6600 2825 50 0001 L CNN
F 3 "https://www.arduino.cc/en/Main/arduinoBoardUno" H 6250 4925 50 0001 C CNN
1 6450 3875
1 0 0 -1
$EndComp
$Comp
L power:GND #PWR0103
U 1 1 5E82E0BD
P 6550 4975
F 0 "#PWR0103" H 6550 4725 50 0001 C CNN
F 1 "GND" H 6555 4802 50 0000 C CNN
F 2 "" H 6550 4975 50 0001 C CNN
F 3 "" H 6550 4975 50 0001 C CNN
1 6550 4975
1 0 0 -1
$EndComp
Wire Wire Line
6550 4975 6450 4975
Connection ~ 6550 4975
Connection ~ 6450 4975
Wire Wire Line
6450 4975 6350 4975
$Comp
L power:+3V3 #PWR0104
U 1 1 5E82E1A2
P 6550 2875
F 0 "#PWR0104" H 6550 2725 50 0001 C CNN
F 1 "+3V3" H 6565 3048 50 0000 C CNN
F 2 "" H 6550 2875 50 0001 C CNN
F 3 "" H 6550 2875 50 0001 C CNN
1 6550 2875
1 0 0 -1
$EndComp
$Comp
L power:+5V #PWR0105
U 1 1 5E82E2E4
P 6650 2875
F 0 "#PWR0105" H 6650 2725 50 0001 C CNN
F 1 "+5V" H 6775 3025 50 0000 C CNN
F 2 "" H 6650 2875 50 0001 C CNN
F 3 "" H 6650 2875 50 0001 C CNN
1 6650 2875
1 0 0 -1
$EndComp
Wire Wire Line
3750 3600 4450 3600
$Comp
L Device:R R2
U 1 1 5E82E56A
P 4450 3450
F 0 "R2" H 4520 3496 50 0000 L CNN
F 1 "10K" H 4520 3405 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 4380 3450 50 0001 C CNN
F 3 "~" H 4450 3450 50 0001 C CNN
1 4450 3450
1 0 0 -1
$EndComp
$Comp
L power:+3V3 #PWR0106
U 1 1 5E82E68F
P 4450 3300
F 0 "#PWR0106" H 4450 3150 50 0001 C CNN
F 1 "+3V3" H 4465 3473 50 0000 C CNN
F 2 "" H 4450 3300 50 0001 C CNN
F 3 "" H 4450 3300 50 0001 C CNN
1 4450 3300
1 0 0 -1
$EndComp
Text Label 6950 4275 0 50 ~ 0
SIOD
$Comp
L Device:R R1
U 1 1 5E82EAE2
P 2700 3450
F 0 "R1" H 2770 3496 50 0000 L CNN
F 1 "10K" H 2770 3405 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 2630 3450 50 0001 C CNN
F 3 "~" H 2700 3450 50 0001 C CNN
1 2700 3450
1 0 0 -1
$EndComp
$Comp
L power:+3V3 #PWR0107
U 1 1 5E82EAE8
P 2700 3300
F 0 "#PWR0107" H 2700 3150 50 0001 C CNN
F 1 "+3V3" H 2715 3473 50 0000 C CNN
F 2 "" H 2700 3300 50 0001 C CNN
F 3 "" H 2700 3300 50 0001 C CNN
1 2700 3300
1 0 0 -1
$EndComp
Wire Wire Line
2700 3600 3250 3600
Text Label 6950 4375 0 50 ~ 0
SIOC
Text Label 5950 3475 2 50 ~ 0
VSYNC
Text Label 5950 4475 2 50 ~ 0
PCLK
$Comp
L Device:R R3
U 1 1 5E82F3BF
P 5300 3725
F 0 "R3" H 5370 3771 50 0000 L CNN
F 1 "R680" H 5370 3680 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 5230 3725 50 0001 C CNN
F 3 "~" H 5300 3725 50 0001 C CNN
1 5300 3725
1 0 0 -1
$EndComp
$Comp
L Device:R R4
U 1 1 5E82F408
P 5300 4025
F 0 "R4" H 5370 4071 50 0000 L CNN
F 1 "R1K" H 5370 3980 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 5230 4025 50 0001 C CNN
F 3 "~" H 5300 4025 50 0001 C CNN
1 5300 4025
1 0 0 -1
$EndComp
Wire Wire Line
5300 3875 5050 3875
Connection ~ 5300 3875
Text Label 5050 3875 0 50 ~ 0
XCLK
Wire Wire Line
5300 3575 5950 3575
$Comp
L power:GND #PWR0108
U 1 1 5E82FDF4
P 5300 4175
F 0 "#PWR0108" H 5300 3925 50 0001 C CNN
F 1 "GND" H 5305 4002 50 0000 C CNN
F 2 "" H 5300 4175 50 0001 C CNN
F 3 "" H 5300 4175 50 0001 C CNN
1 5300 4175
1 0 0 -1
$EndComp
Wire Wire Line
3250 4300 3250 4625
Wire Wire Line
3250 4625 2900 4625
$Comp
L power:GND #PWR0109
U 1 1 5E8300F1
P 3750 4300
F 0 "#PWR0109" H 3750 4050 50 0001 C CNN
F 1 "GND" H 3755 4127 50 0000 C CNN
F 2 "" H 3750 4300 50 0001 C CNN
F 3 "" H 3750 4300 50 0001 C CNN
1 3750 4300
1 0 0 -1
$EndComp
$Comp
L power:+3V3 #PWR0110
U 1 1 5E8301F4
P 2900 4625
F 0 "#PWR0110" H 2900 4475 50 0001 C CNN
F 1 "+3V3" H 2915 4798 50 0000 C CNN
F 2 "" H 2900 4625 50 0001 C CNN
F 3 "" H 2900 4625 50 0001 C CNN
1 2900 4625
1 0 0 -1
$EndComp
Text Label 6950 3875 0 50 ~ 0
D0
Text Label 6950 3975 0 50 ~ 0
D1
Text Label 6950 4075 0 50 ~ 0
D2
Text Label 6950 4175 0 50 ~ 0
D3
Text Label 5950 3675 2 50 ~ 0
D4
Text Label 5950 3775 2 50 ~ 0
D5
Text Label 5950 3875 2 50 ~ 0
D6
Text Label 5950 3975 2 50 ~ 0
D7
$EndSCHEMATC

+ 1467
- 0
OV7670_Image_Sensor/pcb/pcb.kicad_pcb
File diff suppressed because it is too large
View File


+ 1467
- 0
OV7670_Image_Sensor/pcb/pcb.kicad_pcb-bak
File diff suppressed because it is too large
View File


+ 238
- 0
OV7670_Image_Sensor/pcb/pcb.net View File

@ -0,0 +1,238 @@
(export (version D)
(design
(source /home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/OV7670_Image_Sensor/pcb/pcb.sch)
(date "Tue 31 Mar 2020 02:21:42 AM EDT")
(tool "Eeschema 5.0.2+dfsg1-1~bpo9+1")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title)
(company)
(rev)
(date)
(source pcb.sch)
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value "")))))
(components
(comp (ref J1)
(value Conn_02x09_Counter_Clockwise)
(footprint Connector_PinHeader_2.54mm:PinHeader_2x09_P2.54mm_Vertical)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_02x09_Odd_Even) (description "Generic connector, double row, 02x09, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 5E82D94D))
(comp (ref A1)
(value Arduino_UNO_R3)
(footprint Module:Arduino_UNO_R3)
(datasheet https://www.arduino.cc/en/Main/arduinoBoardUno)
(libsource (lib MCU_Module) (part Arduino_UNO_R3) (description "Arduino UNO Microcontroller Module, release 3"))
(sheetpath (names /) (tstamps /))
(tstamp 5E82DE4B))
(comp (ref R2)
(value 10K)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5E82E56A))
(comp (ref R1)
(value 10K)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5E82EAE2))
(comp (ref R3)
(value R680)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5E82F3BF))
(comp (ref R4)
(value R1K)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder)
(datasheet ~)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5E82F408)))
(libparts
(libpart (lib Connector_Generic) (part Conn_02x09_Odd_Even)
(description "Generic connector, double row, 02x09, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp Connector*:*_2x??_*))
(fields
(field (name Reference) J)
(field (name Value) Conn_02x09_Odd_Even))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))
(pin (num 4) (name Pin_4) (type passive))
(pin (num 5) (name Pin_5) (type passive))
(pin (num 6) (name Pin_6) (type passive))
(pin (num 7) (name Pin_7) (type passive))
(pin (num 8) (name Pin_8) (type passive))
(pin (num 9) (name Pin_9) (type passive))
(pin (num 10) (name Pin_10) (type passive))
(pin (num 11) (name Pin_11) (type passive))
(pin (num 12) (name Pin_12) (type passive))
(pin (num 13) (name Pin_13) (type passive))
(pin (num 14) (name Pin_14) (type passive))
(pin (num 15) (name Pin_15) (type passive))
(pin (num 16) (name Pin_16) (type passive))
(pin (num 17) (name Pin_17) (type passive))
(pin (num 18) (name Pin_18) (type passive))))
(libpart (lib Device) (part R)
(description Resistor)
(docs ~)
(footprints
(fp R_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib MCU_Module) (part Arduino_UNO_R3)
(description "Arduino UNO Microcontroller Module, release 3")
(docs https://www.arduino.cc/en/Main/arduinoBoardUno)
(footprints
(fp Arduino*UNO*R3*))
(fields
(field (name Reference) A)
(field (name Value) Arduino_UNO_R3)
(field (name Footprint) Module:Arduino_UNO_R3))
(pins
(pin (num 1) (name NC) (type NotConnected))
(pin (num 2) (name IOREF) (type output))
(pin (num 3) (name RESET) (type input))
(pin (num 4) (name 3V3) (type power_out))
(pin (num 5) (name +5V) (type power_out))
(pin (num 6) (name GND) (type power_in))
(pin (num 7) (name GND) (type power_in))
(pin (num 8) (name VIN) (type power_in))
(pin (num 9) (name A0) (type BiDi))
(pin (num 10) (name A1) (type BiDi))
(pin (num 11) (name A2) (type BiDi))
(pin (num 12) (name A3) (type BiDi))
(pin (num 13) (name A4/SDA) (type BiDi))
(pin (num 14) (name A5/SCL) (type BiDi))
(pin (num 15) (name D0/RX) (type BiDi))
(pin (num 16) (name D1/TX) (type BiDi))
(pin (num 17) (name D2) (type BiDi))
(pin (num 18) (name D3) (type BiDi))
(pin (num 19) (name D4) (type BiDi))
(pin (num 20) (name D5) (type BiDi))
(pin (num 21) (name D6) (type BiDi))
(pin (num 22) (name D7) (type BiDi))
(pin (num 23) (name D8) (type BiDi))
(pin (num 24) (name D9) (type BiDi))
(pin (num 25) (name D10) (type BiDi))
(pin (num 26) (name D11) (type BiDi))
(pin (num 27) (name D12) (type BiDi))
(pin (num 28) (name D13) (type BiDi))
(pin (num 29) (name GND) (type power_in))
(pin (num 30) (name AREF) (type input))
(pin (num 31) (name SDA) (type BiDi))
(pin (num 32) (name SCL) (type BiDi)))))
(libraries
(library (logical Connector_Generic)
(uri /usr/share/kicad/library/Connector_Generic.lib))
(library (logical Device)
(uri /usr/share/kicad/library/Device.lib))
(library (logical MCU_Module)
(uri /usr/share/kicad/library/MCU_Module.lib)))
(nets
(net (code 1) (name +3V3)
(node (ref J1) (pin 17))
(node (ref A1) (pin 4))
(node (ref R1) (pin 1))
(node (ref R2) (pin 1))
(node (ref J1) (pin 1)))
(net (code 2) (name +5V)
(node (ref A1) (pin 5)))
(net (code 3) (name GND)
(node (ref R4) (pin 2))
(node (ref J1) (pin 2))
(node (ref J1) (pin 18))
(node (ref A1) (pin 29))
(node (ref A1) (pin 7))
(node (ref A1) (pin 6)))
(net (code 4) (name /D0)
(node (ref A1) (pin 9))
(node (ref J1) (pin 16)))
(net (code 5) (name "Net-(A1-Pad8)")
(node (ref A1) (pin 8)))
(net (code 6) (name "Net-(A1-Pad32)")
(node (ref A1) (pin 32)))
(net (code 7) (name "Net-(A1-Pad31)")
(node (ref A1) (pin 31)))
(net (code 8) (name "Net-(A1-Pad30)")
(node (ref A1) (pin 30)))
(net (code 9) (name "Net-(A1-Pad3)")
(node (ref A1) (pin 3)))
(net (code 10) (name "Net-(A1-Pad28)")
(node (ref A1) (pin 28)))
(net (code 11) (name "Net-(A1-Pad18)")
(node (ref A1) (pin 18))
(node (ref R3) (pin 1)))
(net (code 12) (name /XCLK)
(node (ref J1) (pin 8))
(node (ref R3) (pin 2))
(node (ref R4) (pin 1)))
(net (code 13) (name /NC-16)
(node (ref J1) (pin 6)))
(net (code 14) (name /SIOC)
(node (ref R1) (pin 2))
(node (ref J1) (pin 3))
(node (ref A1) (pin 14)))
(net (code 15) (name /PCLK)
(node (ref J1) (pin 7))
(node (ref A1) (pin 27)))
(net (code 16) (name "Net-(A1-Pad26)")
(node (ref A1) (pin 26)))
(net (code 17) (name "Net-(A1-Pad25)")
(node (ref A1) (pin 25)))
(net (code 18) (name "Net-(A1-Pad24)")
(node (ref A1) (pin 24)))
(net (code 19) (name "Net-(A1-Pad23)")
(node (ref A1) (pin 23)))
(net (code 20) (name /D7)
(node (ref A1) (pin 22))
(node (ref J1) (pin 9)))
(net (code 21) (name /D6)
(node (ref J1) (pin 10))
(node (ref A1) (pin 21)))
(net (code 22) (name /D5)
(node (ref A1) (pin 20))
(node (ref J1) (pin 11)))
(net (code 23) (name "Net-(A1-Pad2)")
(node (ref A1) (pin 2)))
(net (code 24) (name /D4)
(node (ref J1) (pin 12))
(node (ref A1) (pin 19)))
(net (code 25) (name /VSYNC)
(node (ref A1) (pin 17))
(node (ref J1) (pin 5)))
(net (code 26) (name "Net-(A1-Pad16)")
(node (ref A1) (pin 16)))
(net (code 27) (name "Net-(A1-Pad15)")
(node (ref A1) (pin 15)))
(net (code 28) (name /SIOD)
(node (ref J1) (pin 4))
(node (ref R2) (pin 2))
(node (ref A1) (pin 13)))
(net (code 29) (name /D3)
(node (ref J1) (pin 13))
(node (ref A1) (pin 12)))
(net (code 30) (name /D2)
(node (ref A1) (pin 11))
(node (ref J1) (pin 14)))
(net (code 31) (name /D1)
(node (ref A1) (pin 10))
(node (ref J1) (pin 15)))
(net (code 32) (name "Net-(A1-Pad1)")
(node (ref A1) (pin 1)))))

+ 41
- 0
OV7670_Image_Sensor/pcb/pcb.pro View File

@ -0,0 +1,41 @@
update=Tue 11 Oct 2016 05:25:07 PM PDT
version=1
last_client=kicad
[cvpcb]
version=1
NetIExt=net
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.016000000000
PcbTextSizeH=1.016000000000
PcbTextThickness=0.152400000000
ModuleTextSizeV=1.016000000000
ModuleTextSizeH=1.016000000000
ModuleTextSizeThickness=0.152400000000
SolderMaskClearance=0.003000000000
SolderMaskMinWidth=0.004000000000
DrawSegmentWidth=0.152400000000
BoardOutlineThickness=0.152400000000
ModuleOutlineThickness=0.152400000000
[eeschema]
version=1
LibDir=
[eeschema/libraries]
[schematic_editor]
version=1
PageLayoutDescrFile=
PlotDirectoryName=
SubpartIdSeparator=0
SubpartFirstId=65
NetFmtName=
SpiceForceRefPrefix=0
SpiceUseNetNumbers=0
LabSize=50
[general]
version=1

+ 273
- 0
OV7670_Image_Sensor/pcb/pcb.sch View File

@ -0,0 +1,273 @@
EESchema Schematic File Version 4
EELAYER 26 0
EELAYER END
$Descr USLetter 11000 8500
encoding utf-8
Sheet 1 1
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L Connector_Generic:Conn_02x09_Odd_Even J1
U 1 1 5E82D94D
P 3450 3900
F 0 "J1" H 2975 5075 50 0000 C CNN
F 1 "Conn_02x09_Counter_Clockwise" H 2850 5200 50 0000 C CNN
F 2 "Connector_PinHeader_2.54mm:PinHeader_2x09_P2.54mm_Vertical" H 3450 3900 50 0001 C CNN
F 3 "~" H 3450 3900 50 0001 C CNN
1 3450 3900
1 0 0 -1
$EndComp
Text Notes 3450 3025 0 50 ~ 0
OV7670
$Comp
L power:+3V3 #PWR0101
U 1 1 5E82DA8E
P 3250 3500
F 0 "#PWR0101" H 3250 3350 50 0001 C CNN
F 1 "+3V3" H 3265 3673 50 0000 C CNN
F 2 "" H 3250 3500 50 0001 C CNN
F 3 "" H 3250 3500 50 0001 C CNN
1 3250 3500
1 0 0 -1
$EndComp
$Comp
L power:GND #PWR0102
U 1 1 5E82DAF2
P 4150 3500
F 0 "#PWR0102" H 4150 3250 50 0001 C CNN
F 1 "GND" H 4155 3327 50 0000 C CNN
F 2 "" H 4150 3500 50 0001 C CNN
F 3 "" H 4150 3500 50 0001 C CNN
1 4150 3500
1 0 0 -1
$EndComp
Wire Wire Line
4150 3500 3750 3500
Text Label 3250 3600 2 50 ~ 0
SIOC
Text Label 3250 3700 2 50 ~ 0
VSYNC
Text Label 3250 3800 2 50 ~ 0
PCLK
Text Label 3750 3600 0 50 ~ 0
SIOD
Text Label 3750 3800 0 50 ~ 0
XCLK
Text Label 3250 4300 2 50 ~ 0
RESET
Text Label 3750 4300 0 50 ~ 0
PWDN
Text Label 3750 4200 0 50 ~ 0
D0
Text Label 3750 4100 0 50 ~ 0
D2
Text Label 3750 4000 0 50 ~ 0
D4
Text Label 3750 3900 0 50 ~ 0
D6
Text Label 3250 4200 2 50 ~ 0
D1
Text Label 3250 4100 2 50 ~ 0
D3
Text Label 3250 4000 2 50 ~ 0
D5
Text Label 3250 3900 2 50 ~ 0
D7
Text Label 3750 3700 0 50 ~ 0
NC-16
$Comp
L MCU_Module:Arduino_UNO_R3 A1
U 1 1 5E82DE4B
P 6450 3875
F 0 "A1" H 5850 5175 50 0000 C CNN
F 1 "Arduino_UNO_R3" H 5875 5000 50 0000 C CNN
F 2 "Module:Arduino_UNO_R3" H 6600 2825 50 0001 L CNN
F 3 "https://www.arduino.cc/en/Main/arduinoBoardUno" H 6250 4925 50 0001 C CNN
1 6450 3875
1 0 0 -1
$EndComp
$Comp
L power:GND #PWR0103
U 1 1 5E82E0BD
P 6550 4975
F 0 "#PWR0103" H 6550 4725 50 0001 C CNN
F 1 "GND" H 6555 4802 50 0000 C CNN
F 2 "" H 6550 4975 50 0001 C CNN
F 3 "" H 6550 4975 50 0001 C CNN
1 6550 4975
1 0 0 -1
$EndComp
Wire Wire Line
6550 4975 6450 4975
Connection ~ 6550 4975
Connection ~ 6450 4975
Wire Wire Line
6450 4975 6350 4975
$Comp
L power:+3V3 #PWR0104
U 1 1 5E82E1A2
P 6550 2875
F 0 "#PWR0104" H 6550 2725 50 0001 C CNN
F 1 "+3V3" H 6565 3048 50 0000 C CNN
F 2 "" H 6550 2875 50 0001 C CNN
F 3 "" H 6550 2875 50 0001 C CNN
1 6550 2875
1 0 0 -1
$EndComp
$Comp
L power:+5V #PWR0105
U 1 1 5E82E2E4
P 6650 2875
F 0 "#PWR0105" H 6650 2725 50 0001 C CNN
F 1 "+5V" H 6775 3025 50 0000 C CNN
F 2 "" H 6650 2875 50 0001 C CNN
F 3 "" H 6650 2875 50 0001 C CNN
1 6650 2875
1 0 0 -1
$EndComp
Wire Wire Line
3750 3600 4450 3600
$Comp
L Device:R R2
U 1 1 5E82E56A
P 4450 3450
F 0 "R2" H 4520 3496 50 0000 L CNN
F 1 "10K" H 4520 3405 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 4380 3450 50 0001 C CNN
F 3 "~" H 4450 3450 50 0001 C CNN
1 4450 3450
1 0 0 -1
$EndComp
$Comp
L power:+3V3 #PWR0106
U 1 1 5E82E68F
P 4450 3300
F 0 "#PWR0106" H 4450 3150 50 0001 C CNN
F 1 "+3V3" H 4465 3473 50 0000 C CNN
F 2 "" H 4450 3300 50 0001 C CNN
F 3 "" H 4450 3300 50 0001 C CNN
1 4450 3300
1 0 0 -1
$EndComp
Text Label 6950 4275 0 50 ~ 0
SIOD
$Comp
L Device:R R1
U 1 1 5E82EAE2
P 2700 3450
F 0 "R1" H 2770 3496 50 0000 L CNN
F 1 "10K" H 2770 3405 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 2630 3450 50 0001 C CNN
F 3 "~" H 2700 3450 50 0001 C CNN
1 2700 3450
1 0 0 -1
$EndComp
$Comp
L power:+3V3 #PWR0107
U 1 1 5E82EAE8
P 2700 3300
F 0 "#PWR0107" H 2700 3150 50 0001 C CNN
F 1 "+3V3" H 2715 3473 50 0000 C CNN
F 2 "" H 2700 3300 50 0001 C CNN
F 3 "" H 2700 3300 50 0001 C CNN
1 2700 3300
1 0 0 -1
$EndComp
Wire Wire Line
2700 3600 3250 3600
Text Label 6950 4375 0 50 ~ 0
SIOC
Text Label 5950 3475 2 50 ~ 0
VSYNC
Text Label 5950 4475 2 50 ~ 0
PCLK
$Comp
L Device:R R3
U 1 1 5E82F3BF
P 5300 3725
F 0 "R3" H 5370 3771 50 0000 L CNN
F 1 "R680" H 5370 3680 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 5230 3725 50 0001 C CNN
F 3 "~" H 5300 3725 50 0001 C CNN
1 5300 3725
1 0 0 -1
$EndComp
$Comp
L Device:R R4
U 1 1 5E82F408
P 5300 4025
F 0 "R4" H 5370 4071 50 0000 L CNN
F 1 "R1K" H 5370 3980 50 0000 L CNN
F 2 "Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder" V 5230 4025 50 0001 C CNN
F 3 "~" H 5300 4025 50 0001 C CNN
1 5300 4025
1 0 0 -1
$EndComp
Wire Wire Line
5300 3875 5050 3875
Connection ~ 5300 3875
Text Label 5050 3875 0 50 ~ 0
XCLK
Wire Wire Line
5300 3575 5950 3575
$Comp
L power:GND #PWR0108
U 1 1 5E82FDF4
P 5300 4175
F 0 "#PWR0108" H 5300 3925 50 0001 C CNN
F 1 "GND" H 5305 4002 50 0000 C CNN
F 2 "" H 5300 4175 50 0001 C CNN
F 3 "" H 5300 4175 50 0001 C CNN
1 5300 4175
1 0 0 -1
$EndComp
Wire Wire Line
3250 4300 3250 4625
Wire Wire Line
3250 4625 2900 4625
$Comp
L power:GND #PWR0109
U 1 1 5E8300F1
P 3750 4300
F 0 "#PWR0109" H 3750 4050 50 0001 C CNN
F 1 "GND" H 3755 4127 50 0000 C CNN
F 2 "" H 3750 4300 50 0001 C CNN
F 3 "" H 3750 4300 50 0001 C CNN
1 3750 4300
1 0 0 -1
$EndComp
$Comp
L power:+3V3 #PWR0110
U 1 1 5E8301F4
P 2900 4625
F 0 "#PWR0110" H 2900 4475 50 0001 C CNN
F 1 "+3V3" H 2915 4798 50 0000 C CNN
F 2 "" H 2900 4625 50 0001 C CNN
F 3 "" H 2900 4625 50 0001 C CNN
1 2900 4625
1 0 0 -1
$EndComp
Text Label 6950 3875 0 50 ~ 0
D0
Text Label 6950 3975 0 50 ~ 0
D1
Text Label 6950 4075 0 50 ~ 0
D2
Text Label 6950 4175 0 50 ~ 0
D3
Text Label 5950 3675 2 50 ~ 0
D4
Text Label 5950 3775 2 50 ~ 0
D5
Text Label 5950 3875 2 50 ~ 0
D6
Text Label 5950 3975 2 50 ~ 0
D7
$EndSCHEMATC

+ 838
- 0
OV7670_Image_Sensor/resources/arduino-ov7670-10fps View File

@ -0,0 +1,838 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-148999312-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-148999312-2');
</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://fonts.googleapis.com/css?family=Noto+Sans&display=swap" rel="stylesheet">
<link rel="icon" type="image/png" href="/favicon.png?v=10" />
<link rel="stylesheet" href="/scripts/lib/bootstrap/css/bootstrap.min.css?v=10">
<link href="/css/style.css?v=9a4cd35" rel="stylesheet">
<title>Tutorial: 10FPS Video with the OV7670 Module and Arduino - Circuit Journal</title>
<meta name="description" content='A step-by-step guide to building a circuit with the OV7670 module and an Arduino that sends live video to a 1.8 inch TFT.'/>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col">
<div class="side-to-side">
<picture>
<source type="image/webp" srcset="/img/header.webp?v=10">
<img style="width: 100%" src="/img/header.jpg?v=10">
</picture>
<div style="position: absolute; top: 50%; left: 50%; width: 10%; ">
<a href="https://circuitjournal.com/">
<img style="width: 100%; transform: translate(-50%, -50%); " src="/img/logo.png?v=10"/>
</a>
</div>
</div>
</div>
</div>
</div>
<nav class="site-menu py-1">
<div class="container content-width-limit">
<div class="row justify-content-center">
<a class="py-2 px-4 col-sm-auto col-12 text-center"
href="https://circuitjournal.com/how-to">
<span class="menu-active">How-To Guides</span>
</a><a class="py-2 px-4 col-sm-auto col-12 text-center"
href="https://circuitjournal.com/tools">
<span>Tools</span>
</a><a class="py-2 px-4 col-sm-auto col-12 text-center"
href="https://circuitjournal.com/about-me">
<span>About Me</span>
</a>
</div>
</div>
</nav>
<div class="container content-width-limit">
<div class="pt-5 pb-2"></div>
<div class="row idclass-page-content" data-pageScripts="app/utils/ImageSelection">
<div class="col">
<article>
<section>
<h1 class="h2 pb-3 font-weight-bold">Tutorial: 10FPS Video with the OV7670 Module and Arduino</h1>
<p>
You can buy very cheap OV7670 camera modules from eBay or Aliexpress.
</p>
<p>
Getting them to work with an Arduino can be quite complicated.
It requires a lot of connections and precise timing on the software side.
</p>
<p>
<strong>
This article is a step-by-step guide for building all the necessary connections
on a breadboard. Then you can use my example code to run a 10fps
video live stream on a tiny display.
</strong>
</p>
<p>
The following video clip is a short demo of the camera in action.
In this video, you see a PCB version of the same circuit presented in this article.
</p>
<div class="row pb-3">
<div class="col-12 col-sm-8">
<div class="video-container"><iframe width="560" height="315" src="https://www.youtube.com/embed/TqSY6FETuos" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div>
</div>
<div class="pt-4"><div>
<p class="alert alert-secondary">
Disclosure: Bear in mind that some of the links in this post are affiliate
links and if you go through them to make a purchase I will earn a commission.
Keep in mind that I link these companies and their products because of their
quality and not because of the commission I receive from your purchases.
The decision is yours, and whether or not you decide to buy something is completely up to you.
</p>
</div></div>
<p class="pt-5">
<strong>
To follow this tutorial, you need:
</strong>
</p>
<ul>
<li>
An Arduino
<a target="_blank" href="https://www.banggood.com/custlink/K33G2p0Vi5">Uno</a> or
<a target="_blank" href="https://www.banggood.com/custlink/Km3KMpgt9n">Nano</a>
</li>
<li>
<a target="_blank" href="https://www.banggood.com/custlink/DvGGUJBVcl">The OV7670 camera module (without the FIFO chip)</a>
</li>
<li>
<a target="_blank" href="https://www.banggood.com/custlink/KGvGqre5gK">The 1.8 inch TFT module</a>
</li>
<li>
<a target="_blank" href="https://www.banggood.com/custlink/mG3GMrBP0F">A breadboard</a>
</li>
<li>
Two 10kΩ
<a target="_blank" href="https://www.banggood.com/custlink/Dv3GqpeH1f">resistors</a>
for the I<sup>2</sup>C connection to the camera
</li>
<li>
Six pairs of 650Ω and 1kΩ
<a target="_blank" href="https://www.banggood.com/custlink/Dv3GqpeH1f">resistors</a>
for signal voltage dividers
</li>
<li>
A bunch of jumper wires:
<a target="_blank" href="https://www.banggood.com/custlink/Dm33UrBo8a">male to male</a>,
<a target="_blank" href="https://www.banggood.com/custlink/D3GmMcBaiI">male to female</a>
</li>
</ul>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">Video Tutorial</h2>
<p>
A step-by-step guide in video form.
It has the same schematics I am using in this article.
</p>
<div class="row pb-3">
<div class="col-12 col-sm-8">
<div class="video-container"><iframe width="560" height="315" src="https://www.youtube.com/embed/Dp3RMb0e1eA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div>
</div>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">1. Preparing the Screen</h2>
<p>
<strong>
Short the J1 connector on the back of the screen.
</strong>
Then the VCC pin of the display can be connected to the 3.3V pin of the Arduino board.
</p>
<div class="row pb-5 pt-3">
<div class="col-12 col-sm-8 col-md-6">
<picture>
<source type="image/webp" srcset="/img/articles/7_arduino_OV7670_10fps/tft_j1_short.webp?v=10">
<img alt="Short J1 on the back of the screen to enable 3.3V power input." style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/tft_j1_short.jpg?v=10">
</picture>
</div>
</div>
<p>
When I started experimenting with the 1.8 inch TFT,
I had faint vertical stripes going across the screen.
By default, the screen is configured to be powered by 5V,
but internally it operates at 3.3V levels.
I was able to get rid of those ghosting lines by
using 3.3V data signals (with voltage dividers) and switching the power input over to 3.3V.
</p>
<div class="row pb-5 pt-3">
<div class="col-12 col-sm-8 col-md-6">
<picture>
<source type="image/webp" srcset="/img/articles/7_arduino_OV7670_10fps/tft_ghosting.webp?v=10">
<img alt="Ghosting effect on the 1.8 inch TFT module." style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/tft_ghosting.jpg?v=10">
</picture>
</div>
</div>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">2. Connecting the 1.8 Inch TFT to Arduino</h2>
<p>
The input pins of the 1.8 inch TFT screen are not 5V tolerant.
You have to convert the Arduino 5V signals to 3V.
The easiest way to achieve that is to put voltage dividers on the signal wires.
</p>
<div class="row pb-5 pt-3">
<div class="col-6 col-sm-4 col-md-3">
<picture>
<img alt="Voltage divider from 5V to 3V" style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/voltage_divider.png?v=10">
</picture>
</div>
</div>
<p>
The full schematic for the connections looks like a rat's nest
and is a bit hard to follow.
I have divided it into steps to make it easier.
Click on the buttons to switch between the schematics.
</p>
<div class="image-selection">
<div class="row py-4">
<div class="col-12 col-md pr-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap active" style="width: 100%" data-u="u0">Schematic</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%;" data-u="u1">Step 1</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u2">Step 2</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u3">Step 3</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u4">Step 4</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u5">Step 5</button>
</div>
<div class="col-4 col-md pl-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u6">Step 6</button>
</div>
</div>
<div class="row pb-5">
<div class="col-12">
<picture>
<source type="image/webp"
srcset="/img/articles/7_arduino_OV7670_10fps/screen_pins_all_1_6.webp?v=10"
class="idclass-image-source"
data-u0="/img/articles/7_arduino_OV7670_10fps/screen_pins_all_1_6.webp?v=10"
data-u1="/img/articles/7_arduino_OV7670_10fps/screen_pins_1.webp?v=10"
data-u2="/img/articles/7_arduino_OV7670_10fps/screen_pins_2.webp?v=10"
data-u3="/img/articles/7_arduino_OV7670_10fps/screen_pins_3.webp?v=10"
data-u4="/img/articles/7_arduino_OV7670_10fps/screen_pins_4.webp?v=10"
data-u5="/img/articles/7_arduino_OV7670_10fps/screen_pins_5.webp?v=10"
data-u6="/img/articles/7_arduino_OV7670_10fps/screen_pins_6.webp?v=10"
>
<img alt="Schematic for connecting an Arduino to the to 1.8 inch TFT." style="width: 100%"
src="/img/articles/7_arduino_OV7670_10fps/screen_pins_all_1_6.jpg?v=10"
class="idclass-image-source"
data-u0="/img/articles/7_arduino_OV7670_10fps/screen_pins_all_1_6.jpg?v=10"
data-u1="/img/articles/7_arduino_OV7670_10fps/screen_pins_1.jpg?v=10"
data-u2="/img/articles/7_arduino_OV7670_10fps/screen_pins_2.jpg?v=10"
data-u3="/img/articles/7_arduino_OV7670_10fps/screen_pins_3.jpg?v=10"
data-u4="/img/articles/7_arduino_OV7670_10fps/screen_pins_4.jpg?v=10"
data-u5="/img/articles/7_arduino_OV7670_10fps/screen_pins_5.jpg?v=10"
data-u6="/img/articles/7_arduino_OV7670_10fps/screen_pins_6.jpg?v=10"
>
</picture>
</div>
</div>
</div>
<p>
<strong>
Add a Voltage divider to every connection made in steps 1 to 5.
</strong>
</p>
<p class="pt-4">
<strong>
Step 1. Connect the screen pin 1 (RST) to the Arduino pin 10.
</strong>
</p>
<p>
This is the reset pin.
It is used by the Adafruit library when initializing the screen.
</p>
<p class="pt-4">
<strong>
Step 2. Connect the screen pin 2 (CS) to the Arduino pin 9.
</strong>
</p>
<p>
Chip select pin.
Signal LOW – the screen is active and listening to the SPI port.
Signal HIGH – the screen ignores all the data on the SPI wire.
</p>
<p class="pt-4">
<strong>
Step 3. Connect the screen pin 3 (D/C) to the Arduino pin 8.
</strong>
</p>
<p>
Data/Configuration pin.
You can send either pixel data (image to be displayed) or configuration data (color format, screen orientation, etc.).
Input HIGH is for sending pixel data and LOW for sending configuration.
</p>
<p class="pt-4">
<strong>
Step 4. Connect the screen pin 4 (DIN) to the Arduino pin 11.
</strong>
</p>
<p>
SPI data input pin. The screen is listening to the SPI port if the CS pin is LOW.
</p>
<p class="pt-4">
<strong>
Step 5. Connect the screen pin 5 (CLK) to the Arduino pin 13.
</strong>
</p>
<p>
SPI clock pin. The screen is listening to the SPI port if the CS pin is LOW.
</p>
<p class="pt-4">
<strong>
Step 6. Connect the screen power pins. The pins 6 (VCC) and 7 (BL) to the Arduino 3.3V pin.
The screen pin 8 (GND) to the Arduino GND pin.
</strong>
</p>
<p>
Pin 7 is the signal to activate the backlight.
We connect it to the 3.3V, so the display is always lit.
The Arduino could control it, but in this project,
we need all the other Arduino pins for the camera connections.
</p>
<p>
Pins 6 and 8 are power pins for the screen.
Since we shorted the J1 connector, we need to use 3.3V input for the VCC.
</p>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">3. Test the Screen Connections</h2>
<p>
You should test the screen wiring before continuing with connecting the camera.
</p>
<p class="pt-4">
<strong>
1. Download the code of my LiveOV7670 project:
</strong><br>
<a href="https://github.com/indrekluuk/LiveOV7670">https://github.com/indrekluuk/LiveOV7670</a>
</p>
<p>
Click on the green "Clone or download" button and then "Download ZIP."
</p>
<div class="row pb-5 pt-3">
<div class="col-12">
<picture>
<source type="image/webp" srcset="/img/articles/7_arduino_OV7670_10fps/download_ov7670_project.webp?v=10">
<img alt="Short J1 on the back of the screen to enable 3.3V power input." style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/download_ov7670_project.jpg?v=10">
</picture>
</div>
</div>
<p>
Extract the downloaded ZIP file.
</p>
<p class="pt-4">
<strong>
2. Copy the the two libraries "LiveOV7670Library" and "Adafruit_GFX_Library"
from "src/lib" to your Arduino "libraries" folder
</strong>
</p>
<div>On Windows:</div>
<pre class="pl-4 text-muted">C:\Users\&lt;username&gt;\Documents\Arduino\libraries</pre>
<div>On Mac:</div>
<pre class="pl-4 text-muted">/Users/&lt;username&gt;/Documents/Arduino/libraries</pre>
<p>
"LiveOV7670Library" contains the code that communicates with the OV7670 camera module.
</p>
<p>
"Adafruit_GFX_Library" is a dependency of the "Adafruit-ST7735" screen library.
In this project, I am using a modified version of the Adafruit's ST7735 library
– "Adafruit_ST7735_mod.h" and "Adafruit_ST7735_mod.cpp" in the "src/LiveOV7670" folder.
The original was too slow.
To get it faster, I had to cut some corners in the method that sends pixel data to the display.
</p>
<p class="pt-4">
<strong>
3. Open "src/LiveOV7670/LiveOV7670.ino" and load it into your Arduino.
</strong>
</p>
<p>
This project takes advantage of some of the C++11 features.
C++11 is enabled by default since Arduino IDE version 1.6.6.
If, for some reason, you have an older version, then you should either
upgrade or enable C++11 in the Arduino IDE configuration file.
</p>
<p class="pt-4">
<strong>
4. If everything is connected correctly, then the screen should flash red.
</strong>
</p>
<div class="row pb-5 pt-3">
<div class="col-12 col-sm-8 col-md-6">
<picture>
<source type="image/webp" srcset="/img/articles/7_arduino_OV7670_10fps/tft_test.webp?v=10">
<img alt="First OV7670 connections test for the TFT." style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/tft_test.jpg?v=10">
</picture>
</div>
</div>
<p>
The solid red color means that the code wasn't able to detect the camera module.
But since we see the color, we can be sure that the screen wiring is OK.
</p>
<p>
If you do not see the red image, then check your wiring,
and make sure that you have shorted the J1 connector on the back of the screen.
</p>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">4. First Part of the Camera Connections – Power It Up</h2>
<p>
We will do the camera wiring in two phases.
In this chapter, we are going to make all the necessary connections
to get the camera running and configured by the Arduino.
</p>
<div class="image-selection">
<div class="row py-5">
<div class="col-12 col-md pr-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap active" style="width: 100%" data-u="u0">Schematic</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%;" data-u="u1">Step 1</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u2">Step 2</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u3">Step 3</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u4">Step 4</button>
</div>
<div class="col-4 col-md px-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u5">Step 5</button>
</div>
<div class="col-4 col-md pl-md-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u6">Step 6</button>
</div>
</div>
<div class="row pb-5">
<div class="col-12">
<picture>
<source type="image/webp"
srcset="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_1_6.webp?v=10"
class="idclass-image-source"
data-u0="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_1_6.webp?v=10"
data-u1="/img/articles/7_arduino_OV7670_10fps/camera_pins_1.webp?v=10"
data-u2="/img/articles/7_arduino_OV7670_10fps/camera_pins_2.webp?v=10"
data-u3="/img/articles/7_arduino_OV7670_10fps/camera_pins_3.webp?v=10"
data-u4="/img/articles/7_arduino_OV7670_10fps/camera_pins_4.webp?v=10"
data-u5="/img/articles/7_arduino_OV7670_10fps/camera_pins_5.webp?v=10"
data-u6="/img/articles/7_arduino_OV7670_10fps/camera_pins_6.webp?v=10"
>
<img alt="Schematic for connecting an Arduino to the OV7670 module." style="width: 100%"
src="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_1_6.jpg?v=10"
class="idclass-image-source"
data-u0="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_1_6.jpg?v=10"
data-u1="/img/articles/7_arduino_OV7670_10fps/camera_pins_1.jpg?v=10"
data-u2="/img/articles/7_arduino_OV7670_10fps/camera_pins_2.jpg?v=10"
data-u3="/img/articles/7_arduino_OV7670_10fps/camera_pins_3.jpg?v=10"
data-u4="/img/articles/7_arduino_OV7670_10fps/camera_pins_4.jpg?v=10"
data-u5="/img/articles/7_arduino_OV7670_10fps/camera_pins_5.jpg?v=10"
data-u6="/img/articles/7_arduino_OV7670_10fps/camera_pins_6.jpg?v=10"
>
</picture>
</div>
</div>
</div>
<p class="pt-4">
<strong>
Step 1. Make a voltage divider from the Arduino pin 3 to the XCLK pin of the camera.
</strong>
</p>
<p>
Similarly to the screen, the camera module is not 5V tolerant.
This is the only connection that needs a voltage divider on the camera side.
It's the single digital output signal from Arduino to the OV7670 module
(all the other ones are inputs for the Arduino).
</p>
<p>
XCLK is the input clock that makes the camera run.
The maximum frequency that Arduino can put out is 8Mhz.
For full speed, the camera module needs 30Mhz,
but eight is enough to display ten frames per second image.
</p>
<p class="pt-4">
<strong>
Step 2. Make the I<sup>2</sup>C connections.
Arduino pin A5 to SIOC and Arduino pin A4 to SIOD.
Then add a 10k pull-up resistors to 3.3V to both of the wires
(A5 to 10k to 3.3V, A4 to 10k to 3.3V).
</strong>
</p>
<p>
I<sup>2</sup>C is necessary for sending configuration data to the camera
(resolution, pixel format, etc.).
</p>
<p class="pt-4">
<strong>
Step 3. VSYNC to Arduino pin 2.
</strong>
</p>
<p>
It's a 3.3V signal from the camera to the Arduino.
This connection can be made directly without a voltage divider.
</p>
<p>
We need vertical sync to know when a new frame begins.
Otherwise, it looks to Arduino like a constant pixel stream with no start or end.
</p>
<p class="pt-4">
<strong>
Step 4. PCLK to Arduino pin 12.
</strong>
</p>
<p>
This is also a 3.3V signal from the camera to the Arduino
and can be connected directly.
</p>
<p>
Pixel cock is necessary for knowing the exact time when to read pixel data.
</p>
<p class="pt-4">
<strong>
Step 5. Connect power to the camera. From Arduino 3.3V pin to the camera's 3.3V input and
from Arduino GND pin to the camera's GND.
</strong>
</p>
<p class="pt-4">
<strong>
Step 6. Connect the camera's RESET pin to 3.3V and PWDN to GND.
</strong>
</p>
<p>
Reset pin could be used to reset the camera module and power down to turn it off.
But since we don't have any left-over pins, we let it run all the time.
</p>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">5. Validate That the Camera is Running</h2>
<p>
This is the second test before we get to the actual images from the camera.
</p>
<p>
When you start the Arduino again, then it should flash a green screen.
This means that the LiveOV7670 library was able to detect and configure the camera successfully.
</p>
<div class="row pb-5 pt-3">
<div class="col-12 col-sm-8 col-md-6">
<picture>
<source type="image/webp" srcset="/img/articles/7_arduino_OV7670_10fps/camera_conf_test.webp?v=10">
<img alt="First connection test with the OV7670 module." style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/camera_conf_test.jpg?v=10">
</picture>
</div>
</div>
<p>
You can't see any images yet since the pixel data pins are not connected.
</p>
<p>
If you still see the red screen, then check the wiring.
Make sure that the XCLK wire isn't too long.
The square wave of the input clock signal to the camera may become too deformed
for it to operate correctly.
</p>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">6. Second Part of the Camera Connections – Pixel Data Pins</h2>
<p>
Now we can finish the camera wiring by connecting pixel data inputs.
Pixels are streamed from the camera one byte at the time.
Each pixel consists of two bytes that are read sequentially.
</p>
<div class="image-selection">
<div class="row py-5">
<div class="col-12 col-sm pr-sm-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap active" style="width: 100%" data-u="u0">Schematic</button>
</div>
<div class="col-6 col-sm px-sm-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%;" data-u="u1">Step 1</button>
</div>
<div class="col-6 col-sm pl-sm-1 py-1">
<button class="btn btn-article idclass-select-button text-nowrap" style="width: 100%" data-u="u2">Step 2</button>
</div>
</div>
<div class="row pb-5">
<div class="col-12">
<picture>
<source type="image/webp"
srcset="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_7_8.webp?v=10"
class="idclass-image-source"
data-u0="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_7_8.webp?v=10"
data-u1="/img/articles/7_arduino_OV7670_10fps/camera_pins_7.webp?v=10"
data-u2="/img/articles/7_arduino_OV7670_10fps/camera_pins_8.webp?v=10"
>
<img alt="Schematic for connecting an Arduino to the OV7670 module." style="width: 100%"
src="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_7_8.jpg?v=10"
class="idclass-image-source"
data-u0="/img/articles/7_arduino_OV7670_10fps/camera_pins_all_7_8.jpg?v=10"
data-u1="/img/articles/7_arduino_OV7670_10fps/camera_pins_7.jpg?v=10"
data-u2="/img/articles/7_arduino_OV7670_10fps/camera_pins_8.jpg?v=10"
>
</picture>
</div>
</div>
</div>
<p class="pt-4">
<strong>
Step 1. Connect Camera's D0 to D3 to the Arduino pins A0 to A3.
</strong>
</p>
<p>
These are the lower four bits of a pixel byte.
</p>
<p class="pt-4">
<strong>
Step 2. Connect Camera's D4 to D7 to the Arduino pins 4 to 7.
</strong>
</p>
<p>
These are the higher four bits of a pixel byte.
</p>
</section>
<section>
<h2 class="h4 pt-5 pb-3 font-weight-bold">7. Done!</h2>
<p>
Now you can power up your Arduino again.
It starts with a green image like in the previous test.
Then you should see a live video streamed from the camera to the display.
</p>
<div class="row pb-5 pt-3">
<div class="col-12 col-sm-8 col-md-6">
<picture>
<source type="image/webp" srcset="/img/articles/7_arduino_OV7670_10fps/camera_full_test.webp?v=10">
<img alt="10fps live video from the OV7670 module to the 1.8 inch TFT display." style="width: 100%" src="/img/articles/7_arduino_OV7670_10fps/camera_full_test.jpg?v=10">
</picture>
</div>
</div>
</section>
</article>
</div>
</div>
</div>
<div style="height: 10rem"></div>
<footer class="site-footer">
<div class="container content-width-limit">
<div class="row pt-3">
<div class="col">
<div class="font-weight-light">
</div>
<br>
<br>
<br>
<div style="color: #555555">
<span>Version</span>: <span>9a4cd35</span>
</div>
</div>
</div>
</div>
</footer>
<script src="/scripts/lib/jquery/jquery.min.js?v=10"></script>
<script src="/scripts/lib/popper/popper.min.js?v=10"></script>
<script src="/scripts/lib/bootstrap/js/bootstrap.min.js?v=10"></script>
<script src="/scripts/lib/require/require.js?v=10"></script>
<script type="text/javascript">
// force javascript re-load if code changes.
var jsVersion = "9a4cd35";
var jsLibVersion = "10";
requirejs.config({
baseUrl: 'scripts',
urlArgs: function(id, url) {
var v = id.startsWith('app') ? jsVersion : jsLibVersion;
return (url.indexOf('?') === -1 ? '?' : '&') + 'v=' + v;
}
});
requirejs(["app/main"], function(MainPage) {
MainPage.initMainPage();
});
</script>
</body>
</html>

+ 1
- 1
Prototyping_Board/docs/1.log View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 27 MAR 2020 04:27
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 1 APR 2020 17:13
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.

BIN
Prototyping_Board/docs/1.pdf View File


+ 3
- 0
Prototyping_Board/docs/2.aux View File

@ -0,0 +1,3 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Improving the Prototype Board}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Changes}{1}}

+ 274
- 0
Prototyping_Board/docs/2.log View File

@ -0,0 +1,274 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 2 APR 2020 23:36
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/
Prototyping_Board/docs/2.tex
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/P
rototyping_Board/docs/2.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count88
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/09/12 v5.6 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count89
\Gm@cntv=\count90
\c@Gm@tempcnt=\count91
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./2.aux)
\openout1 = `2.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count92
\scratchdimen=\dimen120
\scratchbox=\box26
\nofMPsegments=\count93
\nofMParguments=\count94
\everyMPshowfont=\toks16
\MPscratchCnt=\count95
\MPscratchDim=\dimen121
\MPnumerator=\count96
\makeMPintoPDFobject=\count97
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 14.
(./2.toc
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 2.
)
\tf@toc=\write3
\openout3 = `2.toc'.
LaTeX Font Info: Try loading font information for OMS+cmr on input line 23.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 23.
[1
Non-PDF special ignored!
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
[2] (./2.aux) )
Here is how much of TeX's memory you used:
3526 strings out of 494945
53547 string characters out of 6181032
118046 words of memory out of 5000000
6802 multiletter control sequences out of 15000+600000
9118 words of font info for 32 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
39i,6n,38p,339b,189s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cm
bx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.p
fb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></us
r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb>
Output written on 2.pdf (2 pages, 62778 bytes).
PDF statistics:
31 PDF objects out of 1000 (max. 8388607)
21 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
Prototyping_Board/docs/2.pdf View File


+ 49
- 0
Prototyping_Board/docs/2.tex View File

@ -0,0 +1,49 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{Proto Board}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\tableofcontents
\textcolor{green!60!blue!70}{
\section{Improving the Prototype Board}}
What can I do to make this better? I've built the first batch. Let's outline what needs to be changes.
\textcolor{green!60!blue!70}{ \subsection{Changes}}
\begin{itemize}
\item Line up Power and GND rails with Perf board section.
\end{itemize}
This will allow use of a dip switch on the perf area, then into the GND rail for example. Also check that you can place a DIP part on the perf and PWR and GND section.
\begin{itemize}
\item Simplify the Power connection jumper / 0 ohm resistor links.
\end{itemize}
I was goingn to leave the 0 ohm smd resistor jumper off the top barrel plug and make it unfused only, however, this will eliminate the ability to use multiple power supplies with barrel plugs, and keep them all fused... Trade offs.
Instead, I must use the existing 0.1'' headers for connections to something like an arduino without a fuse.
\begin{itemize}
\item Output LEDs
\end{itemize}
LEDs are useful for indication of power, or other signals. Need some 0805, R then LED footprints.
\begin{itemize}
\item POT
\end{itemize}
A section for a potentiometer. This board is starting to look like a 200 and 1 kids electronic box.
\begin{itemize}
\item Dedicated Perf only board
\end{itemize}
I am going to want a board for 74 logic, or lots of dip packages
perhaps have a similar board that is SOIC size only.
This is a dedicated board, meant to be used as an accompaniement to above board, when you need more through hole space. Will keep at similar size to above board.
\end{document}

+ 42
- 0
Prototyping_Board/docs/2.tex~ View File

@ -0,0 +1,42 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{Proto Board}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\tableofcontents
\textcolor{green!60!blue!70}{
\section{Improving the Prototype Board}}
What can I do to make this better? I've built the first batch. Let's outline what needs to be changes.
\textcolor{green!60!blue!70}{ \subsection{Changes}}
\begin{itemize}
\item Line up Power and GND rails with Perf board section.
\end{itemize}
This will allow use of a dip switch on the perf area, then into the GND rail for example. Also check that you can place a DIP part on the perf and PWR and GND section.
\begin{itemize}
\item Simplify the Power connection jumper / 0 ohm resistor links.
\end{itemize}
I was goingn to leave the 0 ohm smd resistor jumper off the top barrel plug and make it unfused only, however, this will eliminate the ability to use multiple power supplies with barrel plugs, and keep them all fused... Trade offs.
Instead, I must use the existing 0.1'' headers for connections to something like an arduino without a fuse.
\begin{itemize}
\item Output LEDs
\end{itemize}
LEDs are useful for indication of power, or other signals. Need some 0805, R then LED footprints.
\begin{itemize}
\item POT
\end{itemize}
A section for a potentiometer. This board is starting to look like a 200 and 1 kids electronic box.
\end{document}

+ 2
- 0
Prototyping_Board/docs/2.toc View File

@ -0,0 +1,2 @@
\contentsline {section}{\numberline {1}Improving the Prototype Board}{1}
\contentsline {subsection}{\numberline {1.1}Changes}{1}

+ 3
- 0
Prototyping_Board/docs/3.aux View File

@ -0,0 +1,3 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Improving the Prototype Board}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Changes}{1}}

+ 270
- 0
Prototyping_Board/docs/3.log View File

@ -0,0 +1,270 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 2 APR 2020 23:36
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/
Prototyping_Board/docs/3.tex
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/P
rototyping_Board/docs/3.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count88
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/09/12 v5.6 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count89
\Gm@cntv=\count90
\c@Gm@tempcnt=\count91
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
)
No file 3.aux.
\openout1 = `3.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count92
\scratchdimen=\dimen120
\scratchbox=\box26
\nofMPsegments=\count93
\nofMParguments=\count94
\everyMPshowfont=\toks16
\MPscratchCnt=\count95
\MPscratchDim=\dimen121
\MPnumerator=\count96
\makeMPintoPDFobject=\count97
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 14.
No file 3.toc.
\tf@toc=\write3
\openout3 = `3.toc'.
LaTeX Font Info: Try loading font information for OMS+cmr on input line 23.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 23.
[1
Non-PDF special ignored!
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
[2] (./3.aux) )
Here is how much of TeX's memory you used:
3518 strings out of 494945
53463 string characters out of 6181032
118046 words of memory out of 5000000
6799 multiletter control sequences out of 15000+600000
8451 words of font info for 30 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
39i,6n,38p,339b,189s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cm
bx12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pf
b></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr
/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb>
Output written on 3.pdf (2 pages, 50378 bytes).
PDF statistics:
27 PDF objects out of 1000 (max. 8388607)
18 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
Prototyping_Board/docs/3.pdf View File


+ 49
- 0
Prototyping_Board/docs/3.tex View File

@ -0,0 +1,49 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{Proto Board}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\tableofcontents
\textcolor{green!60!blue!70}{
\section{Improving the Prototype Board}}
What can I do to make this better? I've built the first batch. Let's outline what needs to be changes.
\textcolor{green!60!blue!70}{ \subsection{Changes}}
\begin{itemize}
\item Line up Power and GND rails with Perf board section.
\end{itemize}
This will allow use of a dip switch on the perf area, then into the GND rail for example. Also check that you can place a DIP part on the perf and PWR and GND section.
\begin{itemize}
\item Simplify the Power connection jumper / 0 ohm resistor links.
\end{itemize}
I was goingn to leave the 0 ohm smd resistor jumper off the top barrel plug and make it unfused only, however, this will eliminate the ability to use multiple power supplies with barrel plugs, and keep them all fused... Trade offs.
Instead, I must use the existing 0.1'' headers for connections to something like an arduino without a fuse.
\begin{itemize}
\item Output LEDs
\end{itemize}
LEDs are useful for indication of power, or other signals. Need some 0805, R then LED footprints.
\begin{itemize}
\item POT
\end{itemize}
A section for a potentiometer. This board is starting to look like a 200 and 1 kids electronic box.
\begin{itemize}
\item Dedicated Perf only board
\end{itemize}
I am going to want a board for 74 logic, or lots of dip packages
perhaps have a similar board that is SOIC size only.
This is a dedicated board, meant to be used as an accompaniement to above board, when you need more through hole space. Will keep at similar size to above board.
\end{document}

+ 2
- 0
Prototyping_Board/docs/3.toc View File

@ -0,0 +1,2 @@
\contentsline {section}{\numberline {1}Improving the Prototype Board}{1}
\contentsline {subsection}{\numberline {1.1}Changes}{1}

+ 16
- 0
Prototyping_Board/footprints/PinHeader_1x01_P1.27mm_Vertical_EDIT.kicad_mod View File

@ -0,0 +1,16 @@
(module Connector_PinHeader_1.27mm:PinHeader_1x01_P1.27mm_Vertical (layer F.Cu) (tedit 5E881D08)
(descr "Through hole straight pin header, 1x01, 1.27mm pitch, single row")
(tags "Through hole pin header THT 1x01 1.27mm single row")
(fp_text reference REF** (at 0 -1.695) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value PinHeader_1x01_P1.27mm_Vertical (at 0 1.695) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 1 thru_hole circle (at 0 0) (size 1 1) (drill 0.65) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Connector_PinHeader_1.27mm.3dshapes/PinHeader_1x01_P1.27mm_Vertical.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

+ 9149
- 0
Prototyping_Board/footprints/giant_otter_araisan_mansion.kicad_mod
File diff suppressed because it is too large
View File


+ 40028
- 0
Prototyping_Board/pcb_perf/EDIT_C.kicad_pcb
File diff suppressed because it is too large
View File


+ 25894
- 0
Prototyping_Board/pcb_perf/EDIT_C.kicad_pcb-bak
File diff suppressed because it is too large
View File


+ 33
- 0
Prototyping_Board/pcb_perf/EDIT_C.pro View File

@ -0,0 +1,33 @@
update=22/05/2015 07:44:53
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]

+ 3
- 0
Prototyping_Board/pcb_perf/fp-lib-table View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name footprints)(type KiCad)(uri /home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/Prototyping_Board/footprints)(options "")(descr ""))
)

+ 52733
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-B.Mask.gbs
File diff suppressed because it is too large
View File


+ 5323
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-B.SilkS.gbo
File diff suppressed because it is too large
View File


+ 7177
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-Back.gbl
File diff suppressed because it is too large
View File


+ 40
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-Edge.Cuts.gm1 View File

@ -0,0 +1,40 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.2+dfsg1-1~bpo9+1*
G04 #@! TF.CreationDate,2020-04-04T02:03:36-04:00*
G04 #@! TF.ProjectId,EDIT_C,45444954-5f43-42e6-9b69-6361645f7063,0.10.a*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.2+dfsg1-1~bpo9+1) date Sat 04 Apr 2020 02:03:36 AM EDT*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.200000*%
G04 APERTURE END LIST*
D10*
X98425000Y-115570000D02*
X12700000Y-115570000D01*
X20320000Y-41910000D02*
X98425000Y-41910000D01*
X101600000Y-45085000D02*
X101600000Y-46355000D01*
X101600000Y-45085000D02*
X98425000Y-41910000D01*
X101600000Y-112395000D02*
X101600000Y-46355000D01*
X101600000Y-112395000D02*
X98425000Y-115570000D01*
X12700000Y-60960000D02*
X12700000Y-41910000D01*
X12700000Y-114300000D02*
X12700000Y-115570000D01*
X12700000Y-41910000D02*
X19050000Y-41910000D01*
X12700000Y-69850000D02*
X12700000Y-60960000D01*
X12700000Y-69850000D02*
X12700000Y-114300000D01*
X20320000Y-41910000D02*
X19050000Y-41910000D01*
M02*

+ 52733
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-F.Mask.gts
File diff suppressed because it is too large
View File


+ 115270
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-F.SilkS.gto
File diff suppressed because it is too large
View File


+ 6005
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C-Front.gtl
File diff suppressed because it is too large
View File


+ 1876
- 0
Prototyping_Board/pcb_perf/gerbers/EDIT_C.drl
File diff suppressed because it is too large
View File


BIN
Prototyping_Board/pcb_perf/gerbers/proto_perf_board.zip View File


BIN
Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__dc7e429ae15b76a2c8408b09143ad5e3.jpg View File

Before After
Width: 4040  |  Height: 1100  |  Size: 1.3 MiB

BIN
Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__edit.xcf View File


BIN
Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__edit2.bmp View File

Before After

BIN
Prototyping_Board/pics/__giant_otter_kemono_friends_and_1_more_drawn_by_abubu__edit2.xcf View File


Loading…
Cancel
Save