├── .gitattributes
├── .gitignore
├── Eagle Hardware V1.0
├── btn_0.3.brd
└── btn_0.3.sch
├── Eagle Hardware V2.0
├── README.md
├── front side.png
├── rear side.png
├── tinytouchbutton_v2.jpg
├── tinytouchbutton_v2_0.2.brd
└── tinytouchbutton_v2_0.2.sch
├── Finished PCB.jpg
├── README.md
├── TinyTouchButton.atsln
├── TinyTouchButton.atsuo
├── TinyTouchButton
├── TinyTouchButton.c
├── TinyTouchButton.cproj
├── TinyTouchLib.c
├── TinyTouchLib.h
├── light_ws2812.c
└── light_ws2812.h
└── circuit.jpg
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #################
2 | ## Eclipse
3 | #################
4 |
5 | *.pydevproject
6 | .project
7 | .metadata
8 | bin/
9 | tmp/
10 | *.tmp
11 | *.bak
12 | *.swp
13 | *~.nib
14 | local.properties
15 | .classpath
16 | .settings/
17 | .loadpath
18 |
19 | # External tool builders
20 | .externalToolBuilders/
21 |
22 | # Locally stored "Eclipse launch configurations"
23 | *.launch
24 |
25 | # CDT-specific
26 | .cproject
27 |
28 | # PDT-specific
29 | .buildpath
30 |
31 |
32 | #################
33 | ## Visual Studio
34 | #################
35 |
36 | ## Ignore Visual Studio temporary files, build results, and
37 | ## files generated by popular Visual Studio add-ons.
38 |
39 | # User-specific files
40 | *.suo
41 | *.user
42 | *.sln.docstates
43 |
44 | # Build results
45 |
46 | [Dd]ebug/
47 | [Rr]elease/
48 | x64/
49 | build/
50 | [Bb]in/
51 | [Oo]bj/
52 |
53 | # MSTest test Results
54 | [Tt]est[Rr]esult*/
55 | [Bb]uild[Ll]og.*
56 |
57 | *_i.c
58 | *_p.c
59 | *.ilk
60 | *.meta
61 | *.obj
62 | *.pch
63 | *.pdb
64 | *.pgc
65 | *.pgd
66 | *.rsp
67 | *.sbr
68 | *.tlb
69 | *.tli
70 | *.tlh
71 | *.tmp
72 | *.tmp_proj
73 | *.log
74 | *.vspscc
75 | *.vssscc
76 | .builds
77 | *.pidb
78 | *.log
79 | *.scc
80 |
81 | # Visual C++ cache files
82 | ipch/
83 | *.aps
84 | *.ncb
85 | *.opensdf
86 | *.sdf
87 | *.cachefile
88 |
89 | # Visual Studio profiler
90 | *.psess
91 | *.vsp
92 | *.vspx
93 |
94 | # Guidance Automation Toolkit
95 | *.gpState
96 |
97 | # ReSharper is a .NET coding add-in
98 | _ReSharper*/
99 | *.[Rr]e[Ss]harper
100 |
101 | # TeamCity is a build add-in
102 | _TeamCity*
103 |
104 | # DotCover is a Code Coverage Tool
105 | *.dotCover
106 |
107 | # NCrunch
108 | *.ncrunch*
109 | .*crunch*.local.xml
110 |
111 | # Installshield output folder
112 | [Ee]xpress/
113 |
114 | # DocProject is a documentation generator add-in
115 | DocProject/buildhelp/
116 | DocProject/Help/*.HxT
117 | DocProject/Help/*.HxC
118 | DocProject/Help/*.hhc
119 | DocProject/Help/*.hhk
120 | DocProject/Help/*.hhp
121 | DocProject/Help/Html2
122 | DocProject/Help/html
123 |
124 | # Click-Once directory
125 | publish/
126 |
127 | # Publish Web Output
128 | *.Publish.xml
129 | *.pubxml
130 |
131 | # NuGet Packages Directory
132 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line
133 | #packages/
134 |
135 | # Windows Azure Build Output
136 | csx
137 | *.build.csdef
138 |
139 | # Windows Store app package directory
140 | AppPackages/
141 |
142 | # Others
143 | sql/
144 | *.Cache
145 | ClientBin/
146 | [Ss]tyle[Cc]op.*
147 | ~$*
148 | *~
149 | *.dbmdl
150 | *.[Pp]ublish.xml
151 | *.pfx
152 | *.publishsettings
153 |
154 | # RIA/Silverlight projects
155 | Generated_Code/
156 |
157 | # Backup & report files from converting an old project file to a newer
158 | # Visual Studio version. Backup files are not needed, because we have git ;-)
159 | _UpgradeReport_Files/
160 | Backup*/
161 | UpgradeLog*.XML
162 | UpgradeLog*.htm
163 |
164 | # SQL Server files
165 | App_Data/*.mdf
166 | App_Data/*.ldf
167 |
168 | #############
169 | ## Windows detritus
170 | #############
171 |
172 | # Windows image file caches
173 | Thumbs.db
174 | ehthumbs.db
175 |
176 | # Folder config file
177 | Desktop.ini
178 |
179 | # Recycle Bin used on file shares
180 | $RECYCLE.BIN/
181 |
182 | # Mac crap
183 | .DS_Store
184 |
185 |
186 | #############
187 | ## Python
188 | #############
189 |
190 | *.py[co]
191 |
192 | # Packages
193 | *.egg
194 | *.egg-info
195 | dist/
196 | build/
197 | eggs/
198 | parts/
199 | var/
200 | sdist/
201 | develop-eggs/
202 | .installed.cfg
203 |
204 | # Installer logs
205 | pip-log.txt
206 |
207 | # Unit test / coverage reports
208 | .coverage
209 | .tox
210 |
211 | #Translations
212 | *.mo
213 |
214 | #Mr Developer
215 | .mr.developer.cfg
216 |
--------------------------------------------------------------------------------
/Eagle Hardware V1.0/btn_0.3.brd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 | ISP
115 | GND
116 | +5V
117 |
118 |
119 |
120 | Developed by element14 :<br>
121 | element14 CAD Library consolidation.ulp
122 | at 27/07/2012 14:02:49
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 | *
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 | *
175 | >NAME
176 | >VALUE
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 | >NAME
189 | >VALUE
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 | Lotverbinder für die Platinenkante. Einseitig.
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 | <h3>SparkFun Electronics' preferred foot prints</h3>
229 | In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
230 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
231 | <br><br>
232 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
233 |
234 |
235 |
236 |
237 |
238 |
239 | >NAME
240 | >VALUE
241 |
242 |
243 |
244 |
245 | <h3>SparkFun Electronics' preferred foot prints</h3>
246 | In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
247 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
248 | <br><br>
249 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
250 |
251 |
252 |
253 |
254 |
255 |
256 | >NAME
257 | >VALUE
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 | <b> DRC-File für Sammelnutzen. </b><br><br>
274 |
275 | Die in diesen Designregeln festgelegten Maße, Abstände und Durchmesser stellen die Mindestanforderungen für eine Teilnahme am Sammelnutzen dar und lauten wie folgt:<br><br>
276 |
277 | <table border=1>
278 | <tr>
279 | <th>Bezeichnung</th>
280 | <th>Maß</th>
281 | </tr>
282 | <tr>
283 | <td>min. Leiterbahnenbreite </td>
284 | <td>0,15mm</td>
285 | </tr>
286 | <tr>
287 | <td>min. Leiterbahnenabstand </td>
288 | <td>0,15mm</td>
289 | </tr>
290 | <tr>
291 | <td>min. Abstand Kupfer zu Kontur </td>
292 | <td>0,2mm</td>
293 | </tr>
294 | <tr>
295 | <td></td>
296 | <td></td>
297 | </tr>
298 | <tr>
299 | <td>min. Bohrdurchmesser</td>
300 | <td>0,3mm</td>
301 | </tr>
302 | </table>
303 | <br><br>
304 | Alle Durchkontaktierungen unter 0,8mm gelten als Via und werden abgedeckt.<br> (kann man über "Masks/Limit" verändern)<br><br>
305 |
306 | Thermals für Vias sind ausgeschaltet (kann man über "Supply/generate thermals for vias" einschalten)<br><br>
307 |
308 | Natürlich können Sie alle Einstellungen "nach oben" korregieren, wenn Sie dies für Ihr Layout benötigen.<br><br>
309 |
310 | Sollten Sie Fragen zu den Designregeln haben, können Sie mich über <b>platinensammler@gmail.com</b> erreichen.<br><br>
311 |
312 | Jakob Kleinen
313 | <b>EAGLE Design Rules</b>
314 | <p>
315 | The default Design Rules have been set to cover
316 | a wide range of applications. Your particular design
317 | may have different requirements, so please make the
318 | necessary adjustments and save your customized
319 | design rules under a new name.
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
--------------------------------------------------------------------------------
/Eagle Hardware V1.0/btn_0.3.sch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | Developed by element14 :<br>
108 | element14 CAD Library consolidation.ulp
109 | at 27/07/2012 14:02:49
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 | *
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 | *
162 | >NAME
163 | >VALUE
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 | >NAME
179 | >VALUE
180 |
181 |
182 |
183 |
184 | 8-bit Microcontroller with In-System Programmable Flash
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 | >NAME
221 | >VALUE
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 | >NAME
244 | >VALUE
245 |
246 |
247 |
248 |
249 | WS2812 Intelligent RGB LED
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 | Lotverbinder für die Platinenkante. Einseitig.
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 | ISP
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 | AVR-ISP connector an Platinenrand
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 | Lötverbinder für Platinenkante. Einseitig.
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 | <h3>SparkFun Electronics' preferred foot prints</h3>
387 | In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
388 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
389 | <br><br>
390 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
391 |
392 |
393 |
394 |
395 |
396 | >Name
397 | >Value
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 | >Name
408 | >Value
409 |
410 |
411 |
412 |
413 |
414 |
415 | >NAME
416 | >VALUE
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 | >Name
426 | >Value
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 | >NAME
444 | >VALUE
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 | >NAME
459 | >VALUE
460 |
461 |
462 |
463 |
464 |
465 | <b>CAPACITOR</b><p>
466 | chip
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 | >NAME
477 | >VALUE
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 | >Name
487 | >Value
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 | >Name
501 | >Value
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 | >NAME
513 | >VALUE
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 | >NAME
525 | >VALUE
526 |
527 |
528 |
529 |
530 |
531 | CTZ3 Series land pattern for variable capacitor - CTZ3E-50C-W1-PF
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 | >NAME
550 | >VALUE
551 |
552 |
553 | <h3>CAP-PTH-SMALL-KIT</h3>
554 | Commonly used for small ceramic capacitors. Like our 0.1uF (http://www.sparkfun.com/products/8375) or 22pF caps (http://www.sparkfun.com/products/8571).<br>
555 | <br>
556 | <b>Warning:</b> This is the KIT version of this package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 | This is the "EZ" version of the .1" spaced ceramic thru-hole cap.<br>
591 | It has reduced top mask to make it harder to put the component on the wrong side of the board.
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 | >Name
600 | >Value
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 | >NAME
612 | >VALUE
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 | <b>Capacitor</b>
622 | Standard 0603 ceramic capacitor, and 0.1" leaded capacitor.
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 | <h3>SparkFun Electronics' preferred foot prints</h3>
759 | In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
760 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
761 | <br><br>
762 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 | >NAME
774 | >VALUE
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 | >Name
791 | >Value
792 |
793 |
794 | <b>RESISTOR</b><p>
795 | chip
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 | >NAME
807 | >VALUE
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 | >NAME
817 | >VALUE
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 | >NAME
829 | >VALUE
830 |
831 |
832 |
833 |
834 |
835 |
836 | <b>CAPACITOR</b><p>
837 | chip
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 |
846 | >NAME
847 | >VALUE
848 |
849 |
850 |
851 |
852 |
853 |
854 | 1/6W Thru-hole Resistor - *UNPROVEN*
855 |
856 |
857 |
858 |
859 |
860 |
861 | >NAME
862 | >VALUE
863 |
864 |
865 |
866 |
867 |
868 |
869 | >NAME
870 | >VALUE
871 |
872 |
873 |
874 |
875 | 1/4W Resistor, 0.4" wide<p>
876 |
877 | Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a>
878 |
879 |
880 |
881 |
882 |
883 |
884 | >Name
885 | >Value
886 |
887 |
888 | 1/2W Resistor, 0.5" wide<p>
889 |
890 | Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a>
891 |
892 |
893 |
894 |
895 |
896 |
897 | >Name
898 | >Value
899 |
900 |
901 | 1W Resistor, 0.6" wide<p>
902 |
903 | Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a>
904 |
905 |
906 |
907 |
908 |
909 |
910 | >Name
911 | >Value
912 |
913 |
914 | 2W Resistor, 0.8" wide<p>
915 |
916 | Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a>
917 |
918 |
919 |
920 |
921 |
922 |
923 | >Name
924 | >Value
925 |
926 |
927 | <h3>AXIAL-0.3-KIT</h3>
928 |
929 | Commonly used for 1/4W through-hole resistors. 0.3" pitch between holes.<br>
930 | <br>
931 |
932 | <b>Warning:</b> This is the KIT version of the AXIAL-0.3 package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 |
943 | >Name
944 | >Value
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 |
965 |
966 |
967 |
968 |
969 |
970 |
971 | This is the "EZ" version of the standard .3" spaced resistor package.<br>
972 | It has a reduced top mask to make it harder to install upside-down.
973 |
974 |
975 |
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 | >Name
984 | >Value
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 |
993 |
994 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 | >NAME
1003 | >VALUE
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 | <b>Resistor</b>
1011 | Basic schematic elements and footprints for 0603, 1206, and PTH resistors.
1012 |
1013 |
1014 |
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 |
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
1033 |
1034 |
1035 |
1036 |
1037 |
1038 |
1039 |
1040 |
1041 |
1042 |
1043 |
1044 |
1045 |
1046 |
1047 |
1048 |
1049 |
1050 |
1051 |
1052 |
1053 |
1054 |
1055 |
1056 |
1057 |
1058 |
1059 |
1060 |
1061 |
1062 |
1063 |
1064 |
1065 |
1066 |
1067 |
1068 |
1069 |
1070 |
1071 |
1072 |
1073 |
1074 |
1075 |
1076 |
1077 |
1078 |
1079 |
1080 |
1081 |
1082 |
1083 |
1084 |
1085 |
1086 |
1087 |
1088 |
1089 |
1090 |
1091 |
1092 |
1093 |
1094 |
1095 |
1096 |
1097 |
1098 |
1099 |
1100 |
1101 |
1102 |
1103 |
1104 |
1105 |
1106 |
1107 |
1108 |
1109 |
1110 |
1111 |
1112 |
1113 |
1114 |
1115 |
1116 |
1117 |
1118 |
1119 |
1120 |
1121 |
1122 |
1123 |
1124 |
1125 |
1126 |
1127 |
1128 |
1129 |
1130 |
1131 |
1132 |
1133 |
1134 |
1135 |
1136 |
1137 |
1138 |
1139 |
1140 |
1141 |
1142 |
1143 |
1144 |
1145 |
1146 |
1147 | <h3>SparkFun Electronics' preferred foot prints</h3>
1148 | In this library you'll find non-functional items- supply symbols, logos, notations, frame blocks, etc.<br><br>
1149 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
1150 | <br><br>
1151 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
1152 |
1153 |
1154 |
1155 |
1156 |
1157 |
1158 | >VALUE
1159 |
1160 |
1161 |
1162 |
1163 | >VALUE
1164 |
1165 |
1166 |
1167 |
1168 |
1169 |
1170 |
1171 |
1172 |
1173 |
1174 |
1175 |
1176 |
1177 |
1178 |
1179 |
1180 |
1181 | <b>SUPPLY SYMBOL</b>
1182 |
1183 |
1184 |
1185 |
1186 |
1187 |
1188 |
1189 |
1190 |
1191 |
1192 |
1193 |
1194 |
1195 |
1196 |
1197 |
1198 |
1199 |
1200 |
1201 |
1202 |
1203 |
1204 |
1205 |
1206 |
1207 |
1208 |
1209 |
1210 |
1211 |
1212 |
1213 |
1214 |
1215 |
1216 |
1217 |
1218 |
1219 |
1220 |
1221 |
1222 |
1223 |
1224 |
1225 |
1226 |
1227 |
1228 |
1229 |
1230 |
1231 |
1232 |
1233 |
1234 |
1235 |
1236 |
1237 |
1238 |
1239 |
1240 |
1241 |
1242 |
1243 |
1244 |
1245 |
1246 |
1247 |
1248 |
1249 |
1250 |
1251 |
1252 |
1253 |
1254 |
1255 |
1256 |
1257 |
1258 |
1259 |
1260 |
1261 |
1262 |
1263 |
1264 |
1265 |
1266 |
1267 |
1268 |
1269 |
1270 |
1271 |
1272 |
1273 |
1274 |
1275 |
1276 |
1277 |
1278 |
1279 |
1280 |
1281 |
1282 |
1283 |
1284 |
1285 |
1286 |
1287 |
1288 |
1289 |
1290 |
1291 |
1292 |
1293 |
1294 |
1295 |
1296 |
1297 |
1298 |
1299 |
1300 |
1301 |
1302 |
1303 |
1304 |
1305 |
1306 |
1307 |
1308 |
1309 |
1310 |
1311 |
1312 |
1313 |
1314 |
1315 |
1316 |
1317 |
1318 |
1319 |
1320 |
1321 |
1322 |
1323 |
1324 |
1325 |
1326 |
1327 |
1328 |
1329 |
1330 |
1331 |
1332 |
1333 |
1334 |
1335 |
1336 |
1337 |
1338 |
1339 |
1340 |
1341 |
1342 |
1343 |
1344 |
1345 |
1346 |
1347 |
1348 |
1349 |
1350 |
1351 |
1352 |
1353 |
1354 |
1355 |
1356 |
1357 |
1358 |
1359 |
1360 |
1361 |
1362 |
1363 |
1364 |
1365 |
1366 |
1367 |
1368 |
1369 |
1370 |
1371 |
1372 |
1373 |
1374 |
1375 |
1376 |
1377 |
1378 |
1379 |
1380 |
1381 |
1382 |
1383 |
1384 |
1385 |
1386 |
1387 |
1388 |
1389 |
1390 |
1391 |
1392 |
1393 |
1394 |
1395 |
1396 |
1397 |
1398 |
1399 |
1400 |
1401 |
1402 |
1403 |
1404 |
1405 |
1406 |
1407 |
1408 |
1409 |
1410 |
1411 |
1412 |
1413 |
1414 |
1415 |
1416 |
1417 |
1418 |
1419 |
1420 |
1421 |
1422 |
1423 |
1424 |
1425 |
1426 |
1427 |
1428 |
1429 |
1430 |
1431 |
1432 |
1433 |
1434 |
1435 |
1436 |
1437 |
1438 |
1439 |
1440 |
1441 |
1442 |
1443 |
1444 |
1445 |
1446 |
1447 |
1448 |
1449 |
1450 |
1451 |
1452 |
1453 |
1454 |
1455 |
1456 |
1457 |
1458 |
1459 |
1460 |
1461 |
1462 |
1463 |
1464 |
1465 |
1466 |
1467 |
1468 |
1469 |
1470 |
1471 |
1472 |
1473 |
1474 |
1475 |
1476 |
1477 |
--------------------------------------------------------------------------------
/Eagle Hardware V2.0/README.md:
--------------------------------------------------------------------------------
1 | TinyTouchButton Hardware V2.0
2 | ===============
3 |
4 | A touch controlled light with a WS2812 RGB LEDs and ATtiny 10
5 |
6 | This is a small hardware project which utilizes the [light_WS2812 library](https://github.com/cpldcpu/light_ws2812) and the [TinyTouchLib](https://github.com/cpldcpu/TinyTouchLib)
7 | to implement a touch-button controlled RGB-LED light. Only two output pins of the ATtiny 10
8 | are used.
9 |
10 | Look at the button in operation [here](http://www.youtube.com/watch?v=yGvvy51Po7Q)!
11 |
12 | ### PCB renders by OSH Park ###
13 |
14 | 
15 | 
16 |
17 | ### Finished PCB ###
18 |
19 | 
20 |
21 |
--------------------------------------------------------------------------------
/Eagle Hardware V2.0/front side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/Eagle Hardware V2.0/front side.png
--------------------------------------------------------------------------------
/Eagle Hardware V2.0/rear side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/Eagle Hardware V2.0/rear side.png
--------------------------------------------------------------------------------
/Eagle Hardware V2.0/tinytouchbutton_v2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/Eagle Hardware V2.0/tinytouchbutton_v2.jpg
--------------------------------------------------------------------------------
/Eagle Hardware V2.0/tinytouchbutton_v2_0.2.brd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 | GND
115 | OUT
116 | LED
117 | VCC
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 | GND
127 | OUT
128 | LED
129 | LED
130 | VCC
131 | VCC
132 | PAD
133 | RST
134 | R1
135 | C2
136 | C1
137 |
138 |
139 |
140 | Developed by element14 :<br>
141 | element14 CAD Library consolidation.ulp
142 | at 27/07/2012 14:02:49
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 | *
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 | *
195 | >NAME
196 | >VALUE
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 | >NAME
206 | >VALUE
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 | Lotverbinder für die Platinenkante. Einseitig.
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 | <h3>SparkFun Electronics' preferred foot prints</h3>
242 | In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
243 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
244 | <br><br>
245 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
246 |
247 |
248 |
249 |
250 |
251 |
252 | >NAME
253 | >VALUE
254 |
255 |
256 |
257 |
258 | <h3>SparkFun Electronics' preferred foot prints</h3>
259 | In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
260 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
261 | <br><br>
262 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
263 |
264 |
265 |
266 |
267 |
268 |
269 | >NAME
270 | >VALUE
271 |
272 |
273 |
274 |
275 | <h3>SparkFun Electronics' preferred foot prints</h3>
276 | In this library you'll find connectors and sockets- basically anything that can be plugged into or onto.<br><br>
277 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
278 | <br><br>
279 | <b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 | >NAME
327 | >VALUE
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 | <b>EAGLE Design Rules</b>
350 | <p>
351 | Die Standard-Design-Rules sind so gewählt, dass sie für
352 | die meisten Anwendungen passen. Sollte ihre Platine
353 | besondere Anforderungen haben, treffen Sie die erforderlichen
354 | Einstellungen hier und speichern die Design Rules unter
355 | einem neuen Namen ab.
356 | <b>Laen's PCB Order Design Rules</b>
357 | <p>
358 | Please make sure your boards conform to these design rules.
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
--------------------------------------------------------------------------------
/Finished PCB.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/Finished PCB.jpg
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | TinyTouchButton
2 | ===============
3 |
4 | A touch controlled light with 4xWS2812 RGB LEDs and ATtiny 10
5 |
6 | This is a small hardware project which utilizes the [light_WS2812 library](https://github.com/cpldcpu/light_ws2812) and the [TinyTouchLib](https://github.com/cpldcpu/TinyTouchLib)
7 | to implement a touch-button controlled RGB-LED light. Only two output pins of the ATtiny 10
8 | are used.
9 |
10 | Atmel Studio project and Eagle files are included.
11 |
12 | New: Hardware V2.0. See [subfolder](https://github.com/cpldcpu/TinyTouchButton/tree/master/Eagle%20Hardware%20V2.0).
13 |
14 | ### Finished PCB V1.0 ###
15 |
16 | 
17 |
18 | ### Finished PCB V2.0 ###
19 |
20 | 
21 |
22 |
23 | ### Circuit ###
24 |
25 | 
26 |
--------------------------------------------------------------------------------
/TinyTouchButton.atsln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Atmel Studio Solution File, Format Version 11.00
4 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "TinyTouchButton", "TinyTouchButton\TinyTouchButton.cproj", "{48E49E78-9DA0-4FBC-A5B9-376CE93D686B}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|AVR = Debug|AVR
9 | Release|AVR = Release|AVR
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {48E49E78-9DA0-4FBC-A5B9-376CE93D686B}.Debug|AVR.ActiveCfg = Debug|AVR
13 | {48E49E78-9DA0-4FBC-A5B9-376CE93D686B}.Debug|AVR.Build.0 = Debug|AVR
14 | {48E49E78-9DA0-4FBC-A5B9-376CE93D686B}.Release|AVR.ActiveCfg = Release|AVR
15 | {48E49E78-9DA0-4FBC-A5B9-376CE93D686B}.Release|AVR.Build.0 = Release|AVR
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/TinyTouchButton.atsuo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/TinyTouchButton.atsuo
--------------------------------------------------------------------------------
/TinyTouchButton/TinyTouchButton.c:
--------------------------------------------------------------------------------
1 | /*
2 | * TinyTouchButton.c
3 | *
4 | * Created: 31.05.2013 18:13:26
5 | * Author: Tim
6 |
7 | Hardware:
8 | - Attiny 10
9 | - 4x WS2812 LED on PB2
10 | - Touchbutton on PB1
11 | */
12 |
13 | #define F_CPU 8000000
14 |
15 | #include
16 | #include
17 | #include "light_ws2812.h"
18 | #include "TinyTouchLib.h"
19 |
20 | struct CRGB { uint8_t g; uint8_t r; uint8_t b; };
21 | struct CRGB led[4];
22 |
23 | int main(void)
24 | {
25 | uint8_t ledon=0;
26 | uint8_t ctr;
27 |
28 | CCP=0xD8; // configuration change protection, write signature
29 | CLKPSR=0; // set cpu clock prescaler =1 (8Mhz) (attiny 4/5/9/10)
30 |
31 | DDRB|=_BV(PB2); // Output pin for WS2812
32 | DDRB|=_BV(PB0); // Data output
33 |
34 | tinytouch_init();
35 |
36 | while(1)
37 | {
38 | if (tinytouch_sense()==tt_push) {ledon^=1;}
39 |
40 | ctr++;
41 |
42 | if (ledon) {
43 | led[0].r=128;led[0].g=128;led[0].b=128; // light on: white on maximum brightness
44 | led[1].r=255;led[1].g=255;led[1].b=255;
45 | led[2].r=255;led[2].g=255;led[2].b=255;
46 | led[3].r=255;led[3].g=255;led[3].b=255;
47 | PORTB|=_BV(PB0);
48 | } else {
49 | led[0].r=0;led[0].g=0;led[0].b=0; // light off: Attract mode.
50 | led[1].r=0;led[1].g=0;led[1].b=0;
51 | led[2].r=0;led[2].g=0;led[2].b=0;
52 | led[3].r=0;led[3].g=0;led[3].b=0;
53 | led[ctr>>6].g=((ctr&0x3f)^0x3f)>>3;
54 | led[((ctr>>6)+1)&3].g=(ctr&0x3f)>>3;
55 | PORTB&=~_BV(PB0);
56 | }
57 |
58 | ws2812_sendarray_mask(led,12,_BV(PB2));
59 | _delay_ms(3);
60 | }
61 | }
62 |
63 |
--------------------------------------------------------------------------------
/TinyTouchButton/TinyTouchButton.cproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 2.0
5 | 6.0
6 | com.Atmel.AVRGCC8
7 | {48e49e78-9da0-4fbc-a5b9-376ce93d686b}
8 | ATtiny10
9 | none
10 | Executable
11 | C
12 | $(MSBuildProjectName)
13 | .elf
14 | $(MSBuildProjectDirectory)\$(Configuration)
15 | TinyTouchButton
16 | TinyTouchButton
17 | TinyTouchButton
18 | Native
19 | true
20 | false
21 |
22 | 0
23 | 3.5.1
24 |
25 |
26 |
27 |
28 | True
29 | True
30 | True
31 | True
32 | True
33 | True
34 | Optimize for size (-Os)
35 | True
36 | True
37 | True
38 |
39 |
40 | m
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | True
50 | True
51 | True
52 | True
53 | True
54 | True
55 | Optimize for size (-Os)
56 | True
57 | True
58 | True
59 | Default (-g2)
60 | True
61 |
62 |
63 | m
64 |
65 |
66 | True
67 | Default (-Wa,-g)
68 |
69 |
70 |
71 |
72 |
73 | compile
74 |
75 |
76 | compile
77 |
78 |
79 | compile
80 |
81 |
82 | compile
83 |
84 |
85 | compile
86 |
87 |
88 | compile
89 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/TinyTouchButton/TinyTouchLib.c:
--------------------------------------------------------------------------------
1 | /*
2 | * tinytouchlib.c
3 | *
4 | * Created: 09.06.2013 17:25:47 - v0.1 Initial release (ATtiny 10)
5 | * 10.06.2013 - v0.2 ported to ATtiny 25/45/85 and ATtiny13
6 | * Author: Tim (cpldcpu@gmail.com)
7 | */
8 |
9 |
10 | #include "TinyTouchLib.h"
11 | #include
12 |
13 | // Internal function to read the adc input
14 | uint8_t tinytouch_adc(void);
15 |
16 | uint16_t bias;
17 | uint8_t touch;
18 | #if touch_timeout>0
19 | uint8_t timer;
20 | #endif
21 | /*
22 | Capacitive sensing using charge sharing between
23 | the S/H capacitor and an external sensing pad
24 | */
25 |
26 | void tinytouch_init(void) {
27 |
28 | #ifndef __AVR_ATtiny13__
29 | PRR &=~_BV(PRADC);
30 | #endif
31 | ADCSRA =_BV(ADEN)|_BV(ADPS2)|_BV(ADPS1); // Enable ADC, Set prescaler to 64
32 |
33 | bias=tinytouch_adc()<<8;
34 | touch=0;
35 | }
36 |
37 | uint8_t tinytouch_sense(void) {
38 | uint8_t i;
39 | uint16_t tmp;
40 | int16_t delta;
41 |
42 | tmp=0;
43 | for (i=0; i<16; i++) {
44 | tmp+=tinytouch_adc(); // average 16 samples
45 | _delay_us(100);
46 | }
47 |
48 | delta=tmp-(bias>>4);
49 |
50 | if (!touch) {
51 | if (delta>touch_threshold_on) {
52 | touch=1;
53 | #if touch_timeout>0
54 | timer=0;
55 | #endif
56 | return tt_push;
57 | }
58 |
59 | // update bias only when touch not active
60 | bias=(bias-(bias>>6))+(tmp>>2); // IIR low pass
61 | return tt_off;
62 | } else {
63 | if (delta0
69 | if (timer==255) {
70 | bias=tinytouch_adc()<<8;
71 | return tt_timeout;
72 | }
73 | timer++;
74 | #endif
75 | return tt_on;
76 | }
77 | }
78 |
79 | uint8_t tinytouch_adc(void) {
80 |
81 | uint8_t dat1,dat2;
82 |
83 | // Precharge Low
84 | ADMUX =tt_refadc; // connect S/H cap to reference pin
85 | PORTB |= _BV(tt_refpin); // Charge S/H Cap
86 | PORTB &=~_BV(tt_sensepin); // Discharge Pad (0)
87 | DDRB |= _BV(tt_refpin)|_BV(tt_sensepin);
88 |
89 | _delay_us(32);
90 |
91 | DDRB &=~(_BV(tt_sensepin)); // float pad input, note that pull up is off.
92 |
93 | #ifdef __AVR_ATtiny10__
94 | ADMUX =tt_senseadc; // Connect sense input to adc
95 | #else
96 | ADMUX =tt_senseadc|_BV(ADLAR); // Connect sense input to adc
97 | #endif
98 |
99 | ADCSRA |=_BV(ADSC); // Start conversion
100 | while (!(ADCSRA&_BV(ADIF)));
101 | ADCSRA |=_BV(ADIF); // Clear ADIF
102 |
103 | #ifdef __AVR_ATtiny10__
104 | dat1=ADCL;
105 | #else
106 | dat1=ADCH;
107 | #endif
108 |
109 | // Precharge High
110 | ADMUX =tt_refadc; // connect S/H cap to reference pin
111 | PORTB &=~_BV(tt_refpin); // Discharge S/H Cap
112 | PORTB |= _BV(tt_sensepin); // Charge Pad
113 | DDRB |= _BV(tt_refpin)|_BV(tt_sensepin);
114 |
115 | _delay_us(32);
116 |
117 | DDRB &=~(_BV(tt_sensepin)); // float pad input input
118 | PORTB &=~_BV(tt_sensepin); // pull up off
119 |
120 | #ifdef __AVR_ATtiny10__
121 | ADMUX =tt_senseadc; // Connect sense input to adc
122 | #else
123 | ADMUX =tt_senseadc|_BV(ADLAR); // Connect sense input to adc
124 | #endif
125 |
126 | ADCSRA |=_BV(ADSC); // Start conversion
127 | while (!(ADCSRA&_BV(ADIF)));
128 | ADCSRA |=_BV(ADIF); // Clear ADIF
129 |
130 | #ifdef __AVR_ATtiny10__
131 | dat2=ADCL;
132 | #else
133 | dat2=ADCH;
134 | #endif
135 |
136 |
137 | return dat2-dat1;
138 | }
139 |
140 |
--------------------------------------------------------------------------------
/TinyTouchButton/TinyTouchLib.h:
--------------------------------------------------------------------------------
1 | /*
2 | * TinyTouchLib.h
3 | *
4 | * Created: 09.06.2013 17:25:47 - v0.1 Initial release
5 | * Author: Tim (cpldcpu@gmail.com)
6 | */
7 |
8 |
9 | #ifndef TINYTOUCHLIB_H_
10 | #define TINYTOUCHLIB_H_
11 | #include
12 |
13 | enum {tt_off=0,tt_on,tt_push,tt_release,tt_timeout};
14 |
15 | //////////////////////////////////////////////////////////////////////////
16 | //
17 | // User definable settings
18 | //
19 | //////////////////////////////////////////////////////////////////////////
20 |
21 | // Define upper and lower threshold for the touch sensing. You may have to
22 | // change these depending on the geometry of your touch button.
23 | // Setting the "on" value lower will make the touch button more sensitive.
24 | // Setting the "off" value higher will make the touch button less likely
25 | // to be "stuck". Too high values can lead to oscillations.
26 |
27 | #define touch_threshold_on 70
28 | #define touch_threshold_off 20
29 |
30 | // If the touch button is pressed, the bias value is not updated
31 | // to prevent detection of multiple touches. In some cases this may
32 | // lead to a "stuck button" situation. Therefore an update of the bias
33 | // is forced after a certain time unless this function is deactivated.
34 | //
35 | // The value of timeout corresponds to the number of calls to tinytouch_sense().
36 | // The maximum is 255.
37 | // Setting timeout to 0 will turn the functionality off.
38 |
39 | #define touch_timeout 255
40 | //#define touch_timeout 0 // turn off timeout functionality
41 |
42 |
43 | // Define pins to use for the reference input and the touch button
44 | // The reference pin is used to charge or discharge the internal
45 | // sample&hold capacitor. This pin is used in output mode and should
46 | // not be shorted to VCC or GND externally.
47 | // The sense pin is connected to the touch-button. To improve noise immunity
48 | // a series resistor can be used.
49 |
50 | // The pin number corresponds to the analog input number ADCx. The port
51 | // is chosen automatically. (PORTB on ATtiny 5/10/13/25/45/85)
52 |
53 | #define tt_refpin 2 // Use PB0 as reference pin
54 | #define tt_refadc 2 // Use ADC0 as reference ADC input
55 | #define tt_sensepin 1 // Use PB1 as sense pin
56 | #define tt_senseadc 1 // Use ADC1 as sense ADC input
57 |
58 | //////////////////////////////////////////////////////////////////////////
59 | //
60 | // Library functions
61 | //
62 | //////////////////////////////////////////////////////////////////////////
63 |
64 | // Library initialization
65 | // Call this once to initialize the library functions and the ADC converter
66 | void tinytouch_init(void);
67 |
68 | // The sense function evaluates the button state and performs internal
69 | // housekeeping. It should be polled at least 30 times per second to
70 | // update the internal logic. Please note that each call performs 32
71 | // analog to digital conversions with active waiting. This may take
72 | // several ms.
73 |
74 | // Possible return values are:
75 | // tt_off=0 No touch sensed
76 | // tt_on Touch button is active and touch is sensed.
77 | // tt_push Touch button is pushed. Use this to initiate one time events.
78 | // tt_release Touch button is released. Use this to initiate one time events.
79 | // tt_timeout Touch button has been active too long and internal bias was reset.
80 | uint8_t tinytouch_sense(void);
81 |
82 | #endif
--------------------------------------------------------------------------------
/TinyTouchButton/light_ws2812.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/TinyTouchButton/light_ws2812.c
--------------------------------------------------------------------------------
/TinyTouchButton/light_ws2812.h:
--------------------------------------------------------------------------------
1 | /*
2 | * light weight WS2812 lib
3 | *
4 | * Created: 07.04.2013 15:58:05 - v0.1
5 | * 06.05.2013 - v0.3 - clean up
6 | * 27.05.2013 - v0.6 - clean up, removed RC variants, added mask
7 | * Author: Tim (cpldcpu@gmail.com)
8 | */
9 |
10 | #include
11 |
12 | #ifndef LIGHT_WS2812_H_
13 | #define LIGHT_WS2812_H_
14 |
15 | // Call with address to led color array (order is Green-Red-Blue)
16 | // Numer of bytes to be transmitted is leds*3
17 |
18 | void ws2812_sendarray(uint8_t *ledarray,uint16_t length);
19 | void ws2812_sendarray_mask(uint8_t *ledarray,uint16_t length, uint8_t mask);
20 |
21 | ///////////////////////////////////////////////////////////////////////
22 | // User defined area: Define I/O pin
23 | ///////////////////////////////////////////////////////////////////////
24 |
25 | #define ws2812_port PORTB // Data port register
26 | #define ws2812_pin 2 // Number of the data out pin
27 |
28 | ///////////////////////////////////////////////////////////////////////
29 | // User defined area: Define CPU clock speed
30 | // Uncomment one and only one #define matching your application
31 | ///////////////////////////////////////////////////////////////////////
32 |
33 | // #define ws2812_4MHz
34 | #define ws2812_8MHz
35 | // #define ws2812_9p6MHz
36 | // #define ws2812_12MHz // Warning: Untested in v0.6
37 | // #define ws2812_16MHz
38 |
39 | ///////////////////////////////////////////////////////////////////////
40 | // End user defined area
41 | ///////////////////////////////////////////////////////////////////////
42 |
43 | #endif /* LIGHT_WS2812_H_ */
--------------------------------------------------------------------------------
/circuit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpldcpu/TinyTouchButton/6c33778e35c41a35690977fb5d38159c44e76ec7/circuit.jpg
--------------------------------------------------------------------------------