├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── enclosure.dxf
├── pcb
├── avr-sensors
├── avr-sensors-cache.lib
├── avr-sensors.bak
├── avr-sensors.cmp
├── avr-sensors.kicad_pcb
├── avr-sensors.kicad_pcb-bak
├── avr-sensors.net
├── avr-sensors.pdf
├── avr-sensors.pro
├── avr-sensors.sch
├── avr-sensors.xml
└── libs
│ ├── J0026D21BNL.lib
│ ├── J0026D21BNL.mod
│ ├── bh1721.lib
│ ├── dp_devices.lib
│ ├── dp_devices.mod
│ ├── lmt87.lib
│ ├── ms5637.bak
│ ├── ms5637.dcm
│ ├── ms5637.lib
│ ├── ms5637.mod
│ ├── oshec-burr-brown-3.lib
│ ├── oshec-burr-brown-3.mod
│ ├── oshec-microchip-enc28j60.lib
│ └── oshec-microchip-enc28j60.mod
├── src
├── Makefile
├── bitmaps.h
├── clock-arch.c
├── clock-arch.h
├── common.h
├── config.h
├── dht.c
├── dht.h
├── ds18b20.c
├── ds18b20.h
├── gpio.h
├── main.c
├── nethandler.c
├── nethandler.h
├── oled.c
├── oled.h
└── uip-conf.h
└── utils
├── graphic
├── 12x24-0.png
├── 12x24-1.png
├── 12x24-2.png
├── 12x24-3.png
├── 12x24-4.png
├── 12x24-5.png
├── 12x24-6.png
├── 12x24-7.png
├── 12x24-8.png
├── 12x24-9.png
├── 7x16--.png
├── 7x16-0.png
├── 7x16-1.png
├── 7x16-2.png
├── 7x16-3.png
├── 7x16-4.png
├── 7x16-5.png
├── 7x16-6.png
├── 7x16-7.png
├── 7x16-8.png
├── 7x16-9.png
├── 7x16-percent.png
├── 9x16-percent.png
├── weather-20x16-cloudy.png
├── weather-20x16-lightning.png
├── weather-20x16-mist.png
├── weather-20x16-rain.png
├── weather-20x16-snow.png
├── weather-20x16-sun.png
└── weather-20x16-suncl.png
└── tooled.groovy
/.gitignore:
--------------------------------------------------------------------------------
1 | # Object files
2 | *.o
3 | *.ko
4 | *.obj
5 | *.elf
6 |
7 | # Libraries
8 | *.lib
9 | *.a
10 |
11 | # Shared objects (inc. Windows DLLs)
12 | *.dll
13 | *.so
14 | *.so.*
15 | *.dylib
16 |
17 | # Executables
18 | *.exe
19 | *.out
20 | *.app
21 | *.i*86
22 | *.x86_64
23 | *.hex
24 | .map
25 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "thirdparty/avr-uip-2"]
2 | path = thirdparty/avr-uip-2
3 | url = https://github.com/atalax/avr-uip-2
4 | [submodule "thirdparty/umqtt"]
5 | path = thirdparty/umqtt
6 | url = https://github.com/atalax/umqtt
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | avr-mqtt-board
2 | ==============
3 |
4 | Board with AVR and Ethernet supporting MQTT
5 |
--------------------------------------------------------------------------------
/pcb/avr-sensors:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/pcb/avr-sensors
--------------------------------------------------------------------------------
/pcb/avr-sensors-cache.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3
2 | #encoding utf-8
3 | #
4 | # +3.3V
5 | #
6 | DEF +3.3V #PWR 0 0 Y Y 1 F P
7 | F0 "#PWR" 0 -40 30 H I C CNN
8 | F1 "+3.3V" 0 110 30 H V C CNN
9 | F2 "" 0 0 60 H V C CNN
10 | F3 "" 0 0 60 H V C CNN
11 | ALIAS +3,3V
12 | DRAW
13 | X +3.3V 1 0 0 0 U 30 30 0 0 W N
14 | C 0 60 20 0 1 0 N
15 | P 3 0 1 0 0 0 0 40 0 40 N
16 | ENDDRAW
17 | ENDDEF
18 | #
19 | # +5V
20 | #
21 | DEF +5V #PWR 0 40 Y Y 1 F P
22 | F0 "#PWR" 0 90 20 H I C CNN
23 | F1 "+5V" 0 90 30 H V C CNN
24 | F2 "" 0 0 60 H V C CNN
25 | F3 "" 0 0 60 H V C CNN
26 | DRAW
27 | X +5V 1 0 0 0 U 20 20 0 0 W N
28 | C 0 50 20 0 1 0 N
29 | P 4 0 1 0 0 0 0 30 0 30 0 30 N
30 | ENDDRAW
31 | ENDDEF
32 | #
33 | # ATMEGA168A-A
34 | #
35 | DEF ATMEGA168A-A IC 0 40 Y Y 1 F N
36 | F0 "IC" -750 1250 40 H V L BNN
37 | F1 "ATMEGA168A-A" 400 -1400 40 H V L BNN
38 | F2 "TQFP32" 0 0 30 H V C CIN
39 | F3 "" 0 0 60 H V C CNN
40 | ALIAS ATMEGA48A-A ATMEGA48PA-A ATMEGA88A-A ATMEGA88PA-A ATMEGA168PA-A ATMEGA328-A ATMEGA328P-A
41 | DRAW
42 | S -750 1200 850 -1300 0 1 10 f
43 | X (PCINT19/OC2B/INT1)PD3 1 1000 -800 150 L 40 40 1 1 B
44 | X (PCINT20/XCK/T0)PD4 2 1000 -900 150 L 40 40 1 1 B
45 | X GND 3 -900 -1200 150 R 40 40 1 1 W
46 | X VCC 4 -900 1100 150 R 40 40 1 1 W
47 | X GND 5 -900 -1100 150 R 40 40 1 1 W
48 | X VCC 6 -900 1000 150 R 40 40 1 1 W
49 | X (PCINT6/XTAL1/TOSC1)PB6 7 1000 500 150 L 40 40 1 1 B
50 | X (PCINT7/XTAL2/TOSC2)PB7 8 1000 400 150 L 40 40 1 1 B
51 | X (PCINT21/OC0B/T1)PD5 9 1000 -1000 150 L 40 40 1 1 B
52 | X (PCINT22/OC0A/AIN0)PD6 10 1000 -1100 150 L 40 40 1 1 B
53 | X AREF 20 -900 500 150 R 40 40 1 1 B
54 | X (PCINT16/RXD)PD0 30 1000 -500 150 L 40 40 1 1 B
55 | X (PCINT23/AIN1)PD7 11 1000 -1200 150 L 40 40 1 1 B
56 | X GND 21 -900 -1000 150 R 40 40 1 1 W
57 | X (PCINT17/TXD)PD1 31 1000 -600 150 L 40 40 1 1 B
58 | X (PCINT0/CLKO/ICP1)PB0 12 1000 1100 150 L 40 40 1 1 B
59 | X ADC7 22 -900 -350 150 R 40 40 1 1 I
60 | X (PCINT18/INT0)PD2 32 1000 -700 150 L 40 40 1 1 B
61 | X (PCINT1/OC1A)PB1 13 1000 1000 150 L 40 40 1 1 B
62 | X (PCINT8/ADC0)PC0 23 1000 250 150 L 40 40 1 1 B
63 | X (PCINT2/OC1B/~SS~)PB2 14 1000 900 150 L 40 40 1 1 B
64 | X (PCINT9/ADC1)PC1 24 1000 150 150 L 40 40 1 1 B
65 | X (PCINT3/OC2A/MOSI)PB3 15 1000 800 150 L 40 40 1 1 B
66 | X (PCINT10/ADC2)PC2 25 1000 50 150 L 40 40 1 1 B
67 | X (PCINT4/MISO)PB4 16 1000 700 150 L 40 40 1 1 B
68 | X (PCINT11/ADC3)PC3 26 1000 -50 150 L 40 40 1 1 B
69 | X (PCINT5/SCK)PB5 17 1000 600 150 L 40 40 1 1 B
70 | X (PCINT12/SDA/ADC4)PC4 27 1000 -150 150 L 40 40 1 1 B
71 | X AVCC 18 -900 800 150 R 40 40 1 1 W
72 | X (PCINT14/SCL/ADC5)PC5 28 1000 -250 150 L 40 40 1 1 B
73 | X ADC6 19 -900 -250 150 R 40 40 1 1 I
74 | X (PCINT14/~RESET~)PC6 29 1000 -350 150 L 40 40 1 1 B
75 | ENDDRAW
76 | ENDDEF
77 | #
78 | # BARREL_JACK
79 | #
80 | DEF BARREL_JACK CON 0 40 Y Y 1 F N
81 | F0 "CON" 0 250 60 H V C CNN
82 | F1 "BARREL_JACK" 0 -200 60 H V C CNN
83 | F2 "" 0 0 60 H V C CNN
84 | F3 "" 0 0 60 H V C CNN
85 | DRAW
86 | A -300 99 49 -900 1788 0 1 0 N -300 50 -350 100
87 | A -300 101 49 900 -1788 0 1 0 N -300 150 -350 100
88 | S 100 150 0 50 0 1 0 N
89 | P 2 0 1 0 -300 50 0 50 N
90 | P 2 0 1 0 0 150 -300 150 N
91 | P 3 0 1 0 100 0 -50 0 -50 -100 N
92 | P 5 0 1 0 100 -100 -150 -100 -200 -50 -250 -100 -350 -100 N
93 | X ~ 1 300 100 200 L 50 50 1 1 P
94 | X ~ 2 300 -100 200 L 50 50 1 1 P
95 | X ~ 3 300 0 200 L 50 50 1 1 P
96 | ENDDRAW
97 | ENDDEF
98 | #
99 | # C
100 | #
101 | DEF C C 0 10 N Y 1 F N
102 | F0 "C" 0 100 40 H V L CNN
103 | F1 "C" 6 -85 40 H V L CNN
104 | F2 "" 38 -150 30 H V C CNN
105 | F3 "" 0 0 60 H V C CNN
106 | $FPLIST
107 | SM*
108 | C?
109 | C1-1
110 | $ENDFPLIST
111 | DRAW
112 | P 2 0 1 20 -80 -30 80 -30 N
113 | P 2 0 1 20 -80 30 80 30 N
114 | X ~ 1 0 200 170 D 40 40 1 1 P
115 | X ~ 2 0 -200 170 U 40 40 1 1 P
116 | ENDDRAW
117 | ENDDEF
118 | #
119 | # CON_HEADER_1X04
120 | #
121 | DEF CON_HEADER_1X04 J 0 40 N N 1 L N
122 | F0 "J" -50 250 50 H V L BNN
123 | F1 "CON_HEADER_1X04" 0 0 50 H V L BNN
124 | F2 "dp_devices-M1X4" 0 150 50 H I C CNN
125 | F3 "" 0 0 31 H V C CNN
126 | DRAW
127 | P 2 1 0 0 -50 -300 -50 200 N
128 | P 2 1 0 0 -50 200 150 200 N
129 | P 2 1 0 0 150 -300 -50 -300 N
130 | P 2 1 0 0 150 200 150 -300 N
131 | X 1 1 0 100 100 R 40 40 1 1 B I
132 | X 2 2 0 0 100 R 40 40 1 1 B I
133 | X 3 3 0 -100 100 R 40 40 1 1 B I
134 | X 4 4 0 -200 100 R 40 40 1 1 B I
135 | ENDDRAW
136 | ENDDEF
137 | #
138 | # CON_HEADER_2X04-PTH
139 | #
140 | DEF CON_HEADER_2X04-PTH J 0 40 N N 1 L N
141 | F0 "J" -50 225 50 H V L BNN
142 | F1 "CON_HEADER_2X04-PTH" 0 0 50 H V L BNN
143 | F2 "dp_devices-M2X4" 0 150 50 H I C CNN
144 | F3 "" 0 0 31 H V C CNN
145 | DRAW
146 | P 2 1 0 0 -50 -300 350 -300 N
147 | P 2 1 0 0 -50 200 -50 -300 N
148 | P 2 1 0 0 350 -300 350 200 N
149 | P 2 1 0 0 350 200 -50 200 N
150 | X P$1 1 0 100 100 R 40 40 1 1 P I
151 | X P$2 2 300 100 100 L 40 40 1 1 P I
152 | X P$3 3 0 0 100 R 40 40 1 1 P I
153 | X P$4 4 300 0 100 L 40 40 1 1 P I
154 | X P$5 5 0 -100 100 R 40 40 1 1 P I
155 | X P$6 6 300 -100 100 L 40 40 1 1 P I
156 | X P$7 7 0 -200 100 R 40 40 1 1 P I
157 | X P$8 8 300 -200 100 L 40 40 1 1 P I
158 | ENDDRAW
159 | ENDDEF
160 | #
161 | # CON_HEADER_2X05-PTH
162 | #
163 | DEF CON_HEADER_2X05-PTH J 0 40 N N 1 L N
164 | F0 "J" -50 325 50 H V L BNN
165 | F1 "CON_HEADER_2X05-PTH" 0 0 50 H V L BNN
166 | F2 "dp_devices-M2X5" 0 150 50 H I C CNN
167 | F3 "" 0 0 31 H V C CNN
168 | DRAW
169 | P 2 1 0 0 -50 -300 -50 300 N
170 | P 2 1 0 0 -50 300 350 300 N
171 | P 2 1 0 0 350 -300 -50 -300 N
172 | P 2 1 0 0 350 300 350 -300 N
173 | X 1 1 0 200 100 R 40 40 1 1 P I
174 | X 2 2 300 200 100 L 40 40 1 1 P I
175 | X 3 3 0 100 100 R 40 40 1 1 P I
176 | X 4 4 300 100 100 L 40 40 1 1 P I
177 | X 5 5 0 0 100 R 40 40 1 1 P I
178 | X 6 6 300 0 100 L 40 40 1 1 P I
179 | X 7 7 0 -100 100 R 40 40 1 1 P I
180 | X 8 8 300 -100 100 L 40 40 1 1 P I
181 | X 9 9 0 -200 100 R 40 40 1 1 P I
182 | X 10 10 300 -200 100 L 40 40 1 1 P I
183 | ENDDRAW
184 | ENDDEF
185 | #
186 | # CON_TERMINAL_BLOCK_02-5MM
187 | #
188 | DEF CON_TERMINAL_BLOCK_02-5MM J 0 40 N N 1 L N
189 | F0 "J" -50 150 50 H V L BNN
190 | F1 "CON_TERMINAL_BLOCK_02-5MM" 0 0 50 H V L BNN
191 | F2 "dp_devices-TERMINAL_BLOCK_2P_5" 0 150 50 H I C CNN
192 | F3 "" 0 0 31 H V C CNN
193 | DRAW
194 | P 2 1 0 0 -50 -200 -50 100 N
195 | P 2 1 0 0 -50 100 150 100 N
196 | P 2 1 0 0 150 -200 -50 -200 N
197 | P 2 1 0 0 150 100 150 -200 N
198 | X 1 1 0 0 100 R 40 40 1 1 P I
199 | X 2 2 0 -100 100 R 40 40 1 1 P I
200 | ENDDRAW
201 | ENDDEF
202 | #
203 | # CRYSTAL
204 | #
205 | DEF CRYSTAL X 0 40 N N 1 F N
206 | F0 "X" 0 150 60 H V C CNN
207 | F1 "CRYSTAL" 0 -150 60 H V C CNN
208 | F2 "" 0 0 60 H V C CNN
209 | F3 "" 0 0 60 H V C CNN
210 | DRAW
211 | P 2 0 1 16 -100 100 -100 -100 N
212 | P 2 0 1 16 100 100 100 -100 N
213 | P 5 0 1 12 -50 50 50 50 50 -50 -50 -50 -50 50 f
214 | X 1 1 -300 0 200 R 40 40 1 1 P
215 | X 2 2 300 0 200 L 40 40 1 1 P
216 | ENDDRAW
217 | ENDDEF
218 | #
219 | # ENC28J60-SSOP
220 | #
221 | DEF ENC28J60-SSOP U 0 40 Y Y 1 L N
222 | F0 "U" -800 900 50 H V L BNN
223 | F1 "ENC28J60-SSOP" 200 -600 50 H V L BNN
224 | F2 "microchip-enc28j60-SSOP28" 0 150 50 H I C CNN
225 | F3 "" 0 0 31 H V C CNN
226 | DRAW
227 | P 2 1 0 0 -800 -500 600 -500 N
228 | P 2 1 0 0 -800 800 -800 -500 N
229 | P 2 1 0 0 600 -500 600 800 N
230 | P 2 1 0 0 600 800 -800 800 N
231 | X VCAP 1 -1000 -300 200 R 40 40 1 1 W
232 | X VSS 2 100 -700 200 U 40 40 1 1 W
233 | X CLKOUT 3 -1000 -200 200 R 40 40 1 1 O
234 | X INT 4 -1000 700 200 R 40 40 1 1 O I
235 | X WOL 5 -1000 600 200 R 40 40 1 1 O I
236 | X SO 6 -1000 300 200 R 40 40 1 1 O
237 | X SI 7 -1000 200 200 R 40 40 1 1 I
238 | X SCK 8 -1000 100 200 R 40 40 1 1 I C
239 | X CS 9 -1000 0 200 R 40 40 1 1 I I
240 | X RESET 10 -1000 500 200 R 40 40 1 1 I I
241 | X VDDPLL 20 -200 1000 200 D 40 40 1 1 W
242 | X VSSRX 11 -300 -700 200 U 40 40 1 1 W
243 | X VSSPLL 21 -200 -700 200 U 40 40 1 1 W
244 | X TPIN- 12 800 300 200 L 40 40 1 1 I
245 | X VSSOSC 22 0 -700 200 U 40 40 1 1 W
246 | X TPIN+ 13 800 400 200 L 40 40 1 1 I
247 | X OSC1 23 800 -300 200 L 40 40 1 1 I C
248 | X RBIAS 14 -1000 -400 200 R 40 40 1 1 P
249 | X OSC2 24 800 -400 200 L 40 40 1 1 O C
250 | X VDDTX 15 -100 1000 200 D 40 40 1 1 W
251 | X VDDOSC 25 0 1000 200 D 40 40 1 1 W
252 | X TPOUT- 16 800 600 200 L 40 40 1 1 O
253 | X LEDB 26 800 0 200 L 40 40 1 1 O
254 | X TPOUT+ 17 800 700 200 L 40 40 1 1 O
255 | X LEDA 27 800 100 200 L 40 40 1 1 O
256 | X VSSTX 18 -100 -700 200 U 40 40 1 1 W
257 | X VDD 28 100 1000 200 D 40 40 1 1 W
258 | X VDDRX 19 -300 1000 200 D 40 40 1 1 W
259 | ENDDRAW
260 | ENDDEF
261 | #
262 | # GND
263 | #
264 | DEF ~GND #PWR 0 0 Y Y 1 F P
265 | F0 "#PWR" 0 0 30 H I C CNN
266 | F1 "GND" 0 -70 30 H I C CNN
267 | F2 "" 0 0 60 H V C CNN
268 | F3 "" 0 0 60 H V C CNN
269 | DRAW
270 | P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
271 | X GND 1 0 0 0 U 30 30 1 1 W N
272 | ENDDRAW
273 | ENDDEF
274 | #
275 | # J0026D21BNL
276 | #
277 | DEF J0026D21BNL H 0 40 Y Y 1 F N
278 | F0 "H" 0 -750 60 H V C CNN
279 | F1 "J0026D21BNL" 0 -900 60 H V C CNN
280 | F2 "" 0 0 60 H V C CNN
281 | F3 "" 0 0 60 H V C CNN
282 | DRAW
283 | S 200 700 -200 -800 0 1 0 N
284 | X TD+ 1 -350 650 146 R 50 50 1 1 I
285 | X TD- 2 -350 450 146 R 50 50 1 1 I
286 | X TCT 3 -350 550 146 R 50 50 1 1 I
287 | X CHS 4 -350 -50 146 R 50 50 1 1 I
288 | X CHS 5 -350 -150 146 R 50 50 1 1 I
289 | X RCT 6 -350 200 146 R 50 50 1 1 I
290 | X RD+ 7 -350 300 146 R 50 50 1 1 I
291 | X RD- 8 -350 100 146 R 50 50 1 1 I
292 | X LED_G_+ 9 -350 -300 146 R 50 50 1 1 I
293 | X LED_G_- 10 -350 -400 146 R 50 50 1 1 I
294 | X LED_Y_- 11 -350 -650 146 R 50 50 1 1 I
295 | X LED_Y_+ 12 -350 -550 146 R 50 50 1 1 I
296 | ENDDRAW
297 | ENDDEF
298 | #
299 | # LED
300 | #
301 | DEF LED D 0 40 Y N 1 F N
302 | F0 "D" 0 100 50 H V C CNN
303 | F1 "LED" 0 -100 50 H V C CNN
304 | F2 "" 0 0 60 H V C CNN
305 | F3 "" 0 0 60 H V C CNN
306 | $FPLIST
307 | LED-3MM
308 | LED-5MM
309 | LED-10MM
310 | LED-0603
311 | LED-0805
312 | LED-1206
313 | LEDV
314 | $ENDFPLIST
315 | DRAW
316 | P 2 0 1 0 50 50 50 -50 N
317 | P 3 0 1 0 -50 50 50 0 -50 -50 F
318 | P 3 0 1 0 65 -40 110 -80 105 -55 N
319 | P 3 0 1 0 80 -25 125 -65 120 -40 N
320 | X A 1 -200 0 150 R 40 40 1 1 P
321 | X K 2 200 0 150 L 40 40 1 1 P
322 | ENDDRAW
323 | ENDDEF
324 | #
325 | # LMT87
326 | #
327 | DEF LMT87 U 0 40 Y Y 1 F N
328 | F0 "U" 300 100 60 H V C CNN
329 | F1 "LMT87" 100 -300 60 H V C CNN
330 | F2 "" 150 -150 60 H V C CNN
331 | F3 "" 150 -150 60 H V C CNN
332 | DRAW
333 | S -200 200 200 -200 0 1 0 f
334 | X Vdd 1 100 350 150 D 47 47 1 1 I
335 | X GND 2 -100 -350 150 U 47 47 1 1 I
336 | X OUT 3 350 -100 150 L 47 47 1 1 I
337 | X Vdd 4 0 350 150 D 47 47 1 1 I
338 | X Vdd 5 -100 350 150 D 47 47 1 1 I
339 | ENDDRAW
340 | ENDDEF
341 | #
342 | # MS5637
343 | #
344 | DEF MS5637 U 0 40 Y Y 1 F N
345 | F0 "U" -100 250 60 H V C CNN
346 | F1 "MS5637" -150 -300 60 H V C CNN
347 | F2 "" 0 0 60 H V C CNN
348 | F3 "" 0 0 60 H V C CNN
349 | DRAW
350 | S 150 200 -150 -200 0 1 0 f
351 | X Vdd 1 100 300 94 D 50 50 1 1 I
352 | X SDA 2 -250 50 94 R 50 50 1 1 I
353 | X SCL 3 -250 -50 94 R 50 50 1 1 I
354 | X GND 4 100 -300 94 U 50 50 1 1 I
355 | ENDDRAW
356 | ENDDEF
357 | #
358 | # R
359 | #
360 | DEF R R 0 0 N Y 1 F N
361 | F0 "R" 80 0 40 V V C CNN
362 | F1 "R" 7 1 40 V V C CNN
363 | F2 "" -70 0 30 V V C CNN
364 | F3 "" 0 0 30 H V C CNN
365 | $FPLIST
366 | R?
367 | SM0603
368 | SM0805
369 | R?-*
370 | SM1206
371 | $ENDFPLIST
372 | DRAW
373 | S -40 150 40 -150 0 1 12 N
374 | X ~ 1 0 250 100 D 60 60 1 1 P
375 | X ~ 2 0 -250 100 U 60 60 1 1 P
376 | ENDDRAW
377 | ENDDEF
378 | #
379 | # REG1117
380 | #
381 | DEF REG1117 IC 0 40 Y Y 1 L N
382 | F0 "IC" -300 225 50 H V L BNN
383 | F1 "REG1117" -200 100 50 H V L BNN
384 | F2 "burr-brown-3-SOT223" 0 150 50 H I C CNN
385 | F3 "" 0 0 31 H V C CNN
386 | DRAW
387 | P 2 1 0 0 -300 -300 300 -300 N
388 | P 2 1 0 0 -300 200 -300 -300 N
389 | P 2 1 0 0 300 -300 300 200 N
390 | P 2 1 0 0 300 200 -300 200 N
391 | X GND 1 0 -500 200 U 40 40 1 1 W
392 | X VOUT 2 500 0 200 L 40 40 1 1 O
393 | X VIN 3 -500 0 200 R 40 40 1 1 I
394 | ENDDRAW
395 | ENDDEF
396 | #
397 | #End Library
398 |
--------------------------------------------------------------------------------
/pcb/avr-sensors.bak:
--------------------------------------------------------------------------------
1 | EESchema Schematic File Version 2
2 | LIBS:power
3 | LIBS:device
4 | LIBS:transistors
5 | LIBS:conn
6 | LIBS:linear
7 | LIBS:regul
8 | LIBS:74xx
9 | LIBS:cmos4000
10 | LIBS:adc-dac
11 | LIBS:memory
12 | LIBS:xilinx
13 | LIBS:special
14 | LIBS:microcontrollers
15 | LIBS:dsp
16 | LIBS:microchip
17 | LIBS:analog_switches
18 | LIBS:motorola
19 | LIBS:texas
20 | LIBS:intel
21 | LIBS:audio
22 | LIBS:interface
23 | LIBS:digital-audio
24 | LIBS:philips
25 | LIBS:display
26 | LIBS:cypress
27 | LIBS:siliconi
28 | LIBS:opto
29 | LIBS:atmel
30 | LIBS:contrib
31 | LIBS:valves
32 | LIBS:oshec-burr-brown-3
33 | LIBS:lmt87
34 | LIBS:dp_devices
35 | LIBS:ms5637
36 | LIBS:oshec-microchip-enc28j60
37 | LIBS:bh1721
38 | LIBS:J0026D21BNL
39 | LIBS:avr-sensors-cache
40 | EELAYER 24 0
41 | EELAYER END
42 | $Descr A4 11693 8268
43 | encoding utf-8
44 | Sheet 1 1
45 | Title ""
46 | Date "19 jun 2014"
47 | Rev ""
48 | Comp ""
49 | Comment1 ""
50 | Comment2 ""
51 | Comment3 ""
52 | Comment4 ""
53 | $EndDescr
54 | $Comp
55 | L ATMEGA328P-A IC2
56 | U 1 1 539EAD8F
57 | P 3100 4650
58 | F 0 "IC2" H 2350 5900 40 0000 L BNN
59 | F 1 "ATMEGA328P-A" H 3500 3250 40 0000 L BNN
60 | F 2 "TQFP32" H 3100 4650 30 0000 C CIN
61 | F 3 "" H 3100 4650 60 0000 C CNN
62 | 1 3100 4650
63 | 1 0 0 -1
64 | $EndComp
65 | $Comp
66 | L REG1117 IC1
67 | U 1 1 539EAE90
68 | P 1600 1350
69 | F 0 "IC1" H 1300 1575 50 0000 L BNN
70 | F 1 "REG1117" H 1400 1450 50 0000 L BNN
71 | F 2 "burr-brown-3-SOT223" H 1600 1500 50 0001 C CNN
72 | F 3 "" H 1600 1350 60 0000 C CNN
73 | 1 1600 1350
74 | 1 0 0 -1
75 | $EndComp
76 | $Comp
77 | L GND #PWR01
78 | U 1 1 539EAE9F
79 | P 1600 1900
80 | F 0 "#PWR01" H 1600 1900 30 0001 C CNN
81 | F 1 "GND" H 1600 1830 30 0001 C CNN
82 | F 2 "" H 1600 1900 60 0000 C CNN
83 | F 3 "" H 1600 1900 60 0000 C CNN
84 | 1 1600 1900
85 | 1 0 0 -1
86 | $EndComp
87 | $Comp
88 | L +5V #PWR02
89 | U 1 1 539EAEAE
90 | P 1100 1300
91 | F 0 "#PWR02" H 1100 1390 20 0001 C CNN
92 | F 1 "+5V" H 1100 1390 30 0000 C CNN
93 | F 2 "" H 1100 1300 60 0000 C CNN
94 | F 3 "" H 1100 1300 60 0000 C CNN
95 | 1 1100 1300
96 | 1 0 0 -1
97 | $EndComp
98 | $Comp
99 | L +3.3V #PWR03
100 | U 1 1 539EAEBD
101 | P 2100 1300
102 | F 0 "#PWR03" H 2100 1260 30 0001 C CNN
103 | F 1 "+3.3V" H 2100 1410 30 0000 C CNN
104 | F 2 "" H 2100 1300 60 0000 C CNN
105 | F 3 "" H 2100 1300 60 0000 C CNN
106 | 1 2100 1300
107 | 1 0 0 -1
108 | $EndComp
109 | $Comp
110 | L C C1
111 | U 1 1 539EAED2
112 | P 1100 1600
113 | F 0 "C1" H 1100 1700 40 0000 L CNN
114 | F 1 "1uF" H 1106 1515 40 0000 L CNN
115 | F 2 "~" H 1138 1450 30 0000 C CNN
116 | F 3 "~" H 1100 1600 60 0000 C CNN
117 | 1 1100 1600
118 | 1 0 0 -1
119 | $EndComp
120 | $Comp
121 | L C C5
122 | U 1 1 539EAEE1
123 | P 2100 1600
124 | F 0 "C5" H 2100 1700 40 0000 L CNN
125 | F 1 "10uF" H 2106 1515 40 0000 L CNN
126 | F 2 "~" H 2138 1450 30 0000 C CNN
127 | F 3 "~" H 2100 1600 60 0000 C CNN
128 | 1 2100 1600
129 | 1 0 0 -1
130 | $EndComp
131 | $Comp
132 | L GND #PWR04
133 | U 1 1 539EB009
134 | P 2200 5900
135 | F 0 "#PWR04" H 2200 5900 30 0001 C CNN
136 | F 1 "GND" H 2200 5830 30 0001 C CNN
137 | F 2 "" H 2200 5900 60 0000 C CNN
138 | F 3 "" H 2200 5900 60 0000 C CNN
139 | 1 2200 5900
140 | 1 0 0 -1
141 | $EndComp
142 | $Comp
143 | L +3.3V #PWR05
144 | U 1 1 539EB0AF
145 | P 2200 3500
146 | F 0 "#PWR05" H 2200 3460 30 0001 C CNN
147 | F 1 "+3.3V" H 2200 3610 30 0000 C CNN
148 | F 2 "" H 2200 3500 60 0000 C CNN
149 | F 3 "" H 2200 3500 60 0000 C CNN
150 | 1 2200 3500
151 | 1 0 0 -1
152 | $EndComp
153 | $Comp
154 | L C C2
155 | U 1 1 539EB0E8
156 | P 1950 3550
157 | F 0 "C2" H 1950 3650 40 0000 L CNN
158 | F 1 "1uF" H 1956 3465 40 0000 L CNN
159 | F 2 "~" H 1988 3400 30 0000 C CNN
160 | F 3 "~" H 1950 3550 60 0000 C CNN
161 | 1 1950 3550
162 | 0 -1 -1 0
163 | $EndComp
164 | $Comp
165 | L C C3
166 | U 1 1 539EB0F7
167 | P 1950 3850
168 | F 0 "C3" H 1950 3950 40 0000 L CNN
169 | F 1 "0.1uF" H 1956 3765 40 0000 L CNN
170 | F 2 "~" H 1988 3700 30 0000 C CNN
171 | F 3 "~" H 1950 3850 60 0000 C CNN
172 | 1 1950 3850
173 | 0 -1 -1 0
174 | $EndComp
175 | $Comp
176 | L C C4
177 | U 1 1 539EB268
178 | P 1950 4150
179 | F 0 "C4" H 1950 4250 40 0000 L CNN
180 | F 1 "0.1uF" H 1956 4065 40 0000 L CNN
181 | F 2 "~" H 1988 4000 30 0000 C CNN
182 | F 3 "~" H 1950 4150 60 0000 C CNN
183 | 1 1950 4150
184 | 0 -1 -1 0
185 | $EndComp
186 | $Comp
187 | L GND #PWR06
188 | U 1 1 539EB292
189 | P 1750 3450
190 | F 0 "#PWR06" H 1750 3450 30 0001 C CNN
191 | F 1 "GND" H 1750 3380 30 0001 C CNN
192 | F 2 "" H 1750 3450 60 0000 C CNN
193 | F 3 "" H 1750 3450 60 0000 C CNN
194 | 1 1750 3450
195 | -1 0 0 1
196 | $EndComp
197 | $Comp
198 | L LMT87 U1
199 | U 1 1 539EB6EA
200 | P 3100 1500
201 | F 0 "U1" H 3400 1600 60 0000 C CNN
202 | F 1 "LMT87" H 3200 1200 60 0000 C CNN
203 | F 2 "~" H 3250 1350 60 0000 C CNN
204 | F 3 "~" H 3250 1350 60 0000 C CNN
205 | 1 3100 1500
206 | 1 0 0 -1
207 | $EndComp
208 | $Comp
209 | L +3.3V #PWR07
210 | U 1 1 539EB6F9
211 | P 3000 1100
212 | F 0 "#PWR07" H 3000 1060 30 0001 C CNN
213 | F 1 "+3.3V" H 3000 1210 30 0000 C CNN
214 | F 2 "" H 3000 1100 60 0000 C CNN
215 | F 3 "" H 3000 1100 60 0000 C CNN
216 | 1 3000 1100
217 | 1 0 0 -1
218 | $EndComp
219 | $Comp
220 | L GND #PWR08
221 | U 1 1 539EB757
222 | P 3000 1900
223 | F 0 "#PWR08" H 3000 1900 30 0001 C CNN
224 | F 1 "GND" H 3000 1830 30 0001 C CNN
225 | F 2 "" H 3000 1900 60 0000 C CNN
226 | F 3 "" H 3000 1900 60 0000 C CNN
227 | 1 3000 1900
228 | 1 0 0 -1
229 | $EndComp
230 | Text GLabel 3500 1600 2 31 Input ~ 0
231 | T_OUT
232 | Text GLabel 5950 1400 0 31 Input ~ 0
233 | 1WIRE
234 | Text GLabel 4150 3650 2 31 Input ~ 0
235 | 1WIRE
236 | Text GLabel 5950 1500 0 31 Input ~ 0
237 | DHT-BUS
238 | Text GLabel 4150 3550 2 31 Input ~ 0
239 | DHT-BUS
240 | $Comp
241 | L MS5637 U2
242 | U 1 1 53A01E09
243 | P 4300 1500
244 | F 0 "U2" H 4200 1750 60 0000 C CNN
245 | F 1 "MS5637" H 4150 1200 60 0000 C CNN
246 | F 2 "~" H 4300 1500 60 0000 C CNN
247 | F 3 "~" H 4300 1500 60 0000 C CNN
248 | 1 4300 1500
249 | 1 0 0 -1
250 | $EndComp
251 | $Comp
252 | L +3.3V #PWR09
253 | U 1 1 53A01E18
254 | P 4400 1150
255 | F 0 "#PWR09" H 4400 1110 30 0001 C CNN
256 | F 1 "+3.3V" H 4400 1260 30 0000 C CNN
257 | F 2 "" H 4400 1150 60 0000 C CNN
258 | F 3 "" H 4400 1150 60 0000 C CNN
259 | 1 4400 1150
260 | 1 0 0 -1
261 | $EndComp
262 | $Comp
263 | L GND #PWR010
264 | U 1 1 53A01E27
265 | P 4400 1850
266 | F 0 "#PWR010" H 4400 1850 30 0001 C CNN
267 | F 1 "GND" H 4400 1780 30 0001 C CNN
268 | F 2 "" H 4400 1850 60 0000 C CNN
269 | F 3 "" H 4400 1850 60 0000 C CNN
270 | 1 4400 1850
271 | 1 0 0 -1
272 | $EndComp
273 | Text GLabel 4150 4800 2 31 Input ~ 0
274 | SDA
275 | Text GLabel 4150 4900 2 31 Input ~ 0
276 | SCL
277 | Text GLabel 4000 1450 0 31 Input ~ 0
278 | SDA
279 | Text GLabel 4000 1550 0 31 Input ~ 0
280 | SCL
281 | $Comp
282 | L ENC28J60-SSOP U4
283 | U 1 1 53A02114
284 | P 6850 5650
285 | F 0 "U4" H 6050 6550 50 0000 L BNN
286 | F 1 "ENC28J60-SSOP" H 6450 5750 50 0000 L BNN
287 | F 2 "microchip-enc28j60-SSOP28" H 6850 5800 50 0001 C CNN
288 | F 3 "" H 6850 5650 60 0000 C CNN
289 | 1 6850 5650
290 | 1 0 0 -1
291 | $EndComp
292 | $Comp
293 | L CRYSTAL X1
294 | U 1 1 53A02B23
295 | P 7950 6300
296 | F 0 "X1" H 7950 6450 60 0000 C CNN
297 | F 1 "25MHz" H 7950 6150 60 0000 C CNN
298 | F 2 "~" H 7950 6300 60 0000 C CNN
299 | F 3 "~" H 7950 6300 60 0000 C CNN
300 | 1 7950 6300
301 | 1 0 0 -1
302 | $EndComp
303 | $Comp
304 | L C C8
305 | U 1 1 53A02BF2
306 | P 7650 6550
307 | F 0 "C8" H 7650 6650 40 0000 L CNN
308 | F 1 "C" H 7656 6465 40 0000 L CNN
309 | F 2 "~" H 7688 6400 30 0000 C CNN
310 | F 3 "~" H 7650 6550 60 0000 C CNN
311 | 1 7650 6550
312 | 1 0 0 -1
313 | $EndComp
314 | $Comp
315 | L C C9
316 | U 1 1 53A02C01
317 | P 8250 6550
318 | F 0 "C9" H 8250 6650 40 0000 L CNN
319 | F 1 "C" H 8256 6465 40 0000 L CNN
320 | F 2 "~" H 8288 6400 30 0000 C CNN
321 | F 3 "~" H 8250 6550 60 0000 C CNN
322 | 1 8250 6550
323 | 1 0 0 -1
324 | $EndComp
325 | $Comp
326 | L GND #PWR011
327 | U 1 1 53A02C98
328 | P 7650 6800
329 | F 0 "#PWR011" H 7650 6800 30 0001 C CNN
330 | F 1 "GND" H 7650 6730 30 0001 C CNN
331 | F 2 "" H 7650 6800 60 0000 C CNN
332 | F 3 "" H 7650 6800 60 0000 C CNN
333 | 1 7650 6800
334 | 1 0 0 -1
335 | $EndComp
336 | $Comp
337 | L GND #PWR012
338 | U 1 1 53A02CA7
339 | P 8250 6800
340 | F 0 "#PWR012" H 8250 6800 30 0001 C CNN
341 | F 1 "GND" H 8250 6730 30 0001 C CNN
342 | F 2 "" H 8250 6800 60 0000 C CNN
343 | F 3 "" H 8250 6800 60 0000 C CNN
344 | 1 8250 6800
345 | 1 0 0 -1
346 | $EndComp
347 | Text GLabel 5800 5850 0 31 Input ~ 0
348 | AVR-CLK
349 | Text GLabel 4150 4150 2 31 Input ~ 0
350 | AVR-CLK
351 | $Comp
352 | L C C7
353 | U 1 1 53A03035
354 | P 5650 6350
355 | F 0 "C7" H 5650 6450 40 0000 L CNN
356 | F 1 "10uF" H 5656 6265 40 0000 L CNN
357 | F 2 "~" H 5688 6200 30 0000 C CNN
358 | F 3 "~" H 5650 6350 60 0000 C CNN
359 | 1 5650 6350
360 | 1 0 0 -1
361 | $EndComp
362 | $Comp
363 | L R R4
364 | U 1 1 53A03044
365 | P 5850 6350
366 | F 0 "R4" V 5930 6350 40 0000 C CNN
367 | F 1 "2k32 1%" V 5857 6351 40 0000 C CNN
368 | F 2 "~" V 5780 6350 30 0000 C CNN
369 | F 3 "~" H 5850 6350 30 0000 C CNN
370 | 1 5850 6350
371 | 1 0 0 -1
372 | $EndComp
373 | $Comp
374 | L GND #PWR013
375 | U 1 1 53A03104
376 | P 5650 6650
377 | F 0 "#PWR013" H 5650 6650 30 0001 C CNN
378 | F 1 "GND" H 5650 6580 30 0001 C CNN
379 | F 2 "" H 5650 6650 60 0000 C CNN
380 | F 3 "" H 5650 6650 60 0000 C CNN
381 | 1 5650 6650
382 | 1 0 0 -1
383 | $EndComp
384 | $Comp
385 | L GND #PWR014
386 | U 1 1 53A03113
387 | P 5850 6650
388 | F 0 "#PWR014" H 5850 6650 30 0001 C CNN
389 | F 1 "GND" H 5850 6580 30 0001 C CNN
390 | F 2 "" H 5850 6650 60 0000 C CNN
391 | F 3 "" H 5850 6650 60 0000 C CNN
392 | 1 5850 6650
393 | 1 0 0 -1
394 | $EndComp
395 | Text GLabel 5800 5350 0 31 Input ~ 0
396 | MISO
397 | Text GLabel 5800 5450 0 31 Input ~ 0
398 | MOSI
399 | Text GLabel 5800 5550 0 31 Input ~ 0
400 | SCK
401 | Text GLabel 5800 5650 0 31 Input ~ 0
402 | E-CS
403 | Text GLabel 5800 4950 0 31 Input ~ 0
404 | E-INT
405 | Text GLabel 5800 5050 0 31 Input ~ 0
406 | E-WOL
407 | Text GLabel 4150 3950 2 31 Input ~ 0
408 | MISO
409 | Text GLabel 4150 3850 2 31 Input ~ 0
410 | MOSI
411 | Text GLabel 4150 4050 2 31 Input ~ 0
412 | SCK
413 | Text GLabel 4150 3750 2 31 Input ~ 0
414 | E-CS
415 | Text GLabel 4500 5400 3 31 Input ~ 0
416 | E-INT
417 | Text GLabel 4600 5400 3 31 Input ~ 0
418 | E-WOL
419 | Text GLabel 5800 5150 0 31 Input ~ 0
420 | E-RST
421 | Text GLabel 4150 4250 2 31 Input ~ 0
422 | E-RST
423 | $Comp
424 | L GND #PWR015
425 | U 1 1 53A03C5E
426 | P 6750 6400
427 | F 0 "#PWR015" H 6750 6400 30 0001 C CNN
428 | F 1 "GND" H 6750 6330 30 0001 C CNN
429 | F 2 "" H 6750 6400 60 0000 C CNN
430 | F 3 "" H 6750 6400 60 0000 C CNN
431 | 1 6750 6400
432 | 1 0 0 -1
433 | $EndComp
434 | $Comp
435 | L +3.3V #PWR016
436 | U 1 1 53A03EBC
437 | P 6750 4600
438 | F 0 "#PWR016" H 6750 4560 30 0001 C CNN
439 | F 1 "+3.3V" H 6750 4710 30 0000 C CNN
440 | F 2 "" H 6750 4600 60 0000 C CNN
441 | F 3 "" H 6750 4600 60 0000 C CNN
442 | 1 6750 4600
443 | 1 0 0 -1
444 | $EndComp
445 | Text GLabel 4150 4400 2 31 Input ~ 0
446 | GPIO-2
447 | Text GLabel 4150 5450 2 31 Input ~ 0
448 | GPIO-3
449 | Text GLabel 4150 5550 2 31 Input ~ 0
450 | GPIO-4
451 | Text GLabel 4150 5650 2 31 Input ~ 0
452 | GPIO-5
453 | Text GLabel 4150 5750 2 31 Input ~ 0
454 | GPIO-6
455 | Text GLabel 4150 5850 2 31 Input ~ 0
456 | GPIO-7
457 | Text GLabel 9450 1350 0 31 Input ~ 0
458 | GPIO-0
459 | Text GLabel 9950 1350 2 31 Input ~ 0
460 | GPIO-1
461 | Text GLabel 9450 1450 0 31 Input ~ 0
462 | GPIO-2
463 | Text GLabel 9450 1550 0 31 Input ~ 0
464 | GPIO-4
465 | Text GLabel 9950 1450 2 31 Input ~ 0
466 | GPIO-3
467 | Text GLabel 9950 1550 2 31 Input ~ 0
468 | GPIO-5
469 | Text GLabel 9950 1650 2 31 Input ~ 0
470 | GPIO-7
471 | Text GLabel 9450 1650 0 31 Input ~ 0
472 | GPIO-6
473 | Wire Wire Line
474 | 1600 1850 1600 1900
475 | Wire Wire Line
476 | 2100 1300 2100 1400
477 | Wire Wire Line
478 | 1100 1300 1100 1400
479 | Wire Wire Line
480 | 1100 1800 1100 1850
481 | Wire Wire Line
482 | 1100 1850 2100 1850
483 | Wire Wire Line
484 | 2100 1850 2100 1800
485 | Connection ~ 1600 1850
486 | Connection ~ 1100 1350
487 | Connection ~ 2100 1350
488 | Wire Wire Line
489 | 2200 5650 2200 5900
490 | Connection ~ 2200 5850
491 | Connection ~ 2200 5750
492 | Wire Wire Line
493 | 2200 3500 2200 3850
494 | Connection ~ 2200 3550
495 | Connection ~ 2200 3650
496 | Wire Wire Line
497 | 2200 3850 2150 3850
498 | Wire Wire Line
499 | 2200 3550 2150 3550
500 | Wire Wire Line
501 | 1750 3450 1750 4150
502 | Connection ~ 1750 3550
503 | Connection ~ 1750 3850
504 | Wire Wire Line
505 | 2200 4150 2150 4150
506 | Wire Wire Line
507 | 3000 1100 3000 1150
508 | Wire Wire Line
509 | 2700 1150 3200 1150
510 | Connection ~ 3100 1150
511 | Wire Wire Line
512 | 3000 1900 3000 1850
513 | Wire Wire Line
514 | 3500 1600 3450 1600
515 | Wire Wire Line
516 | 4150 3550 4100 3550
517 | Wire Wire Line
518 | 4150 3650 4100 3650
519 | Wire Wire Line
520 | 4400 1850 4400 1800
521 | Wire Wire Line
522 | 4400 1200 4400 1150
523 | Wire Wire Line
524 | 4150 4900 4100 4900
525 | Wire Wire Line
526 | 4150 4800 4100 4800
527 | Wire Wire Line
528 | 4000 1550 4050 1550
529 | Wire Wire Line
530 | 4050 1450 4000 1450
531 | Wire Wire Line
532 | 7650 6050 7650 6350
533 | Wire Wire Line
534 | 7650 5950 8250 5950
535 | Wire Wire Line
536 | 8250 5950 8250 6350
537 | Connection ~ 8250 6300
538 | Connection ~ 7650 6300
539 | Wire Wire Line
540 | 8250 6750 8250 6800
541 | Wire Wire Line
542 | 7650 6750 7650 6800
543 | Wire Wire Line
544 | 4150 4150 4100 4150
545 | Wire Wire Line
546 | 5850 5850 5800 5850
547 | Wire Wire Line
548 | 5850 5950 5650 5950
549 | Wire Wire Line
550 | 5850 6100 5850 6050
551 | Wire Wire Line
552 | 5650 5950 5650 6150
553 | Wire Wire Line
554 | 5850 6650 5850 6600
555 | Wire Wire Line
556 | 5650 6550 5650 6650
557 | Wire Wire Line
558 | 5850 5350 5800 5350
559 | Wire Wire Line
560 | 5800 5450 5850 5450
561 | Wire Wire Line
562 | 5850 5550 5800 5550
563 | Wire Wire Line
564 | 5800 5650 5850 5650
565 | Wire Wire Line
566 | 5850 4950 5800 4950
567 | Wire Wire Line
568 | 5800 5050 5850 5050
569 | Wire Wire Line
570 | 4150 3750 4100 3750
571 | Wire Wire Line
572 | 4100 3850 4150 3850
573 | Wire Wire Line
574 | 4100 3950 4150 3950
575 | Wire Wire Line
576 | 4100 4050 4150 4050
577 | Wire Wire Line
578 | 5800 5150 5850 5150
579 | Wire Wire Line
580 | 4150 4250 4100 4250
581 | Wire Wire Line
582 | 6750 6350 6750 6400
583 | Wire Wire Line
584 | 6550 6350 6950 6350
585 | Connection ~ 6850 6350
586 | Connection ~ 6750 6350
587 | Connection ~ 6650 6350
588 | Wire Wire Line
589 | 6750 4600 6750 4650
590 | Connection ~ 6850 4650
591 | Connection ~ 6750 4650
592 | Connection ~ 6650 4650
593 | Wire Wire Line
594 | 4100 5350 4600 5350
595 | Wire Wire Line
596 | 4500 5350 4500 5400
597 | Wire Wire Line
598 | 4600 5350 4600 5400
599 | Connection ~ 4500 5350
600 | Wire Wire Line
601 | 4150 4400 4100 4400
602 | Wire Wire Line
603 | 4100 4500 4150 4500
604 | Wire Wire Line
605 | 4150 4600 4100 4600
606 | Wire Wire Line
607 | 4100 4700 4150 4700
608 | Wire Wire Line
609 | 4150 5000 4100 5000
610 | Wire Wire Line
611 | 4100 5450 4150 5450
612 | Wire Wire Line
613 | 4150 5550 4100 5550
614 | Wire Wire Line
615 | 4100 5650 4150 5650
616 | Wire Wire Line
617 | 4100 5750 4150 5750
618 | Wire Wire Line
619 | 4150 5850 4100 5850
620 | Wire Wire Line
621 | 9550 1350 9450 1350
622 | Wire Wire Line
623 | 9450 1450 9550 1450
624 | Wire Wire Line
625 | 9550 1550 9450 1550
626 | Wire Wire Line
627 | 9450 1650 9550 1650
628 | Wire Wire Line
629 | 9850 1650 9950 1650
630 | Wire Wire Line
631 | 9950 1550 9850 1550
632 | Wire Wire Line
633 | 9850 1450 9950 1450
634 | Wire Wire Line
635 | 9950 1350 9850 1350
636 | Text GLabel 4150 5150 2 31 Input ~ 0
637 | RX
638 | Text GLabel 4150 5250 2 31 Input ~ 0
639 | TX
640 | Wire Wire Line
641 | 4150 5250 4100 5250
642 | Wire Wire Line
643 | 4100 5150 4150 5150
644 | Text GLabel 10600 1650 0 31 Input ~ 0
645 | SDA
646 | Text GLabel 10600 1550 0 31 Input ~ 0
647 | SCL
648 | Text GLabel 10600 1450 0 31 Input ~ 0
649 | RX
650 | Text GLabel 10600 1350 0 31 Input ~ 0
651 | TX
652 | Wire Wire Line
653 | 10600 1350 10700 1350
654 | Wire Wire Line
655 | 10700 1450 10600 1450
656 | Wire Wire Line
657 | 10600 1550 10700 1550
658 | Wire Wire Line
659 | 10700 1650 10600 1650
660 | $Comp
661 | L +3.3V #PWR017
662 | U 1 1 53A07B37
663 | P 8000 1400
664 | F 0 "#PWR017" H 8000 1360 30 0001 C CNN
665 | F 1 "+3.3V" H 8000 1510 30 0000 C CNN
666 | F 2 "" H 8000 1400 60 0000 C CNN
667 | F 3 "" H 8000 1400 60 0000 C CNN
668 | 1 8000 1400
669 | 0 -1 -1 0
670 | $EndComp
671 | $Comp
672 | L GND #PWR018
673 | U 1 1 53A07B46
674 | P 8000 1500
675 | F 0 "#PWR018" H 8000 1500 30 0001 C CNN
676 | F 1 "GND" H 8000 1430 30 0001 C CNN
677 | F 2 "" H 8000 1500 60 0000 C CNN
678 | F 3 "" H 8000 1500 60 0000 C CNN
679 | 1 8000 1500
680 | 0 1 1 0
681 | $EndComp
682 | Wire Wire Line
683 | 8000 1400 8100 1400
684 | Wire Wire Line
685 | 8100 1500 8000 1500
686 | $Comp
687 | L CON_HEADER_1X04 J7
688 | U 1 1 53A017A4
689 | P 8100 1500
690 | F 0 "J7" H 8050 1750 50 0000 L BNN
691 | F 1 "OLED" H 8100 1100 50 0000 L BNN
692 | F 2 "dp_devices-M1X4" H 8100 1650 50 0001 C CNN
693 | F 3 "" H 8100 1500 60 0000 C CNN
694 | 1 8100 1500
695 | 1 0 0 -1
696 | $EndComp
697 | Text GLabel 8000 1600 0 31 Input ~ 0
698 | SCL
699 | Text GLabel 8000 1700 0 31 Input ~ 0
700 | SDA
701 | Wire Wire Line
702 | 8000 1700 8100 1700
703 | Wire Wire Line
704 | 8100 1600 8000 1600
705 | $Comp
706 | L R R5
707 | U 1 1 53A090D2
708 | P 8600 3050
709 | F 0 "R5" V 8680 3050 40 0000 C CNN
710 | F 1 "49.9 1%" V 8607 3051 40 0000 C CNN
711 | F 2 "~" V 8530 3050 30 0000 C CNN
712 | F 3 "~" H 8600 3050 30 0000 C CNN
713 | 1 8600 3050
714 | 1 0 0 -1
715 | $EndComp
716 | $Comp
717 | L R R6
718 | U 1 1 53A090E1
719 | P 8600 3650
720 | F 0 "R6" V 8680 3650 40 0000 C CNN
721 | F 1 "49.9 1%" V 8607 3651 40 0000 C CNN
722 | F 2 "~" V 8530 3650 30 0000 C CNN
723 | F 3 "~" H 8600 3650 30 0000 C CNN
724 | 1 8600 3650
725 | 1 0 0 -1
726 | $EndComp
727 | $Comp
728 | L R R7
729 | U 1 1 53A094E6
730 | P 8600 4400
731 | F 0 "R7" V 8680 4400 40 0000 C CNN
732 | F 1 "49.9 1%" V 8607 4401 40 0000 C CNN
733 | F 2 "~" V 8530 4400 30 0000 C CNN
734 | F 3 "~" H 8600 4400 30 0000 C CNN
735 | 1 8600 4400
736 | 1 0 0 -1
737 | $EndComp
738 | $Comp
739 | L R R8
740 | U 1 1 53A094F5
741 | P 8600 5000
742 | F 0 "R8" V 8680 5000 40 0000 C CNN
743 | F 1 "49.9 1%" V 8607 5001 40 0000 C CNN
744 | F 2 "~" V 8530 5000 30 0000 C CNN
745 | F 3 "~" H 8600 5000 30 0000 C CNN
746 | 1 8600 5000
747 | 1 0 0 -1
748 | $EndComp
749 | Wire Wire Line
750 | 8300 2750 9600 2750
751 | $Comp
752 | L C C10
753 | U 1 1 53A09B06
754 | P 9000 3550
755 | F 0 "C10" H 9000 3650 40 0000 L CNN
756 | F 1 "0.1uF" H 9006 3465 40 0000 L CNN
757 | F 2 "~" H 9038 3400 30 0000 C CNN
758 | F 3 "~" H 9000 3550 60 0000 C CNN
759 | 1 9000 3550
760 | 1 0 0 -1
761 | $EndComp
762 | $Comp
763 | L GND #PWR019
764 | U 1 1 53A09B1F
765 | P 9000 3800
766 | F 0 "#PWR019" H 9000 3800 30 0001 C CNN
767 | F 1 "GND" H 9000 3730 30 0001 C CNN
768 | F 2 "" H 9000 3800 60 0000 C CNN
769 | F 3 "" H 9000 3800 60 0000 C CNN
770 | 1 9000 3800
771 | 1 0 0 -1
772 | $EndComp
773 | Wire Wire Line
774 | 9000 3800 9000 3750
775 | Wire Wire Line
776 | 8600 3350 9450 3350
777 | Wire Wire Line
778 | 8600 3300 8600 3400
779 | Connection ~ 8600 3350
780 | $Comp
781 | L C C11
782 | U 1 1 53A09D59
783 | P 9000 4900
784 | F 0 "C11" H 9000 5000 40 0000 L CNN
785 | F 1 "0.1uF" H 9006 4815 40 0000 L CNN
786 | F 2 "~" H 9038 4750 30 0000 C CNN
787 | F 3 "~" H 9000 4900 60 0000 C CNN
788 | 1 9000 4900
789 | 1 0 0 -1
790 | $EndComp
791 | Wire Wire Line
792 | 8600 4650 8600 4750
793 | Wire Wire Line
794 | 8600 4700 9450 4700
795 | Connection ~ 8600 4700
796 | $Comp
797 | L GND #PWR020
798 | U 1 1 53A09FD9
799 | P 9000 5150
800 | F 0 "#PWR020" H 9000 5150 30 0001 C CNN
801 | F 1 "GND" H 9000 5080 30 0001 C CNN
802 | F 2 "" H 9000 5150 60 0000 C CNN
803 | F 3 "" H 9000 5150 60 0000 C CNN
804 | 1 9000 5150
805 | 1 0 0 -1
806 | $EndComp
807 | Wire Wire Line
808 | 9000 5150 9000 5100
809 | Wire Wire Line
810 | 7650 5250 8500 5250
811 | Wire Wire Line
812 | 9600 5350 7650 5350
813 | Wire Wire Line
814 | 8500 4100 10200 4100
815 | Wire Wire Line
816 | 8500 5250 8500 4100
817 | Wire Wire Line
818 | 7650 4950 8300 4950
819 | Wire Wire Line
820 | 8300 4950 8300 2750
821 | Connection ~ 8600 2750
822 | Wire Wire Line
823 | 7650 5050 8350 5050
824 | Wire Wire Line
825 | 8350 3950 10200 3950
826 | Wire Wire Line
827 | 9600 4300 10200 4300
828 | Wire Wire Line
829 | 9600 4300 9600 5350
830 | Wire Wire Line
831 | 10200 4200 9450 4200
832 | Connection ~ 9000 4700
833 | Connection ~ 9000 3350
834 | Wire Wire Line
835 | 10200 3750 9600 3750
836 | Wire Wire Line
837 | 9600 3750 9600 2750
838 | Wire Wire Line
839 | 9450 3850 10200 3850
840 | Wire Wire Line
841 | 8350 5050 8350 3950
842 | Connection ~ 8600 3950
843 | Wire Wire Line
844 | 8600 3900 8600 3950
845 | Wire Wire Line
846 | 8600 2800 8600 2750
847 | Wire Wire Line
848 | 9450 3350 9450 3850
849 | Wire Wire Line
850 | 8600 4150 8600 4100
851 | Connection ~ 8600 4100
852 | Wire Wire Line
853 | 8600 5350 8600 5250
854 | Connection ~ 8600 5350
855 | Wire Wire Line
856 | 9450 4200 9450 4700
857 | $Comp
858 | L +3.3V #PWR021
859 | U 1 1 53A0C3AE
860 | P 10150 4700
861 | F 0 "#PWR021" H 10150 4660 30 0001 C CNN
862 | F 1 "+3.3V" H 10150 4810 30 0000 C CNN
863 | F 2 "" H 10150 4700 60 0000 C CNN
864 | F 3 "" H 10150 4700 60 0000 C CNN
865 | 1 10150 4700
866 | 0 -1 -1 0
867 | $EndComp
868 | $Comp
869 | L +3.3V #PWR022
870 | U 1 1 53A0C3BD
871 | P 10150 4950
872 | F 0 "#PWR022" H 10150 4910 30 0001 C CNN
873 | F 1 "+3.3V" H 10150 5060 30 0000 C CNN
874 | F 2 "" H 10150 4950 60 0000 C CNN
875 | F 3 "" H 10150 4950 60 0000 C CNN
876 | 1 10150 4950
877 | 0 -1 -1 0
878 | $EndComp
879 | $Comp
880 | L GND #PWR023
881 | U 1 1 53A0C523
882 | P 10150 4450
883 | F 0 "#PWR023" H 10150 4450 30 0001 C CNN
884 | F 1 "GND" H 10150 4380 30 0001 C CNN
885 | F 2 "" H 10150 4450 60 0000 C CNN
886 | F 3 "" H 10150 4450 60 0000 C CNN
887 | 1 10150 4450
888 | 0 1 1 0
889 | $EndComp
890 | Wire Wire Line
891 | 10150 4450 10200 4450
892 | $Comp
893 | L R R10
894 | U 1 1 53A0C72B
895 | P 9950 5400
896 | F 0 "R10" V 10030 5400 40 0000 C CNN
897 | F 1 "R" V 9957 5401 40 0000 C CNN
898 | F 2 "~" V 9880 5400 30 0000 C CNN
899 | F 3 "~" H 9950 5400 30 0000 C CNN
900 | 1 9950 5400
901 | 1 0 0 -1
902 | $EndComp
903 | $Comp
904 | L R R9
905 | U 1 1 53A0C73A
906 | P 9750 5300
907 | F 0 "R9" V 9830 5300 40 0000 C CNN
908 | F 1 "R" V 9757 5301 40 0000 C CNN
909 | F 2 "~" V 9680 5300 30 0000 C CNN
910 | F 3 "~" H 9750 5300 30 0000 C CNN
911 | 1 9750 5300
912 | 1 0 0 -1
913 | $EndComp
914 | Wire Wire Line
915 | 7650 5550 9750 5550
916 | Wire Wire Line
917 | 7650 5650 9950 5650
918 | $Comp
919 | L C C6
920 | U 1 1 53A0CD3C
921 | P 2700 1500
922 | F 0 "C6" H 2700 1600 40 0000 L CNN
923 | F 1 "0.1uF" H 2706 1415 40 0000 L CNN
924 | F 2 "~" H 2738 1350 30 0000 C CNN
925 | F 3 "~" H 2700 1500 60 0000 C CNN
926 | 1 2700 1500
927 | 1 0 0 -1
928 | $EndComp
929 | Wire Wire Line
930 | 2700 1150 2700 1300
931 | Connection ~ 3000 1150
932 | Wire Wire Line
933 | 2700 1700 2700 1850
934 | Wire Wire Line
935 | 2700 1850 3000 1850
936 | $Comp
937 | L R R1
938 | U 1 1 53A0D14F
939 | P 1150 2550
940 | F 0 "R1" V 1230 2550 40 0000 C CNN
941 | F 1 "1k8" V 1157 2551 40 0000 C CNN
942 | F 2 "~" V 1080 2550 30 0000 C CNN
943 | F 3 "~" H 1150 2550 30 0000 C CNN
944 | 1 1150 2550
945 | 1 0 0 -1
946 | $EndComp
947 | $Comp
948 | L R R2
949 | U 1 1 53A0D15E
950 | P 1350 2550
951 | F 0 "R2" V 1430 2550 40 0000 C CNN
952 | F 1 "1k8" V 1357 2551 40 0000 C CNN
953 | F 2 "~" V 1280 2550 30 0000 C CNN
954 | F 3 "~" H 1350 2550 30 0000 C CNN
955 | 1 1350 2550
956 | 1 0 0 -1
957 | $EndComp
958 | $Comp
959 | L +3.3V #PWR024
960 | U 1 1 53A0D2D9
961 | P 1150 2250
962 | F 0 "#PWR024" H 1150 2210 30 0001 C CNN
963 | F 1 "+3.3V" H 1150 2360 30 0000 C CNN
964 | F 2 "" H 1150 2250 60 0000 C CNN
965 | F 3 "" H 1150 2250 60 0000 C CNN
966 | 1 1150 2250
967 | 1 0 0 -1
968 | $EndComp
969 | $Comp
970 | L +3.3V #PWR025
971 | U 1 1 53A0D2E8
972 | P 1350 2250
973 | F 0 "#PWR025" H 1350 2210 30 0001 C CNN
974 | F 1 "+3.3V" H 1350 2360 30 0000 C CNN
975 | F 2 "" H 1350 2250 60 0000 C CNN
976 | F 3 "" H 1350 2250 60 0000 C CNN
977 | 1 1350 2250
978 | 1 0 0 -1
979 | $EndComp
980 | Text GLabel 1150 2850 3 31 Input ~ 0
981 | SDA
982 | Text GLabel 1350 2850 3 31 Input ~ 0
983 | SCL
984 | Wire Wire Line
985 | 1350 2850 1350 2800
986 | Wire Wire Line
987 | 1150 2850 1150 2800
988 | Wire Wire Line
989 | 1150 2300 1150 2250
990 | Wire Wire Line
991 | 1350 2300 1350 2250
992 | Text GLabel 4150 4600 2 31 Input ~ 0
993 | GPIO-1
994 | Text GLabel 4150 4700 2 31 Input ~ 0
995 | GPIO-0
996 | $Comp
997 | L BARREL_JACK CON1
998 | U 1 1 53A1472F
999 | P 2250 2500
1000 | F 0 "CON1" H 2250 2750 60 0000 C CNN
1001 | F 1 "BARREL_JACK" H 2250 2300 60 0000 C CNN
1002 | F 2 "" H 2250 2500 60 0000 C CNN
1003 | F 3 "" H 2250 2500 60 0000 C CNN
1004 | 1 2250 2500
1005 | 1 0 0 -1
1006 | $EndComp
1007 | $Comp
1008 | L GND #PWR026
1009 | U 1 1 53A1473E
1010 | P 2650 2600
1011 | F 0 "#PWR026" H 2650 2600 30 0001 C CNN
1012 | F 1 "GND" H 2650 2530 30 0001 C CNN
1013 | F 2 "" H 2650 2600 60 0000 C CNN
1014 | F 3 "" H 2650 2600 60 0000 C CNN
1015 | 1 2650 2600
1016 | 0 -1 -1 0
1017 | $EndComp
1018 | Wire Wire Line
1019 | 2650 2600 2550 2600
1020 | Wire Wire Line
1021 | 2550 2600 2550 2500
1022 | $Comp
1023 | L +5V #PWR027
1024 | U 1 1 53A14A53
1025 | P 2650 2400
1026 | F 0 "#PWR027" H 2650 2490 20 0001 C CNN
1027 | F 1 "+5V" H 2650 2490 30 0000 C CNN
1028 | F 2 "" H 2650 2400 60 0000 C CNN
1029 | F 3 "" H 2650 2400 60 0000 C CNN
1030 | 1 2650 2400
1031 | 0 1 1 0
1032 | $EndComp
1033 | Wire Wire Line
1034 | 2650 2400 2550 2400
1035 | $Comp
1036 | L CON_HEADER_2X05-PTH J3
1037 | U 1 1 53A14CA5
1038 | P 6600 2300
1039 | F 0 "J3" H 6550 2625 50 0000 L BNN
1040 | F 1 "ICSP" H 6650 1900 50 0000 L BNN
1041 | F 2 "dp_devices-M2X5" H 6600 2450 50 0001 C CNN
1042 | F 3 "" H 6600 2300 60 0000 C CNN
1043 | 1 6600 2300
1044 | 1 0 0 -1
1045 | $EndComp
1046 | Text GLabel 4150 5000 2 31 Input ~ 0
1047 | AVR-RST
1048 | $Comp
1049 | L +3.3V #PWR028
1050 | U 1 1 53A14FF7
1051 | P 7000 2100
1052 | F 0 "#PWR028" H 7000 2060 30 0001 C CNN
1053 | F 1 "+3.3V" H 7000 2210 30 0000 C CNN
1054 | F 2 "" H 7000 2100 60 0000 C CNN
1055 | F 3 "" H 7000 2100 60 0000 C CNN
1056 | 1 7000 2100
1057 | 0 1 1 0
1058 | $EndComp
1059 | $Comp
1060 | L GND #PWR029
1061 | U 1 1 53A15006
1062 | P 7000 2500
1063 | F 0 "#PWR029" H 7000 2500 30 0001 C CNN
1064 | F 1 "GND" H 7000 2430 30 0001 C CNN
1065 | F 2 "" H 7000 2500 60 0000 C CNN
1066 | F 3 "" H 7000 2500 60 0000 C CNN
1067 | 1 7000 2500
1068 | 0 -1 -1 0
1069 | $EndComp
1070 | Wire Wire Line
1071 | 6900 2500 7000 2500
1072 | Connection ~ 6900 2400
1073 | Connection ~ 6900 2300
1074 | Wire Wire Line
1075 | 6900 2100 7000 2100
1076 | Text GLabel 6500 2500 0 31 Input ~ 0
1077 | MISO
1078 | Text GLabel 6500 2400 0 31 Input ~ 0
1079 | SCK
1080 | Text GLabel 6500 2300 0 31 Input ~ 0
1081 | AVR-RST
1082 | Text GLabel 6500 2100 0 31 Input ~ 0
1083 | MOSI
1084 | Wire Wire Line
1085 | 6500 2100 6600 2100
1086 | Wire Wire Line
1087 | 6500 2300 6600 2300
1088 | Wire Wire Line
1089 | 6600 2400 6500 2400
1090 | Wire Wire Line
1091 | 6500 2500 6600 2500
1092 | NoConn ~ 6600 2200
1093 | $Comp
1094 | L LED D1
1095 | U 1 1 53A15EB6
1096 | P 4900 2200
1097 | F 0 "D1" H 4900 2300 50 0000 C CNN
1098 | F 1 "LED-PWR" H 4900 2100 50 0000 C CNN
1099 | F 2 "~" H 4900 2200 60 0000 C CNN
1100 | F 3 "~" H 4900 2200 60 0000 C CNN
1101 | 1 4900 2200
1102 | 0 1 1 0
1103 | $EndComp
1104 | $Comp
1105 | L LED D2
1106 | U 1 1 53A15EC5
1107 | P 5250 2200
1108 | F 0 "D2" H 5250 2300 50 0000 C CNN
1109 | F 1 "LED-SYS" H 5250 2100 50 0000 C CNN
1110 | F 2 "~" H 5250 2200 60 0000 C CNN
1111 | F 3 "~" H 5250 2200 60 0000 C CNN
1112 | 1 5250 2200
1113 | 0 1 1 0
1114 | $EndComp
1115 | $Comp
1116 | L R R3
1117 | U 1 1 53A15EDE
1118 | P 4900 1700
1119 | F 0 "R3" V 4980 1700 40 0000 C CNN
1120 | F 1 "R" V 4907 1701 40 0000 C CNN
1121 | F 2 "~" V 4830 1700 30 0000 C CNN
1122 | F 3 "~" H 4900 1700 30 0000 C CNN
1123 | 1 4900 1700
1124 | 1 0 0 -1
1125 | $EndComp
1126 | $Comp
1127 | L R R11
1128 | U 1 1 53A15EED
1129 | P 5250 1700
1130 | F 0 "R11" V 5330 1700 40 0000 C CNN
1131 | F 1 "R" V 5257 1701 40 0000 C CNN
1132 | F 2 "~" V 5180 1700 30 0000 C CNN
1133 | F 3 "~" H 5250 1700 30 0000 C CNN
1134 | 1 5250 1700
1135 | 1 0 0 -1
1136 | $EndComp
1137 | $Comp
1138 | L +3.3V #PWR030
1139 | U 1 1 53A15EFC
1140 | P 4900 1400
1141 | F 0 "#PWR030" H 4900 1360 30 0001 C CNN
1142 | F 1 "+3.3V" H 4900 1510 30 0000 C CNN
1143 | F 2 "" H 4900 1400 60 0000 C CNN
1144 | F 3 "" H 4900 1400 60 0000 C CNN
1145 | 1 4900 1400
1146 | 1 0 0 -1
1147 | $EndComp
1148 | Wire Wire Line
1149 | 4900 1400 4900 1450
1150 | $Comp
1151 | L GND #PWR031
1152 | U 1 1 53A15FD2
1153 | P 4900 2450
1154 | F 0 "#PWR031" H 4900 2450 30 0001 C CNN
1155 | F 1 "GND" H 4900 2380 30 0001 C CNN
1156 | F 2 "" H 4900 2450 60 0000 C CNN
1157 | F 3 "" H 4900 2450 60 0000 C CNN
1158 | 1 4900 2450
1159 | 1 0 0 -1
1160 | $EndComp
1161 | $Comp
1162 | L GND #PWR032
1163 | U 1 1 53A15FE1
1164 | P 5250 2450
1165 | F 0 "#PWR032" H 5250 2450 30 0001 C CNN
1166 | F 1 "GND" H 5250 2380 30 0001 C CNN
1167 | F 2 "" H 5250 2450 60 0000 C CNN
1168 | F 3 "" H 5250 2450 60 0000 C CNN
1169 | 1 5250 2450
1170 | 1 0 0 -1
1171 | $EndComp
1172 | Text GLabel 5250 1400 1 31 Input ~ 0
1173 | LED-SYS
1174 | Text GLabel 4150 4500 2 31 Input ~ 0
1175 | LED-SYS
1176 | Wire Wire Line
1177 | 5250 1450 5250 1400
1178 | Wire Wire Line
1179 | 5250 2400 5250 2450
1180 | Wire Wire Line
1181 | 5250 2000 5250 1950
1182 | Wire Wire Line
1183 | 4900 1950 4900 2000
1184 | Wire Wire Line
1185 | 4900 2450 4900 2400
1186 | $Comp
1187 | L CON_TERMINAL_BLOCK_02-5MM J4
1188 | U 1 1 53A17FEA
1189 | P 7050 1400
1190 | F 0 "J4" H 7000 1550 50 0000 L BNN
1191 | F 1 "PWR-1W" H 6950 1100 50 0000 L BNN
1192 | F 2 "dp_devices-TERMINAL_BLOCK_2P_5" H 7050 1550 50 0001 C CNN
1193 | F 3 "" H 7050 1400 60 0000 C CNN
1194 | 1 7050 1400
1195 | 1 0 0 -1
1196 | $EndComp
1197 | $Comp
1198 | L CON_TERMINAL_BLOCK_02-5MM J5
1199 | U 1 1 53A18003
1200 | P 7450 1400
1201 | F 0 "J5" H 7400 1550 50 0000 L BNN
1202 | F 1 "PWR-DHT" H 7350 1100 50 0000 L BNN
1203 | F 2 "dp_devices-TERMINAL_BLOCK_2P_5" H 7450 1550 50 0001 C CNN
1204 | F 3 "" H 7450 1400 60 0000 C CNN
1205 | 1 7450 1400
1206 | 1 0 0 -1
1207 | $EndComp
1208 | $Comp
1209 | L CON_TERMINAL_BLOCK_02-5MM J1
1210 | U 1 1 53A181B0
1211 | P 6050 1400
1212 | F 0 "J1" H 6000 1550 50 0000 L BNN
1213 | F 1 "BUS" H 6000 1100 50 0000 L BNN
1214 | F 2 "dp_devices-TERMINAL_BLOCK_2P_5" H 6050 1550 50 0001 C CNN
1215 | F 3 "" H 6050 1400 60 0000 C CNN
1216 | 1 6050 1400
1217 | 1 0 0 -1
1218 | $EndComp
1219 | Wire Wire Line
1220 | 5950 1500 6050 1500
1221 | Wire Wire Line
1222 | 6050 1400 5950 1400
1223 | $Comp
1224 | L +3.3V #PWR033
1225 | U 1 1 53A18365
1226 | P 6950 1400
1227 | F 0 "#PWR033" H 6950 1360 30 0001 C CNN
1228 | F 1 "+3.3V" H 6950 1510 30 0000 C CNN
1229 | F 2 "" H 6950 1400 60 0000 C CNN
1230 | F 3 "" H 6950 1400 60 0000 C CNN
1231 | 1 6950 1400
1232 | 0 -1 -1 0
1233 | $EndComp
1234 | $Comp
1235 | L +3.3V #PWR034
1236 | U 1 1 53A18374
1237 | P 7350 1500
1238 | F 0 "#PWR034" H 7350 1460 30 0001 C CNN
1239 | F 1 "+3.3V" H 7350 1610 30 0000 C CNN
1240 | F 2 "" H 7350 1500 60 0000 C CNN
1241 | F 3 "" H 7350 1500 60 0000 C CNN
1242 | 1 7350 1500
1243 | 0 -1 -1 0
1244 | $EndComp
1245 | $Comp
1246 | L GND #PWR035
1247 | U 1 1 53A18383
1248 | P 7350 1400
1249 | F 0 "#PWR035" H 7350 1400 30 0001 C CNN
1250 | F 1 "GND" H 7350 1330 30 0001 C CNN
1251 | F 2 "" H 7350 1400 60 0000 C CNN
1252 | F 3 "" H 7350 1400 60 0000 C CNN
1253 | 1 7350 1400
1254 | 0 1 1 0
1255 | $EndComp
1256 | $Comp
1257 | L GND #PWR036
1258 | U 1 1 53A18392
1259 | P 6950 1500
1260 | F 0 "#PWR036" H 6950 1500 30 0001 C CNN
1261 | F 1 "GND" H 6950 1430 30 0001 C CNN
1262 | F 2 "" H 6950 1500 60 0000 C CNN
1263 | F 3 "" H 6950 1500 60 0000 C CNN
1264 | 1 6950 1500
1265 | 0 1 1 0
1266 | $EndComp
1267 | Wire Wire Line
1268 | 6950 1500 7050 1500
1269 | Wire Wire Line
1270 | 7050 1400 6950 1400
1271 | Wire Wire Line
1272 | 7350 1400 7450 1400
1273 | Wire Wire Line
1274 | 7450 1500 7350 1500
1275 | $Comp
1276 | L J0026D21BNL H1
1277 | U 1 1 53A19959
1278 | P 10550 4400
1279 | F 0 "H1" H 10550 3650 60 0000 C CNN
1280 | F 1 "J0026D21BNL" H 10550 3500 60 0000 C CNN
1281 | F 2 "~" H 10550 4400 60 0000 C CNN
1282 | F 3 "~" H 10550 4400 60 0000 C CNN
1283 | 1 10550 4400
1284 | 1 0 0 -1
1285 | $EndComp
1286 | Wire Wire Line
1287 | 10200 4450 10200 4550
1288 | Wire Wire Line
1289 | 10150 4700 10200 4700
1290 | Wire Wire Line
1291 | 10150 4950 10200 4950
1292 | Wire Wire Line
1293 | 6900 2200 6900 2500
1294 | $Comp
1295 | L C C12
1296 | U 1 1 53A1B542
1297 | P 7000 4450
1298 | F 0 "C12" H 7000 4550 40 0000 L CNN
1299 | F 1 "0.1uF" H 7006 4365 40 0000 L CNN
1300 | F 2 "~" H 7038 4300 30 0000 C CNN
1301 | F 3 "~" H 7000 4450 60 0000 C CNN
1302 | 1 7000 4450
1303 | 1 0 0 -1
1304 | $EndComp
1305 | $Comp
1306 | L C C14
1307 | U 1 1 53A1B560
1308 | P 7250 4450
1309 | F 0 "C14" H 7250 4550 40 0000 L CNN
1310 | F 1 "0.1uF" H 7256 4365 40 0000 L CNN
1311 | F 2 "~" H 7288 4300 30 0000 C CNN
1312 | F 3 "~" H 7250 4450 60 0000 C CNN
1313 | 1 7250 4450
1314 | 1 0 0 -1
1315 | $EndComp
1316 | Connection ~ 6950 4650
1317 | Connection ~ 7000 4650
1318 | $Comp
1319 | L GND #PWR037
1320 | U 1 1 53A1B921
1321 | P 7250 4200
1322 | F 0 "#PWR037" H 7250 4200 30 0001 C CNN
1323 | F 1 "GND" H 7250 4130 30 0001 C CNN
1324 | F 2 "" H 7250 4200 60 0000 C CNN
1325 | F 3 "" H 7250 4200 60 0000 C CNN
1326 | 1 7250 4200
1327 | -1 0 0 1
1328 | $EndComp
1329 | Wire Wire Line
1330 | 6550 4650 7250 4650
1331 | Wire Wire Line
1332 | 7250 4200 7250 4250
1333 | Wire Wire Line
1334 | 7250 4250 7000 4250
1335 | $Comp
1336 | L CON_HEADER_2X04-PTH J2
1337 | U 1 1 53A1D8AB
1338 | P 9550 1450
1339 | F 0 "J2" H 9500 1675 50 0000 L BNN
1340 | F 1 "GPIO" H 9600 1050 50 0000 L BNN
1341 | F 2 "dp_devices-M2X4" H 9550 1600 50 0001 C CNN
1342 | F 3 "" H 9550 1450 60 0000 C CNN
1343 | 1 9550 1450
1344 | 1 0 0 -1
1345 | $EndComp
1346 | $Comp
1347 | L CON_HEADER_1X04 J6
1348 | U 1 1 53A1EDB4
1349 | P 10700 1450
1350 | F 0 "J6" H 10650 1700 50 0000 L BNN
1351 | F 1 "IO" H 10700 1450 50 0000 L BNN
1352 | F 2 "dp_devices-M1X4" H 10700 1600 50 0001 C CNN
1353 | F 3 "" H 10700 1450 60 0000 C CNN
1354 | 1 10700 1450
1355 | 1 0 0 -1
1356 | $EndComp
1357 | Text GLabel 2150 5000 0 31 Input ~ 0
1358 | T_OUT
1359 | Wire Wire Line
1360 | 2200 5000 2150 5000
1361 | Wire Wire Line
1362 | 10200 4800 9950 4800
1363 | Wire Wire Line
1364 | 9750 5050 10200 5050
1365 | Wire Wire Line
1366 | 9950 4800 9950 5150
1367 | $EndSCHEMATC
1368 |
--------------------------------------------------------------------------------
/pcb/avr-sensors.cmp:
--------------------------------------------------------------------------------
1 | Cmp-Mod V01 Created by CvPcb (2013-may-18)-stable date = Wed 18 Jun 2014 09:46:36 PM CEST
2 |
3 | BeginCmp
4 | TimeStamp = /539EAED2;
5 | Reference = C1;
6 | ValeurCmp = 1uF;
7 | IdModule = SM0805;
8 | EndCmp
9 |
10 | BeginCmp
11 | TimeStamp = /539EB0E8;
12 | Reference = C2;
13 | ValeurCmp = 1uF;
14 | IdModule = SM0805;
15 | EndCmp
16 |
17 | BeginCmp
18 | TimeStamp = /539EB0F7;
19 | Reference = C3;
20 | ValeurCmp = 0.1uF;
21 | IdModule = SM0805;
22 | EndCmp
23 |
24 | BeginCmp
25 | TimeStamp = /539EB268;
26 | Reference = C4;
27 | ValeurCmp = 0.1uF;
28 | IdModule = SM0805;
29 | EndCmp
30 |
31 | BeginCmp
32 | TimeStamp = /539EAEE1;
33 | Reference = C5;
34 | ValeurCmp = 10uF;
35 | IdModule = SM0805;
36 | EndCmp
37 |
38 | BeginCmp
39 | TimeStamp = /53A0CD3C;
40 | Reference = C6;
41 | ValeurCmp = 0.1uF;
42 | IdModule = SM0805;
43 | EndCmp
44 |
45 | BeginCmp
46 | TimeStamp = /53A03035;
47 | Reference = C7;
48 | ValeurCmp = 10uF;
49 | IdModule = SM0805;
50 | EndCmp
51 |
52 | BeginCmp
53 | TimeStamp = /53A02BF2;
54 | Reference = C8;
55 | ValeurCmp = C;
56 | IdModule = SM0805;
57 | EndCmp
58 |
59 | BeginCmp
60 | TimeStamp = /53A02C01;
61 | Reference = C9;
62 | ValeurCmp = C;
63 | IdModule = SM0805;
64 | EndCmp
65 |
66 | BeginCmp
67 | TimeStamp = /53A09B06;
68 | Reference = C10;
69 | ValeurCmp = 0.1uF;
70 | IdModule = SM0805;
71 | EndCmp
72 |
73 | BeginCmp
74 | TimeStamp = /53A09D59;
75 | Reference = C11;
76 | ValeurCmp = 0.1uF;
77 | IdModule = SM0805;
78 | EndCmp
79 |
80 | BeginCmp
81 | TimeStamp = /53A1B542;
82 | Reference = C12;
83 | ValeurCmp = 0.1uF;
84 | IdModule = SM0805;
85 | EndCmp
86 |
87 | BeginCmp
88 | TimeStamp = /53A1B560;
89 | Reference = C14;
90 | ValeurCmp = 0.1uF;
91 | IdModule = SM0805;
92 | EndCmp
93 |
94 | BeginCmp
95 | TimeStamp = /53A1472F;
96 | Reference = CON1;
97 | ValeurCmp = BARREL_JACK;
98 | IdModule = BARREL_JACK;
99 | EndCmp
100 |
101 | BeginCmp
102 | TimeStamp = /53A15EB6;
103 | Reference = D1;
104 | ValeurCmp = LED-PWR;
105 | IdModule = LED-0805;
106 | EndCmp
107 |
108 | BeginCmp
109 | TimeStamp = /53A15EC5;
110 | Reference = D2;
111 | ValeurCmp = LED-SYS;
112 | IdModule = LED-0805;
113 | EndCmp
114 |
115 | BeginCmp
116 | TimeStamp = /53A19959;
117 | Reference = H1;
118 | ValeurCmp = J0026D21BNL;
119 | IdModule = J0026D21BNL;
120 | EndCmp
121 |
122 | BeginCmp
123 | TimeStamp = /539EAE90;
124 | Reference = IC1;
125 | ValeurCmp = REG1117;
126 | IdModule = burr-brown-3-SOT223;
127 | EndCmp
128 |
129 | BeginCmp
130 | TimeStamp = /539EAD8F;
131 | Reference = IC2;
132 | ValeurCmp = ATMEGA328P-A;
133 | IdModule = TQFP32;
134 | EndCmp
135 |
136 | BeginCmp
137 | TimeStamp = /53A181B0;
138 | Reference = J1;
139 | ValeurCmp = BUS;
140 | IdModule = dp_devices-TERMINAL_BLOCK_2P_5;
141 | EndCmp
142 |
143 | BeginCmp
144 | TimeStamp = /53A1D8AB;
145 | Reference = J2;
146 | ValeurCmp = GPIO;
147 | IdModule = dp_devices-M2X4;
148 | EndCmp
149 |
150 | BeginCmp
151 | TimeStamp = /53A14CA5;
152 | Reference = J3;
153 | ValeurCmp = ICSP;
154 | IdModule = dp_devices-M2X5;
155 | EndCmp
156 |
157 | BeginCmp
158 | TimeStamp = /53A17FEA;
159 | Reference = J4;
160 | ValeurCmp = PWR-1W;
161 | IdModule = dp_devices-TERMINAL_BLOCK_2P_5;
162 | EndCmp
163 |
164 | BeginCmp
165 | TimeStamp = /53A18003;
166 | Reference = J5;
167 | ValeurCmp = PWR-DHT;
168 | IdModule = dp_devices-TERMINAL_BLOCK_2P_5;
169 | EndCmp
170 |
171 | BeginCmp
172 | TimeStamp = /53A1EDB4;
173 | Reference = J6;
174 | ValeurCmp = IO;
175 | IdModule = dp_devices-M1X4;
176 | EndCmp
177 |
178 | BeginCmp
179 | TimeStamp = /53A017A4;
180 | Reference = J7;
181 | ValeurCmp = OLED;
182 | IdModule = dp_devices-M1X4;
183 | EndCmp
184 |
185 | BeginCmp
186 | TimeStamp = /53A0D14F;
187 | Reference = R1;
188 | ValeurCmp = 1k8;
189 | IdModule = SM0805;
190 | EndCmp
191 |
192 | BeginCmp
193 | TimeStamp = /53A0D15E;
194 | Reference = R2;
195 | ValeurCmp = 1k8;
196 | IdModule = SM0805;
197 | EndCmp
198 |
199 | BeginCmp
200 | TimeStamp = /53A15EDE;
201 | Reference = R3;
202 | ValeurCmp = R;
203 | IdModule = SM0805;
204 | EndCmp
205 |
206 | BeginCmp
207 | TimeStamp = /53A03044;
208 | Reference = R4;
209 | ValeurCmp = 2k32 1%;
210 | IdModule = SM0805;
211 | EndCmp
212 |
213 | BeginCmp
214 | TimeStamp = /53A090D2;
215 | Reference = R5;
216 | ValeurCmp = 49k9 1%;
217 | IdModule = SM0805;
218 | EndCmp
219 |
220 | BeginCmp
221 | TimeStamp = /53A090E1;
222 | Reference = R6;
223 | ValeurCmp = 49k9 1%;
224 | IdModule = SM0805;
225 | EndCmp
226 |
227 | BeginCmp
228 | TimeStamp = /53A094E6;
229 | Reference = R7;
230 | ValeurCmp = 49k9 1%;
231 | IdModule = SM0805;
232 | EndCmp
233 |
234 | BeginCmp
235 | TimeStamp = /53A094F5;
236 | Reference = R8;
237 | ValeurCmp = 49k9 1%;
238 | IdModule = SM0805;
239 | EndCmp
240 |
241 | BeginCmp
242 | TimeStamp = /53A0C73A;
243 | Reference = R9;
244 | ValeurCmp = R;
245 | IdModule = SM0805;
246 | EndCmp
247 |
248 | BeginCmp
249 | TimeStamp = /53A0C72B;
250 | Reference = R10;
251 | ValeurCmp = R;
252 | IdModule = SM0805;
253 | EndCmp
254 |
255 | BeginCmp
256 | TimeStamp = /53A15EED;
257 | Reference = R11;
258 | ValeurCmp = R;
259 | IdModule = SM0805;
260 | EndCmp
261 |
262 | BeginCmp
263 | TimeStamp = /539EB6EA;
264 | Reference = U1;
265 | ValeurCmp = LMT87;
266 | IdModule = sc70-5;
267 | EndCmp
268 |
269 | BeginCmp
270 | TimeStamp = /53A01E09;
271 | Reference = U2;
272 | ValeurCmp = MS5637;
273 | IdModule = ms5637;
274 | EndCmp
275 |
276 | BeginCmp
277 | TimeStamp = /53A02114;
278 | Reference = U4;
279 | ValeurCmp = ENC28J60-SSOP;
280 | IdModule = microchip-enc28j60-SSOP28;
281 | EndCmp
282 |
283 | BeginCmp
284 | TimeStamp = /53A02B23;
285 | Reference = X1;
286 | ValeurCmp = 25MHz;
287 | IdModule = HC-49V;
288 | EndCmp
289 |
290 | EndListe
291 |
--------------------------------------------------------------------------------
/pcb/avr-sensors.net:
--------------------------------------------------------------------------------
1 | (export (version D)
2 | (design
3 | (source /home/atx/git/avr-mqtt-board/pcb/avr-sensors.sch)
4 | (date "Fri 08 Aug 2014 02:26:16 PM CEST")
5 | (tool "Eeschema (2014-jul-16 BZR unknown)-product"))
6 | (components
7 | (comp (ref IC2)
8 | (value ATMEGA328P-A)
9 | (footprint TQFP32)
10 | (libsource (lib atmel) (part ATMEGA328P-A))
11 | (sheetpath (names /) (tstamps /))
12 | (tstamp 539EAD8F))
13 | (comp (ref IC1)
14 | (value REG1117)
15 | (footprint burr-brown-3-SOT223)
16 | (libsource (lib oshec-burr-brown-3) (part REG1117))
17 | (sheetpath (names /) (tstamps /))
18 | (tstamp 539EAE90))
19 | (comp (ref C1)
20 | (value 1uF)
21 | (libsource (lib device) (part C))
22 | (sheetpath (names /) (tstamps /))
23 | (tstamp 539EAED2))
24 | (comp (ref C5)
25 | (value 10uF)
26 | (libsource (lib device) (part C))
27 | (sheetpath (names /) (tstamps /))
28 | (tstamp 539EAEE1))
29 | (comp (ref C2)
30 | (value 1uF)
31 | (libsource (lib device) (part C))
32 | (sheetpath (names /) (tstamps /))
33 | (tstamp 539EB0E8))
34 | (comp (ref C3)
35 | (value 0.1uF)
36 | (libsource (lib device) (part C))
37 | (sheetpath (names /) (tstamps /))
38 | (tstamp 539EB0F7))
39 | (comp (ref C4)
40 | (value 0.1uF)
41 | (libsource (lib device) (part C))
42 | (sheetpath (names /) (tstamps /))
43 | (tstamp 539EB268))
44 | (comp (ref U1)
45 | (value LMT87)
46 | (libsource (lib lmt87) (part LMT87))
47 | (sheetpath (names /) (tstamps /))
48 | (tstamp 539EB6EA))
49 | (comp (ref U2)
50 | (value MS5637)
51 | (libsource (lib ms5637) (part MS5637))
52 | (sheetpath (names /) (tstamps /))
53 | (tstamp 53A01E09))
54 | (comp (ref U4)
55 | (value ENC28J60-SSOP)
56 | (footprint microchip-enc28j60-SSOP28)
57 | (libsource (lib oshec-microchip-enc28j60) (part ENC28J60-SSOP))
58 | (sheetpath (names /) (tstamps /))
59 | (tstamp 53A02114))
60 | (comp (ref X1)
61 | (value 25MHz)
62 | (libsource (lib device) (part CRYSTAL))
63 | (sheetpath (names /) (tstamps /))
64 | (tstamp 53A02B23))
65 | (comp (ref C8)
66 | (value 22pF)
67 | (libsource (lib device) (part C))
68 | (sheetpath (names /) (tstamps /))
69 | (tstamp 53A02BF2))
70 | (comp (ref C9)
71 | (value 22pF)
72 | (libsource (lib device) (part C))
73 | (sheetpath (names /) (tstamps /))
74 | (tstamp 53A02C01))
75 | (comp (ref C7)
76 | (value 10uF)
77 | (libsource (lib device) (part C))
78 | (sheetpath (names /) (tstamps /))
79 | (tstamp 53A03035))
80 | (comp (ref R4)
81 | (value "2k32 1%")
82 | (libsource (lib device) (part R))
83 | (sheetpath (names /) (tstamps /))
84 | (tstamp 53A03044))
85 | (comp (ref J7)
86 | (value OLED)
87 | (footprint dp_devices-M1X4)
88 | (libsource (lib dp_devices) (part CON_HEADER_1X04))
89 | (sheetpath (names /) (tstamps /))
90 | (tstamp 53A017A4))
91 | (comp (ref R5)
92 | (value "49.9 1%")
93 | (libsource (lib device) (part R))
94 | (sheetpath (names /) (tstamps /))
95 | (tstamp 53A090D2))
96 | (comp (ref R6)
97 | (value "49.9 1%")
98 | (libsource (lib device) (part R))
99 | (sheetpath (names /) (tstamps /))
100 | (tstamp 53A090E1))
101 | (comp (ref R7)
102 | (value "49.9 1%")
103 | (libsource (lib device) (part R))
104 | (sheetpath (names /) (tstamps /))
105 | (tstamp 53A094E6))
106 | (comp (ref R8)
107 | (value "49.9 1%")
108 | (libsource (lib device) (part R))
109 | (sheetpath (names /) (tstamps /))
110 | (tstamp 53A094F5))
111 | (comp (ref C10)
112 | (value 0.1uF)
113 | (libsource (lib device) (part C))
114 | (sheetpath (names /) (tstamps /))
115 | (tstamp 53A09B06))
116 | (comp (ref C11)
117 | (value 0.1uF)
118 | (libsource (lib device) (part C))
119 | (sheetpath (names /) (tstamps /))
120 | (tstamp 53A09D59))
121 | (comp (ref R10)
122 | (value R)
123 | (libsource (lib device) (part R))
124 | (sheetpath (names /) (tstamps /))
125 | (tstamp 53A0C72B))
126 | (comp (ref R9)
127 | (value R)
128 | (libsource (lib device) (part R))
129 | (sheetpath (names /) (tstamps /))
130 | (tstamp 53A0C73A))
131 | (comp (ref C6)
132 | (value 0.1uF)
133 | (libsource (lib device) (part C))
134 | (sheetpath (names /) (tstamps /))
135 | (tstamp 53A0CD3C))
136 | (comp (ref R1)
137 | (value 1k8)
138 | (libsource (lib device) (part R))
139 | (sheetpath (names /) (tstamps /))
140 | (tstamp 53A0D14F))
141 | (comp (ref R2)
142 | (value 1k8)
143 | (libsource (lib device) (part R))
144 | (sheetpath (names /) (tstamps /))
145 | (tstamp 53A0D15E))
146 | (comp (ref CON1)
147 | (value BARREL_JACK)
148 | (libsource (lib conn) (part BARREL_JACK))
149 | (sheetpath (names /) (tstamps /))
150 | (tstamp 53A1472F))
151 | (comp (ref J3)
152 | (value ICSP)
153 | (footprint dp_devices-M2X5)
154 | (libsource (lib dp_devices) (part CON_HEADER_2X05-PTH))
155 | (sheetpath (names /) (tstamps /))
156 | (tstamp 53A14CA5))
157 | (comp (ref D1)
158 | (value LED-PWR)
159 | (libsource (lib device) (part LED))
160 | (sheetpath (names /) (tstamps /))
161 | (tstamp 53A15EB6))
162 | (comp (ref D2)
163 | (value LED-SYS)
164 | (libsource (lib device) (part LED))
165 | (sheetpath (names /) (tstamps /))
166 | (tstamp 53A15EC5))
167 | (comp (ref R3)
168 | (value R)
169 | (libsource (lib device) (part R))
170 | (sheetpath (names /) (tstamps /))
171 | (tstamp 53A15EDE))
172 | (comp (ref R11)
173 | (value R)
174 | (libsource (lib device) (part R))
175 | (sheetpath (names /) (tstamps /))
176 | (tstamp 53A15EED))
177 | (comp (ref J4)
178 | (value PWR-1W)
179 | (footprint dp_devices-TERMINAL_BLOCK_2P_5)
180 | (libsource (lib dp_devices) (part CON_TERMINAL_BLOCK_02-5MM))
181 | (sheetpath (names /) (tstamps /))
182 | (tstamp 53A17FEA))
183 | (comp (ref J5)
184 | (value PWR-DHT)
185 | (footprint dp_devices-TERMINAL_BLOCK_2P_5)
186 | (libsource (lib dp_devices) (part CON_TERMINAL_BLOCK_02-5MM))
187 | (sheetpath (names /) (tstamps /))
188 | (tstamp 53A18003))
189 | (comp (ref J1)
190 | (value BUS)
191 | (footprint dp_devices-TERMINAL_BLOCK_2P_5)
192 | (libsource (lib dp_devices) (part CON_TERMINAL_BLOCK_02-5MM))
193 | (sheetpath (names /) (tstamps /))
194 | (tstamp 53A181B0))
195 | (comp (ref H1)
196 | (value J0026D21BNL)
197 | (libsource (lib J0026D21BNL) (part J0026D21BNL))
198 | (sheetpath (names /) (tstamps /))
199 | (tstamp 53A19959))
200 | (comp (ref C12)
201 | (value 0.1uF)
202 | (libsource (lib device) (part C))
203 | (sheetpath (names /) (tstamps /))
204 | (tstamp 53A1B542))
205 | (comp (ref C14)
206 | (value 0.1uF)
207 | (libsource (lib device) (part C))
208 | (sheetpath (names /) (tstamps /))
209 | (tstamp 53A1B560))
210 | (comp (ref J2)
211 | (value GPIO)
212 | (footprint dp_devices-M2X4)
213 | (libsource (lib dp_devices) (part CON_HEADER_2X04-PTH))
214 | (sheetpath (names /) (tstamps /))
215 | (tstamp 53A1D8AB))
216 | (comp (ref J6)
217 | (value IO)
218 | (footprint dp_devices-M1X4)
219 | (libsource (lib dp_devices) (part CON_HEADER_1X04))
220 | (sheetpath (names /) (tstamps /))
221 | (tstamp 53A1EDB4)))
222 | (libparts
223 | (libpart (lib device) (part C)
224 | (description "Condensateur non polarise")
225 | (footprints
226 | (fp SM*)
227 | (fp C?)
228 | (fp C1-1))
229 | (fields
230 | (field (name Reference) C)
231 | (field (name Value) C))
232 | (pins
233 | (pin (num 1) (name ~) (type passive))
234 | (pin (num 2) (name ~) (type passive))))
235 | (libpart (lib device) (part CRYSTAL)
236 | (fields
237 | (field (name Reference) X)
238 | (field (name Value) CRYSTAL))
239 | (pins
240 | (pin (num 1) (name 1) (type passive))
241 | (pin (num 2) (name 2) (type passive))))
242 | (libpart (lib device) (part LED)
243 | (footprints
244 | (fp LED-3MM)
245 | (fp LED-5MM)
246 | (fp LED-10MM)
247 | (fp LED-0603)
248 | (fp LED-0805)
249 | (fp LED-1206)
250 | (fp LEDV))
251 | (fields
252 | (field (name Reference) D)
253 | (field (name Value) LED))
254 | (pins
255 | (pin (num 1) (name A) (type passive))
256 | (pin (num 2) (name K) (type passive))))
257 | (libpart (lib device) (part R)
258 | (description Resistance)
259 | (footprints
260 | (fp R?)
261 | (fp SM0603)
262 | (fp SM0805)
263 | (fp R?-*)
264 | (fp SM1206))
265 | (fields
266 | (field (name Reference) R)
267 | (field (name Value) R))
268 | (pins
269 | (pin (num 1) (name ~) (type passive))
270 | (pin (num 2) (name ~) (type passive))))
271 | (libpart (lib conn) (part BARREL_JACK)
272 | (description "DC Barrel Jack")
273 | (fields
274 | (field (name Reference) CON)
275 | (field (name Value) BARREL_JACK))
276 | (pins
277 | (pin (num 1) (name ~) (type passive))
278 | (pin (num 2) (name ~) (type passive))
279 | (pin (num 3) (name ~) (type passive))))
280 | (libpart (lib atmel) (part ATMEGA168A-A)
281 | (aliases
282 | (alias ATMEGA48A-A)
283 | (alias ATMEGA48PA-A)
284 | (alias ATMEGA88A-A)
285 | (alias ATMEGA88PA-A)
286 | (alias ATMEGA168PA-A)
287 | (alias ATMEGA328-A)
288 | (alias ATMEGA328P-A))
289 | (description "ATMEGA168A, TQFP32, 16k Flash, 1kB SRAM, 512B EEPROM")
290 | (docs http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet.pdf)
291 | (fields
292 | (field (name Reference) IC)
293 | (field (name Value) ATMEGA168A-A)
294 | (field (name Footprint) TQFP32))
295 | (pins
296 | (pin (num 1) (name "(PCINT19/OC2B/INT1)PD3") (type BiDi))
297 | (pin (num 2) (name "(PCINT20/XCK/T0)PD4") (type BiDi))
298 | (pin (num 3) (name GND) (type power_in))
299 | (pin (num 4) (name VCC) (type power_in))
300 | (pin (num 5) (name GND) (type power_in))
301 | (pin (num 6) (name VCC) (type power_in))
302 | (pin (num 7) (name "(PCINT6/XTAL1/TOSC1)PB6") (type BiDi))
303 | (pin (num 8) (name "(PCINT7/XTAL2/TOSC2)PB7") (type BiDi))
304 | (pin (num 9) (name "(PCINT21/OC0B/T1)PD5") (type BiDi))
305 | (pin (num 10) (name "(PCINT22/OC0A/AIN0)PD6") (type BiDi))
306 | (pin (num 11) (name "(PCINT23/AIN1)PD7") (type BiDi))
307 | (pin (num 12) (name "(PCINT0/CLKO/ICP1)PB0") (type BiDi))
308 | (pin (num 13) (name "(PCINT1/OC1A)PB1") (type BiDi))
309 | (pin (num 14) (name "(PCINT2/OC1B/~SS~)PB2") (type BiDi))
310 | (pin (num 15) (name "(PCINT3/OC2A/MOSI)PB3") (type BiDi))
311 | (pin (num 16) (name "(PCINT4/MISO)PB4") (type BiDi))
312 | (pin (num 17) (name "(PCINT5/SCK)PB5") (type BiDi))
313 | (pin (num 18) (name AVCC) (type power_in))
314 | (pin (num 19) (name ADC6) (type input))
315 | (pin (num 20) (name AREF) (type BiDi))
316 | (pin (num 21) (name GND) (type power_in))
317 | (pin (num 22) (name ADC7) (type input))
318 | (pin (num 23) (name "(PCINT8/ADC0)PC0") (type BiDi))
319 | (pin (num 24) (name "(PCINT9/ADC1)PC1") (type BiDi))
320 | (pin (num 25) (name "(PCINT10/ADC2)PC2") (type BiDi))
321 | (pin (num 26) (name "(PCINT11/ADC3)PC3") (type BiDi))
322 | (pin (num 27) (name "(PCINT12/SDA/ADC4)PC4") (type BiDi))
323 | (pin (num 28) (name "(PCINT14/SCL/ADC5)PC5") (type BiDi))
324 | (pin (num 29) (name "(PCINT14/~RESET~)PC6") (type BiDi))
325 | (pin (num 30) (name "(PCINT16/RXD)PD0") (type BiDi))
326 | (pin (num 31) (name "(PCINT17/TXD)PD1") (type BiDi))
327 | (pin (num 32) (name "(PCINT18/INT0)PD2") (type BiDi))))
328 | (libpart (lib lmt87) (part LMT87)
329 | (fields
330 | (field (name Reference) U)
331 | (field (name Value) LMT87))
332 | (pins
333 | (pin (num 1) (name Vdd) (type input))
334 | (pin (num 2) (name GND) (type input))
335 | (pin (num 3) (name OUT) (type input))
336 | (pin (num 4) (name Vdd) (type input))
337 | (pin (num 5) (name Vdd) (type input))))
338 | (libpart (lib oshec-burr-brown-3) (part REG1117)
339 | (fields
340 | (field (name Reference) IC)
341 | (field (name Value) REG1117)
342 | (field (name Footprint) burr-brown-3-SOT223))
343 | (pins
344 | (pin (num 1) (name GND) (type power_in))
345 | (pin (num 2) (name VOUT) (type output))
346 | (pin (num 3) (name VIN) (type input))))
347 | (libpart (lib ms5637) (part MS5637)
348 | (fields
349 | (field (name Reference) U)
350 | (field (name Value) MS5637))
351 | (pins
352 | (pin (num 1) (name Vdd) (type input))
353 | (pin (num 2) (name SDA) (type input))
354 | (pin (num 3) (name SCL) (type input))
355 | (pin (num 4) (name GND) (type input))))
356 | (libpart (lib dp_devices) (part CON_HEADER_1X04)
357 | (fields
358 | (field (name Reference) J)
359 | (field (name Value) CON_HEADER_1X04)
360 | (field (name Footprint) dp_devices-M1X4))
361 | (pins
362 | (pin (num 1) (name 1) (type BiDi))
363 | (pin (num 2) (name 2) (type BiDi))
364 | (pin (num 3) (name 3) (type BiDi))
365 | (pin (num 4) (name 4) (type BiDi))))
366 | (libpart (lib dp_devices) (part CON_HEADER_2X04-PTH)
367 | (fields
368 | (field (name Reference) J)
369 | (field (name Value) CON_HEADER_2X04-PTH)
370 | (field (name Footprint) dp_devices-M2X4))
371 | (pins
372 | (pin (num 1) (name P$1) (type passive))
373 | (pin (num 2) (name P$2) (type passive))
374 | (pin (num 3) (name P$3) (type passive))
375 | (pin (num 4) (name P$4) (type passive))
376 | (pin (num 5) (name P$5) (type passive))
377 | (pin (num 6) (name P$6) (type passive))
378 | (pin (num 7) (name P$7) (type passive))
379 | (pin (num 8) (name P$8) (type passive))))
380 | (libpart (lib dp_devices) (part CON_HEADER_2X05-PTH)
381 | (fields
382 | (field (name Reference) J)
383 | (field (name Value) CON_HEADER_2X05-PTH)
384 | (field (name Footprint) dp_devices-M2X5))
385 | (pins
386 | (pin (num 1) (name 1) (type passive))
387 | (pin (num 2) (name 2) (type passive))
388 | (pin (num 3) (name 3) (type passive))
389 | (pin (num 4) (name 4) (type passive))
390 | (pin (num 5) (name 5) (type passive))
391 | (pin (num 6) (name 6) (type passive))
392 | (pin (num 7) (name 7) (type passive))
393 | (pin (num 8) (name 8) (type passive))
394 | (pin (num 9) (name 9) (type passive))
395 | (pin (num 10) (name 10) (type passive))))
396 | (libpart (lib dp_devices) (part CON_TERMINAL_BLOCK_02-5MM)
397 | (fields
398 | (field (name Reference) J)
399 | (field (name Value) CON_TERMINAL_BLOCK_02-5MM)
400 | (field (name Footprint) dp_devices-TERMINAL_BLOCK_2P_5))
401 | (pins
402 | (pin (num 1) (name 1) (type passive))
403 | (pin (num 2) (name 2) (type passive))))
404 | (libpart (lib J0026D21BNL) (part J0026D21BNL)
405 | (fields
406 | (field (name Reference) H)
407 | (field (name Value) J0026D21BNL))
408 | (pins
409 | (pin (num 1) (name TD+) (type input))
410 | (pin (num 2) (name TD-) (type input))
411 | (pin (num 3) (name TCT) (type input))
412 | (pin (num 4) (name CHS) (type input))
413 | (pin (num 5) (name CHS) (type input))
414 | (pin (num 6) (name RCT) (type input))
415 | (pin (num 7) (name RD+) (type input))
416 | (pin (num 8) (name RD-) (type input))
417 | (pin (num 9) (name LED_G_+) (type input))
418 | (pin (num 10) (name LED_G_-) (type input))
419 | (pin (num 11) (name LED_Y_-) (type input))
420 | (pin (num 12) (name LED_Y_+) (type input))))
421 | (libpart (lib oshec-microchip-enc28j60) (part ENC28J60-SSOP)
422 | (fields
423 | (field (name Reference) U)
424 | (field (name Value) ENC28J60-SSOP)
425 | (field (name Footprint) microchip-enc28j60-SSOP28))
426 | (pins
427 | (pin (num 1) (name VCAP) (type power_in))
428 | (pin (num 2) (name VSS) (type power_in))
429 | (pin (num 3) (name CLKOUT) (type output))
430 | (pin (num 4) (name INT) (type output))
431 | (pin (num 5) (name WOL) (type output))
432 | (pin (num 6) (name SO) (type output))
433 | (pin (num 7) (name SI) (type input))
434 | (pin (num 8) (name SCK) (type input))
435 | (pin (num 9) (name CS) (type input))
436 | (pin (num 10) (name RESET) (type input))
437 | (pin (num 11) (name VSSRX) (type power_in))
438 | (pin (num 12) (name TPIN-) (type input))
439 | (pin (num 13) (name TPIN+) (type input))
440 | (pin (num 14) (name RBIAS) (type passive))
441 | (pin (num 15) (name VDDTX) (type power_in))
442 | (pin (num 16) (name TPOUT-) (type output))
443 | (pin (num 17) (name TPOUT+) (type output))
444 | (pin (num 18) (name VSSTX) (type power_in))
445 | (pin (num 19) (name VDDRX) (type power_in))
446 | (pin (num 20) (name VDDPLL) (type power_in))
447 | (pin (num 21) (name VSSPLL) (type power_in))
448 | (pin (num 22) (name VSSOSC) (type power_in))
449 | (pin (num 23) (name OSC1) (type input))
450 | (pin (num 24) (name OSC2) (type output))
451 | (pin (num 25) (name VDDOSC) (type power_in))
452 | (pin (num 26) (name LEDB) (type output))
453 | (pin (num 27) (name LEDA) (type output))
454 | (pin (num 28) (name VDD) (type power_in)))))
455 | (libraries
456 | (library (logical device)
457 | (uri /usr/share/kicad/library/device.lib))
458 | (library (logical conn)
459 | (uri /usr/share/kicad/library/conn.lib))
460 | (library (logical atmel)
461 | (uri /usr/share/kicad/library/atmel.lib))
462 | (library (logical dp_devices)
463 | (uri libs/dp_devices.lib))
464 | (library (logical lmt87)
465 | (uri libs/lmt87.lib))
466 | (library (logical oshec-burr-brown-3)
467 | (uri libs/oshec-burr-brown-3.lib))
468 | (library (logical ms5637)
469 | (uri libs/ms5637.lib))
470 | (library (logical oshec-microchip-enc28j60)
471 | (uri libs/oshec-microchip-enc28j60.lib))
472 | (library (logical J0026D21BNL)
473 | (uri libs/J0026D21BNL.lib)))
474 | (nets
475 | (net (code 1) (name GND)
476 | (node (ref C11) (pin 2))
477 | (node (ref CON1) (pin 2))
478 | (node (ref C10) (pin 2))
479 | (node (ref U4) (pin 22))
480 | (node (ref J3) (pin 6))
481 | (node (ref U4) (pin 18))
482 | (node (ref J4) (pin 2))
483 | (node (ref CON1) (pin 3))
484 | (node (ref J3) (pin 4))
485 | (node (ref U4) (pin 21))
486 | (node (ref J3) (pin 8))
487 | (node (ref J3) (pin 10))
488 | (node (ref C7) (pin 2))
489 | (node (ref R4) (pin 2))
490 | (node (ref J5) (pin 1))
491 | (node (ref IC1) (pin 1))
492 | (node (ref IC2) (pin 21))
493 | (node (ref U4) (pin 11))
494 | (node (ref C12) (pin 1))
495 | (node (ref C14) (pin 1))
496 | (node (ref IC2) (pin 3))
497 | (node (ref IC2) (pin 5))
498 | (node (ref H1) (pin 5))
499 | (node (ref H1) (pin 4))
500 | (node (ref C2) (pin 1))
501 | (node (ref D2) (pin 2))
502 | (node (ref D1) (pin 2))
503 | (node (ref C5) (pin 2))
504 | (node (ref U1) (pin 2))
505 | (node (ref U4) (pin 2))
506 | (node (ref C1) (pin 2))
507 | (node (ref U2) (pin 4))
508 | (node (ref C3) (pin 1))
509 | (node (ref J7) (pin 2))
510 | (node (ref C9) (pin 2))
511 | (node (ref C4) (pin 1))
512 | (node (ref C8) (pin 2))
513 | (node (ref C6) (pin 2)))
514 | (net (code 2) (name "Net-(H1-Pad2)")
515 | (node (ref U4) (pin 16))
516 | (node (ref H1) (pin 2))
517 | (node (ref R6) (pin 2)))
518 | (net (code 3) (name "Net-(H1-Pad8)")
519 | (node (ref R8) (pin 2))
520 | (node (ref U4) (pin 12))
521 | (node (ref H1) (pin 8)))
522 | (net (code 4) (name "Net-(H1-Pad1)")
523 | (node (ref R5) (pin 1))
524 | (node (ref U4) (pin 17))
525 | (node (ref H1) (pin 1)))
526 | (net (code 5) (name "Net-(H1-Pad7)")
527 | (node (ref U4) (pin 13))
528 | (node (ref R7) (pin 1))
529 | (node (ref H1) (pin 7)))
530 | (net (code 6) (name SDA)
531 | (node (ref U2) (pin 2))
532 | (node (ref IC2) (pin 27))
533 | (node (ref J6) (pin 4))
534 | (node (ref J7) (pin 4))
535 | (node (ref R1) (pin 2)))
536 | (net (code 7) (name +5V)
537 | (node (ref CON1) (pin 1))
538 | (node (ref IC1) (pin 3))
539 | (node (ref C1) (pin 1)))
540 | (net (code 8) (name SCL)
541 | (node (ref J7) (pin 3))
542 | (node (ref R2) (pin 2))
543 | (node (ref J6) (pin 3))
544 | (node (ref U2) (pin 3))
545 | (node (ref IC2) (pin 28)))
546 | (net (code 9) (name "Net-(R10-Pad2)")
547 | (node (ref R10) (pin 2))
548 | (node (ref U4) (pin 26)))
549 | (net (code 10) (name "Net-(R9-Pad2)")
550 | (node (ref R9) (pin 2))
551 | (node (ref U4) (pin 27)))
552 | (net (code 11) (name "Net-(H1-Pad10)")
553 | (node (ref H1) (pin 10))
554 | (node (ref R10) (pin 1)))
555 | (net (code 12) (name RX)
556 | (node (ref J6) (pin 2))
557 | (node (ref IC2) (pin 30)))
558 | (net (code 13) (name TX)
559 | (node (ref J6) (pin 1))
560 | (node (ref IC2) (pin 31)))
561 | (net (code 14) (name "Net-(C11-Pad1)")
562 | (node (ref R8) (pin 1))
563 | (node (ref R7) (pin 2))
564 | (node (ref H1) (pin 6))
565 | (node (ref C11) (pin 1)))
566 | (net (code 15) (name "Net-(C10-Pad1)")
567 | (node (ref R6) (pin 1))
568 | (node (ref H1) (pin 3))
569 | (node (ref R5) (pin 2))
570 | (node (ref C10) (pin 1)))
571 | (net (code 16) (name +3.3V)
572 | (node (ref U1) (pin 1))
573 | (node (ref C5) (pin 1))
574 | (node (ref U4) (pin 19))
575 | (node (ref IC2) (pin 6))
576 | (node (ref U4) (pin 28))
577 | (node (ref IC1) (pin 2))
578 | (node (ref C12) (pin 2))
579 | (node (ref U1) (pin 4))
580 | (node (ref U4) (pin 15))
581 | (node (ref U1) (pin 5))
582 | (node (ref U4) (pin 25))
583 | (node (ref IC2) (pin 4))
584 | (node (ref IC2) (pin 18))
585 | (node (ref U4) (pin 20))
586 | (node (ref C2) (pin 2))
587 | (node (ref C3) (pin 2))
588 | (node (ref H1) (pin 12))
589 | (node (ref H1) (pin 9))
590 | (node (ref J5) (pin 2))
591 | (node (ref U2) (pin 1))
592 | (node (ref C14) (pin 2))
593 | (node (ref R2) (pin 1))
594 | (node (ref R1) (pin 1))
595 | (node (ref C6) (pin 1))
596 | (node (ref J7) (pin 1))
597 | (node (ref J4) (pin 1))
598 | (node (ref R3) (pin 1))
599 | (node (ref J3) (pin 2)))
600 | (net (code 17) (name "Net-(H1-Pad11)")
601 | (node (ref R9) (pin 1))
602 | (node (ref H1) (pin 11)))
603 | (net (code 18) (name T_OUT)
604 | (node (ref IC2) (pin 22))
605 | (node (ref U1) (pin 3)))
606 | (net (code 19) (name SCK)
607 | (node (ref U4) (pin 8))
608 | (node (ref IC2) (pin 17))
609 | (node (ref J3) (pin 7)))
610 | (net (code 20) (name MISO)
611 | (node (ref U4) (pin 6))
612 | (node (ref IC2) (pin 16))
613 | (node (ref J3) (pin 9)))
614 | (net (code 21) (name AVR-RST)
615 | (node (ref IC2) (pin 29))
616 | (node (ref J3) (pin 5)))
617 | (net (code 22) (name "Net-(J3-Pad3)")
618 | (node (ref J3) (pin 3)))
619 | (net (code 23) (name MOSI)
620 | (node (ref J3) (pin 1))
621 | (node (ref IC2) (pin 15))
622 | (node (ref U4) (pin 7)))
623 | (net (code 24) (name "Net-(D1-Pad1)")
624 | (node (ref D1) (pin 1))
625 | (node (ref R3) (pin 2)))
626 | (net (code 25) (name "Net-(D2-Pad1)")
627 | (node (ref D2) (pin 1))
628 | (node (ref R11) (pin 2)))
629 | (net (code 26) (name GPIO-7)
630 | (node (ref IC2) (pin 11))
631 | (node (ref J2) (pin 8)))
632 | (net (code 27) (name "Net-(C9-Pad1)")
633 | (node (ref X1) (pin 2))
634 | (node (ref U4) (pin 23))
635 | (node (ref C9) (pin 1)))
636 | (net (code 28) (name "Net-(C8-Pad1)")
637 | (node (ref C8) (pin 1))
638 | (node (ref X1) (pin 1))
639 | (node (ref U4) (pin 24)))
640 | (net (code 29) (name "Net-(R4-Pad1)")
641 | (node (ref R4) (pin 1))
642 | (node (ref U4) (pin 14)))
643 | (net (code 30) (name DHT-BUS)
644 | (node (ref J1) (pin 2))
645 | (node (ref IC2) (pin 12)))
646 | (net (code 31) (name "Net-(IC2-Pad19)")
647 | (node (ref IC2) (pin 19)))
648 | (net (code 32) (name GPIO-0)
649 | (node (ref IC2) (pin 26))
650 | (node (ref J2) (pin 1)))
651 | (net (code 33) (name GPIO-1)
652 | (node (ref IC2) (pin 25))
653 | (node (ref J2) (pin 2)))
654 | (net (code 34) (name LED-SYS)
655 | (node (ref R11) (pin 1))
656 | (node (ref IC2) (pin 24)))
657 | (net (code 35) (name E-CS)
658 | (node (ref U4) (pin 9))
659 | (node (ref IC2) (pin 14)))
660 | (net (code 36) (name GPIO-2)
661 | (node (ref IC2) (pin 23))
662 | (node (ref J2) (pin 3)))
663 | (net (code 37) (name 1WIRE)
664 | (node (ref J1) (pin 1))
665 | (node (ref IC2) (pin 13)))
666 | (net (code 38) (name GPIO-6)
667 | (node (ref IC2) (pin 10))
668 | (node (ref J2) (pin 7)))
669 | (net (code 39) (name GPIO-5)
670 | (node (ref IC2) (pin 9))
671 | (node (ref J2) (pin 6)))
672 | (net (code 40) (name E-RST)
673 | (node (ref U4) (pin 10))
674 | (node (ref IC2) (pin 8)))
675 | (net (code 41) (name AVR-CLK)
676 | (node (ref U4) (pin 3))
677 | (node (ref IC2) (pin 7)))
678 | (net (code 42) (name GPIO-4)
679 | (node (ref J2) (pin 5))
680 | (node (ref IC2) (pin 2)))
681 | (net (code 43) (name "Net-(C4-Pad2)")
682 | (node (ref IC2) (pin 20))
683 | (node (ref C4) (pin 2)))
684 | (net (code 44) (name "Net-(C7-Pad1)")
685 | (node (ref C7) (pin 1))
686 | (node (ref U4) (pin 1)))
687 | (net (code 45) (name GPIO-3)
688 | (node (ref J2) (pin 4))
689 | (node (ref IC2) (pin 1)))
690 | (net (code 46) (name E-INT)
691 | (node (ref U4) (pin 5))
692 | (node (ref U4) (pin 4))
693 | (node (ref IC2) (pin 32)))))
--------------------------------------------------------------------------------
/pcb/avr-sensors.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/pcb/avr-sensors.pdf
--------------------------------------------------------------------------------
/pcb/avr-sensors.pro:
--------------------------------------------------------------------------------
1 | update=Wed 18 Jun 2014 10:38:20 AM CEST
2 | version=1
3 | last_client=eeschema
4 | [general]
5 | version=1
6 | [pcbnew]
7 | version=1
8 | LastNetListRead=avr-sensors.net
9 | UseCmpFile=1
10 | PadDrill=" 1.100000"
11 | PadDrillOvalY=" 1.100000"
12 | PadSizeH=" 1.600000"
13 | PadSizeV=" 1.600000"
14 | PcbTextSizeV=" 1.500000"
15 | PcbTextSizeH=" 1.500000"
16 | PcbTextThickness=" 0.300000"
17 | ModuleTextSizeV=" 1.000000"
18 | ModuleTextSizeH=" 1.000000"
19 | ModuleTextSizeThickness=" 0.150000"
20 | SolderMaskClearance=" 0.000000"
21 | SolderMaskMinWidth=" 0.000000"
22 | DrawSegmentWidth=" 0.200000"
23 | BoardOutlineThickness=" 0.100000"
24 | ModuleOutlineThickness=" 0.150000"
25 | [pcbnew/libraries]
26 | LibName1=sockets
27 | LibName2=connect
28 | LibName3=discret
29 | LibName4=pin_array
30 | LibName5=divers
31 | LibName6=smd_capacitors
32 | LibName7=smd_resistors
33 | LibName8=smd_crystal&oscillator
34 | LibName9=smd_dil
35 | LibName10=smd_transistors
36 | LibName11=libcms
37 | LibName12=display
38 | LibName13=led
39 | LibName14=dip_sockets
40 | LibName15=pga_sockets
41 | LibName16=valves
42 | LibName17=libs/dp_devices
43 | LibName18=libs/oshec-burr-brown-3
44 | LibName19=libs/oshec-microchip-enc28j60
45 | LibName20=libs/ms5637
46 | LibName21=libs/J0026D21BNL
47 | LibDir=
48 | [cvpcb]
49 | version=1
50 | NetIExt=net
51 | [cvpcb/libraries]
52 | EquName1=devcms
53 | [eeschema]
54 | version=1
55 | LibDir=
56 | NetFmtName=PcbnewAdvanced
57 | RptD_X=0
58 | RptD_Y=100
59 | RptLab=1
60 | LabSize=31
61 | [eeschema/libraries]
62 | LibName1=power
63 | LibName2=device
64 | LibName3=transistors
65 | LibName4=conn
66 | LibName5=linear
67 | LibName6=regul
68 | LibName7=74xx
69 | LibName8=cmos4000
70 | LibName9=adc-dac
71 | LibName10=memory
72 | LibName11=xilinx
73 | LibName12=special
74 | LibName13=microcontrollers
75 | LibName14=dsp
76 | LibName15=microchip
77 | LibName16=analog_switches
78 | LibName17=motorola
79 | LibName18=texas
80 | LibName19=intel
81 | LibName20=audio
82 | LibName21=interface
83 | LibName22=digital-audio
84 | LibName23=philips
85 | LibName24=display
86 | LibName25=cypress
87 | LibName26=siliconi
88 | LibName27=opto
89 | LibName28=atmel
90 | LibName29=contrib
91 | LibName30=valves
92 | LibName31=libs/oshec-burr-brown-3
93 | LibName32=libs/lmt87
94 | LibName33=libs/dp_devices
95 | LibName34=libs/ms5637
96 | LibName35=libs/oshec-microchip-enc28j60
97 | LibName36=libs/bh1721
98 | LibName37=libs/J0026D21BNL
99 |
--------------------------------------------------------------------------------
/pcb/avr-sensors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | /home/atx/kicad/avr-sensors/avr-sensors.sch
5 | Sun Jul 27 19:05:44 2014
6 | Eeschema (2014-07-17 BZR 5006)-product
7 |
8 |
9 |
10 | ATMEGA328P-A
11 | TQFP32
12 |
13 |
14 | 539EAD8F
15 |
16 |
17 | REG1117
18 | burr-brown-3-SOT223
19 |
20 |
21 | 539EAE90
22 |
23 |
24 | 1uF
25 |
26 |
27 | 539EAED2
28 |
29 |
30 | 10uF
31 |
32 |
33 | 539EAEE1
34 |
35 |
36 | 1uF
37 |
38 |
39 | 539EB0E8
40 |
41 |
42 | 0.1uF
43 |
44 |
45 | 539EB0F7
46 |
47 |
48 | 0.1uF
49 |
50 |
51 | 539EB268
52 |
53 |
54 | LMT87
55 |
56 |
57 | 539EB6EA
58 |
59 |
60 | MS5637
61 |
62 |
63 | 53A01E09
64 |
65 |
66 | ENC28J60-SSOP
67 | microchip-enc28j60-SSOP28
68 |
69 |
70 | 53A02114
71 |
72 |
73 | 25MHz
74 |
75 |
76 | 53A02B23
77 |
78 |
79 | C
80 |
81 |
82 | 53A02BF2
83 |
84 |
85 | C
86 |
87 |
88 | 53A02C01
89 |
90 |
91 | 10uF
92 |
93 |
94 | 53A03035
95 |
96 |
97 | 2k32 1%
98 |
99 |
100 | 53A03044
101 |
102 |
103 | OLED
104 | dp_devices-M1X4
105 |
106 |
107 | 53A017A4
108 |
109 |
110 | 49k9 1%
111 |
112 |
113 | 53A090D2
114 |
115 |
116 | 49k9 1%
117 |
118 |
119 | 53A090E1
120 |
121 |
122 | 49k9 1%
123 |
124 |
125 | 53A094E6
126 |
127 |
128 | 49k9 1%
129 |
130 |
131 | 53A094F5
132 |
133 |
134 | 0.1uF
135 |
136 |
137 | 53A09B06
138 |
139 |
140 | 0.1uF
141 |
142 |
143 | 53A09D59
144 |
145 |
146 | R
147 |
148 |
149 | 53A0C72B
150 |
151 |
152 | R
153 |
154 |
155 | 53A0C73A
156 |
157 |
158 | 0.1uF
159 |
160 |
161 | 53A0CD3C
162 |
163 |
164 | 1k8
165 |
166 |
167 | 53A0D14F
168 |
169 |
170 | 1k8
171 |
172 |
173 | 53A0D15E
174 |
175 |
176 | BARREL_JACK
177 |
178 |
179 | 53A1472F
180 |
181 |
182 | ICSP
183 | dp_devices-M2X5
184 |
185 |
186 | 53A14CA5
187 |
188 |
189 | LED-PWR
190 |
191 |
192 | 53A15EB6
193 |
194 |
195 | LED-SYS
196 |
197 |
198 | 53A15EC5
199 |
200 |
201 | R
202 |
203 |
204 | 53A15EDE
205 |
206 |
207 | R
208 |
209 |
210 | 53A15EED
211 |
212 |
213 | PWR-1W
214 | dp_devices-TERMINAL_BLOCK_2P_5
215 |
216 |
217 | 53A17FEA
218 |
219 |
220 | PWR-DHT
221 | dp_devices-TERMINAL_BLOCK_2P_5
222 |
223 |
224 | 53A18003
225 |
226 |
227 | BUS
228 | dp_devices-TERMINAL_BLOCK_2P_5
229 |
230 |
231 | 53A181B0
232 |
233 |
234 | J0026D21BNL
235 |
236 |
237 | 53A19959
238 |
239 |
240 | 0.1uF
241 |
242 |
243 | 53A1B542
244 |
245 |
246 | 0.1uF
247 |
248 |
249 | 53A1B560
250 |
251 |
252 | GPIO
253 | dp_devices-M2X4
254 |
255 |
256 | 53A1D8AB
257 |
258 |
259 | IO
260 | dp_devices-M1X4
261 |
262 |
263 | 53A1EDB4
264 |
265 |
266 |
267 |
268 |
269 | U
270 | LMT87
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 | ATMEGA48A-A
283 | ATMEGA48PA-A
284 | ATMEGA88A-A
285 | ATMEGA88PA-A
286 | ATMEGA168PA-A
287 | ATMEGA328-A
288 | ATMEGA328P-A
289 |
290 |
291 | IC
292 | ATMEGA168A-A
293 | TQFP32
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 |
327 |
328 |
329 |
330 |
331 |
332 | IC
333 | REG1117
334 | burr-brown-3-SOT223
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 | U
345 | MS5637
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 | J
357 | CON_HEADER_1X04
358 | dp_devices-M1X4
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 | J
370 | CON_HEADER_2X04-PTH
371 | dp_devices-M2X4
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 | J
387 | CON_HEADER_2X05-PTH
388 | dp_devices-M2X5
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 | J
406 | CON_TERMINAL_BLOCK_02-5MM
407 | dp_devices-TERMINAL_BLOCK_2P_5
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 | U
417 | ENC28J60-SSOP
418 | microchip-enc28j60-SSOP28
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 | H
454 | J0026D21BNL
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 | SM*
474 | C?
475 | C1-1
476 |
477 |
478 | C
479 | C
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 | CON
489 | BARREL_JACK
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 | X
500 | CRYSTAL
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 | LED-3MM
510 | LED-5MM
511 | LED-10MM
512 | LED-0603
513 | LED-0805
514 | LED-1206
515 | LEDV
516 |
517 |
518 | D
519 | LED
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 | R?
529 | SM0603
530 | SM0805
531 | R?-*
532 | SM1206
533 |
534 |
535 | R
536 | R
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 | libs/oshec-burr-brown-3.lib
547 |
548 |
549 | libs/J0026D21BNL.lib
550 |
551 |
552 | libs/lmt87.lib
553 |
554 |
555 | libs/dp_devices.lib
556 |
557 |
558 | libs/ms5637.lib
559 |
560 |
561 | libs/oshec-microchip-enc28j60.lib
562 |
563 |
564 | /home/atx/kicad/avr-sensors/avr-sensors-cache.lib
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 |
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
--------------------------------------------------------------------------------
/pcb/libs/J0026D21BNL.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3 Date: Wed 18 Jun 2014 10:37:34 AM CEST
2 | #encoding utf-8
3 | #
4 | # J0026D21BNL
5 | #
6 | DEF J0026D21BNL H 0 40 Y Y 1 F N
7 | F0 "H" 0 -750 60 H V C CNN
8 | F1 "J0026D21BNL" 0 -900 60 H V C CNN
9 | F2 "~" 0 0 60 H V C CNN
10 | F3 "~" 0 0 60 H V C CNN
11 | DRAW
12 | S 200 700 -200 -800 0 1 0 N
13 | X TD+ 1 -350 650 146 R 50 50 1 1 I
14 | X TD- 2 -350 450 146 R 50 50 1 1 I
15 | X TCT 3 -350 550 146 R 50 50 1 1 I
16 | X CHS 4 -350 -50 146 R 50 50 1 1 I
17 | X CHS 5 -350 -150 146 R 50 50 1 1 I
18 | X RCT 6 -350 200 146 R 50 50 1 1 I
19 | X RD+ 7 -350 300 146 R 50 50 1 1 I
20 | X RD- 8 -350 100 146 R 50 50 1 1 I
21 | X LED_G_+ 9 -350 -300 146 R 50 50 1 1 I
22 | X LED_G_- 10 -350 -400 146 R 50 50 1 1 I
23 | X LED_Y_- 11 -350 -650 146 R 50 50 1 1 I
24 | X LED_Y_+ 12 -350 -550 146 R 50 50 1 1 I
25 | ENDDRAW
26 | ENDDEF
27 | #
28 | #End Library
29 |
--------------------------------------------------------------------------------
/pcb/libs/J0026D21BNL.mod:
--------------------------------------------------------------------------------
1 | PCBNEW-LibModule-V1 Wed 18 Jun 2014 10:40:29 AM CEST
2 | # encoding utf-8
3 | Units mm
4 | $INDEX
5 | J0026D21BNL
6 | $EndINDEX
7 | $MODULE J0026D21BNL
8 | Po 0 0 0 15 53A1507B 00000000 ~~
9 | Li J0026D21BNL
10 | Sc 0
11 | AR
12 | Op 0 0 0
13 | T0 13 -28.5 1 1 0 0.15 N V 21 N "J0026D21BNL"
14 | T1 16.5 -26 1 1 0 0.15 N V 21 N "VAL**"
15 | DS 0 0 0.5 0 0.15 21
16 | DS 0.5 21.5 0 21.5 0.15 21
17 | DS 0 21.5 0 0 0.15 21
18 | DS 16 21.5 0.5 21.5 0.15 21
19 | DS 16 0 16 21.5 0.15 21
20 | DS 16 0 16 21.5 0.15 21
21 | DS 0.25 0 16 0 0.15 21
22 | DS 16 0 16 21.5 0.15 21
23 | DS 16 0 16 21.5 0.15 21
24 | DS 0.25 0 16 0 0.15 21
25 | $PAD
26 | Sh "4" C 4.3 4.3 0 0 0
27 | Dr 3.3 0 0
28 | At STD N 00E0FFFF
29 | Ne 0 ""
30 | Po 13.75 10.75
31 | $EndPAD
32 | $PAD
33 | Sh "4" C 4.3 4.3 0 0 0
34 | Dr 3.3 0 0
35 | At STD N 00E0FFFF
36 | Ne 0 ""
37 | Po 2.25 10.75
38 | $EndPAD
39 | $PAD
40 | Sh "1" C 1.3 1.3 0 0 0
41 | Dr 0.95 0 0
42 | At STD N 00E0FFFF
43 | Ne 0 ""
44 | Po 13.5 17.25
45 | $EndPAD
46 | $PAD
47 | Sh "2" C 1.3 1.3 0 0 0
48 | Dr 0.95 0 0
49 | At STD N 00E0FFFF
50 | Ne 0 ""
51 | Po 12.25 19.75
52 | $EndPAD
53 | $PAD
54 | Sh "3" C 1.3 1.3 0 0 0
55 | Dr 0.95 0 0
56 | At STD N 00E0FFFF
57 | Ne 0 ""
58 | Po 10.5 17.25
59 | $EndPAD
60 | $PAD
61 | Sh "4" C 1.3 1.3 0 0 0
62 | Dr 0.95 0 0
63 | At STD N 00E0FFFF
64 | Ne 0 ""
65 | Po 9.25 19.75
66 | $EndPAD
67 | $PAD
68 | Sh "5" C 1.3 1.3 0 0 0
69 | Dr 0.95 0 0
70 | At STD N 00E0FFFF
71 | Ne 0 ""
72 | Po 7.5 17.25
73 | $EndPAD
74 | $PAD
75 | Sh "6" C 1.3 1.3 0 0 0
76 | Dr 0.95 0 0
77 | At STD N 00E0FFFF
78 | Ne 0 ""
79 | Po 6.25 19.75
80 | $EndPAD
81 | $PAD
82 | Sh "7" C 1.3 1.3 0 0 0
83 | Dr 0.95 0 0
84 | At STD N 00E0FFFF
85 | Ne 0 ""
86 | Po 4.5 17.25
87 | $EndPAD
88 | $PAD
89 | Sh "8" C 1.3 1.3 0 0 0
90 | Dr 0.95 0 0
91 | At STD N 00E0FFFF
92 | Ne 0 ""
93 | Po 3.25 19.75
94 | $EndPAD
95 | $PAD
96 | Sh "10" C 1.6 1.6 0 0 0
97 | Dr 1.1 0 0
98 | At STD N 00E0FFFF
99 | Ne 0 ""
100 | Po 11.75 7.25
101 | $EndPAD
102 | $PAD
103 | Sh "9" C 1.6 1.6 0 0 0
104 | Dr 1.1 0 0
105 | At STD N 00E0FFFF
106 | Ne 0 ""
107 | Po 14.25 5.75
108 | $EndPAD
109 | $PAD
110 | Sh "12" C 1.6 1.6 0 0 0
111 | Dr 1.1 0 0
112 | At STD N 00E0FFFF
113 | Ne 0 ""
114 | Po 1.75 7.25
115 | $EndPAD
116 | $PAD
117 | Sh "11" C 1.6 1.6 0 0 0
118 | Dr 1.1 0 0
119 | At STD N 00E0FFFF
120 | Ne 0 ""
121 | Po 4.25 5.75
122 | $EndPAD
123 | $PAD
124 | Sh "4" C 2.1 2.1 0 0 0
125 | Dr 1.65 0 0
126 | At STD N 00E0FFFF
127 | Ne 0 ""
128 | Po 16 13.75
129 | $EndPAD
130 | $PAD
131 | Sh "4" C 2.1 2.1 0 0 0
132 | Dr 1.6 0 0
133 | At STD N 00E0FFFF
134 | Ne 0 ""
135 | Po 0 13.75
136 | $EndPAD
137 | $EndMODULE J0026D21BNL
138 | $EndLIBRARY
139 |
--------------------------------------------------------------------------------
/pcb/libs/bh1721.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3 Date: Tue 17 Jun 2014 08:37:10 PM CEST
2 | #encoding utf-8
3 | #
4 | # BH1721
5 | #
6 | DEF BH1721 U 0 40 Y Y 1 F N
7 | F0 "U" -50 300 60 H V C CNN
8 | F1 "BH1721" -50 -400 60 H V C CNN
9 | F2 "~" 0 -50 60 H V C CNN
10 | F3 "~" 0 -50 60 H V C CNN
11 | DRAW
12 | S 350 250 -50 -300 0 1 0 f
13 | X Vcc 1 250 350 98 D 50 50 1 1 I
14 | X DVI 2 -150 150 98 R 50 50 1 1 I
15 | X SCL 3 -150 -50 98 R 50 50 1 1 I
16 | X SDA 4 -150 -150 98 R 50 50 1 1 I
17 | X GND 5 250 -400 98 U 50 50 1 1 I
18 | ENDDRAW
19 | ENDDEF
20 | #
21 | #End Library
22 |
--------------------------------------------------------------------------------
/pcb/libs/lmt87.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3 Date: Mon 16 Jun 2014 11:17:32 AM CEST
2 | #encoding utf-8
3 | #
4 | # LMT87
5 | #
6 | DEF LMT87 U 0 40 Y Y 1 F N
7 | F0 "U" 300 100 60 H V C CNN
8 | F1 "LMT87" 100 -300 60 H V C CNN
9 | F2 "~" 150 -150 60 H V C CNN
10 | F3 "~" 150 -150 60 H V C CNN
11 | DRAW
12 | S -200 200 200 -200 0 1 0 f
13 | X Vdd 1 100 350 150 D 47 47 1 1 I
14 | X GND 2 -100 -350 150 U 47 47 1 1 I
15 | X OUT 3 350 -100 150 L 47 47 1 1 I
16 | X Vdd 4 0 350 150 D 47 47 1 1 I
17 | X Vdd 5 -100 350 150 D 47 47 1 1 I
18 | ENDDRAW
19 | ENDDEF
20 | #
21 | #End Library
22 |
--------------------------------------------------------------------------------
/pcb/libs/ms5637.bak:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3 Date: Tue 17 Jun 2014 12:49:28 PM CEST
2 | #encoding utf-8
3 | #
4 | # MS5637
5 | #
6 | DEF MS5637 U 0 40 Y Y 1 F N
7 | F0 "U" -100 250 60 H V C CNN
8 | F1 "MS5637" -150 -300 60 H V C CNN
9 | F2 "~" 0 0 60 H V C CNN
10 | F3 "~" 0 0 60 H V C CNN
11 | DRAW
12 | S 150 200 -150 -200 0 1 0 f
13 | X Vdd 1 100 300 94 D 50 50 1 1 I
14 | X SDA 2 -250 50 94 R 50 50 1 1 I
15 | X GND ~ 100 -300 94 U 50 50 1 1 I
16 | X SCL ~ -250 -50 94 R 50 50 1 1 I
17 | ENDDRAW
18 | ENDDEF
19 | #
20 | #End Library
21 |
--------------------------------------------------------------------------------
/pcb/libs/ms5637.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0 Date: Wed 18 Jun 2014 08:51:12 AM CEST
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/pcb/libs/ms5637.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3 Date: Wed 18 Jun 2014 08:51:12 AM CEST
2 | #encoding utf-8
3 | #
4 | # MS5637
5 | #
6 | DEF MS5637 U 0 40 Y Y 1 F N
7 | F0 "U" -100 250 60 H V C CNN
8 | F1 "MS5637" -150 -300 60 H V C CNN
9 | F2 "~" 0 0 60 H V C CNN
10 | F3 "~" 0 0 60 H V C CNN
11 | DRAW
12 | S 150 200 -150 -200 0 1 0 f
13 | X Vdd 1 100 300 94 D 50 50 1 1 I
14 | X SDA 2 -250 50 94 R 50 50 1 1 I
15 | X SCL 3 -250 -50 94 R 50 50 1 1 I
16 | X GND 4 100 -300 94 U 50 50 1 1 I
17 | ENDDRAW
18 | ENDDEF
19 | #
20 | #End Library
21 |
--------------------------------------------------------------------------------
/pcb/libs/ms5637.mod:
--------------------------------------------------------------------------------
1 | PCBNEW-LibModule-V1 Wed 18 Jun 2014 09:21:56 AM CEST
2 | # encoding utf-8
3 | Units mm
4 | $INDEX
5 | ms5637
6 | $EndINDEX
7 | $MODULE ms5637
8 | Po 0 0 0 15 53A1365B 00000000 ~~
9 | Li ms5637
10 | Sc 0
11 | AR
12 | Op 0 0 0
13 | T0 -0.5 -3.5 1 1 0 0.15 N V 21 N "ms5637"
14 | T1 -0.5 2.5 1 1 0 0.15 N V 21 N "VAL**"
15 | DS -2 -2 1 -2 0.15 21
16 | DS 1 -2 1 1 0.15 21
17 | DS 1 1 -2 1 0.15 21
18 | DS -2 1 -2 -2 0.15 21
19 | $PAD
20 | Sh "1" R 1.5 1.5 0 0 0
21 | Dr 0 0 0
22 | At SMD N 00888000
23 | Ne 0 ""
24 | Po 0.5 -1.5
25 | $EndPAD
26 | $PAD
27 | Sh "2" R 1.5 1.5 0 0 0
28 | Dr 0 0 0
29 | At SMD N 00888000
30 | Ne 0 ""
31 | Po 0.5 0.5
32 | $EndPAD
33 | $PAD
34 | Sh "3" R 1.5 1.5 0 0 0
35 | Dr 0 0 0
36 | At SMD N 00888000
37 | Ne 0 ""
38 | Po -1.5 0.5
39 | $EndPAD
40 | $PAD
41 | Sh "4" R 1.5 1.5 0 0 0
42 | Dr 0 0 0
43 | At SMD N 00888000
44 | Ne 0 ""
45 | Po -1.5 -1.5
46 | $EndPAD
47 | $EndMODULE ms5637
48 | $EndLIBRARY
49 |
--------------------------------------------------------------------------------
/pcb/libs/oshec-microchip-enc28j60.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.3 29/04/2008-12:23:02
2 | # Converted with eagle2kicad.ulp Version 0.9
3 | # Device count = 3
4 | #
5 | # Dev Name: ENC28J60-DIL
6 | # Package Name: DIL28-3
7 | # Dev Tech: ''
8 | # Dev Prefix: U
9 | # Gate count = 1
10 | #
11 | DEF ENC28J60-DIL U 0 40 Y Y 1 L N
12 | # Gate Name: G$1
13 | # Symbol Name: ENC28J60
14 | F0 "U" -800 900 50 H V L B
15 | F1 "ENC28J60-DIL" 200 -600 50 H V L B
16 | F2 "microchip-enc28j60-DIL28-3" 0 150 50 H I C C
17 | DRAW
18 | P 2 1 0 0 -800 800 -800 -500
19 | P 2 1 0 0 -800 -500 600 -500
20 | P 2 1 0 0 600 -500 600 800
21 | P 2 1 0 0 600 800 -800 800
22 | X CLKOUT 3 -1000 -200 200 R 40 40 1 1 O
23 | X CS 9 -1000 0 200 R 40 40 1 1 I I
24 | X INT 4 -1000 700 200 R 40 40 1 1 O I
25 | X LEDA 27 800 100 200 L 40 40 1 1 O
26 | X LEDB 26 800 0 200 L 40 40 1 1 O
27 | X OSC1 23 800 -300 200 L 40 40 1 1 I C
28 | X OSC2 24 800 -400 200 L 40 40 1 1 O C
29 | X RBIAS 14 -1000 -400 200 R 40 40 1 1 P
30 | X RESET 10 -1000 500 200 R 40 40 1 1 I I
31 | X SCK 8 -1000 100 200 R 40 40 1 1 I C
32 | X SI 7 -1000 200 200 R 40 40 1 1 I
33 | X SO 6 -1000 300 200 R 40 40 1 1 O
34 | X TPIN+ 13 800 400 200 L 40 40 1 1 I
35 | X TPIN- 12 800 300 200 L 40 40 1 1 I
36 | X TPOUT+ 17 800 700 200 L 40 40 1 1 O
37 | X TPOUT- 16 800 600 200 L 40 40 1 1 O
38 | X VCAP 1 -1000 -300 200 R 40 40 1 1 W
39 | X VDD 28 100 1000 200 D 40 40 1 1 W
40 | X VDDOSC 25 0 1000 200 D 40 40 1 1 W
41 | X VDDPLL 20 -200 1000 200 D 40 40 1 1 W
42 | X VDDRX 19 -300 1000 200 D 40 40 1 1 W
43 | X VDDTX 15 -100 1000 200 D 40 40 1 1 W
44 | X VSS 2 100 -700 200 U 40 40 1 1 W
45 | X VSSOSC 22 0 -700 200 U 40 40 1 1 W
46 | X VSSPLL 21 -200 -700 200 U 40 40 1 1 W
47 | X VSSRX 11 -300 -700 200 U 40 40 1 1 W
48 | X VSSTX 18 -100 -700 200 U 40 40 1 1 W
49 | X WOL 5 -1000 600 200 R 40 40 1 1 O I
50 | ENDDRAW
51 | ENDDEF
52 |
53 | #
54 | # Dev Name: ENC28J60-SO
55 | # Package Name: SO28W
56 | # Dev Tech: ''
57 | # Dev Prefix: U
58 | # Gate count = 1
59 | #
60 | DEF ENC28J60-SO U 0 40 Y Y 1 L N
61 | # Gate Name: G$1
62 | # Symbol Name: ENC28J60
63 | F0 "U" -800 900 50 H V L B
64 | F1 "ENC28J60-SO" 200 -600 50 H V L B
65 | F2 "microchip-enc28j60-SO28W" 0 150 50 H I C C
66 | DRAW
67 | P 2 1 0 0 -800 800 -800 -500
68 | P 2 1 0 0 -800 -500 600 -500
69 | P 2 1 0 0 600 -500 600 800
70 | P 2 1 0 0 600 800 -800 800
71 | X CLKOUT 3 -1000 -200 200 R 40 40 1 1 O
72 | X CS 9 -1000 0 200 R 40 40 1 1 I I
73 | X INT 4 -1000 700 200 R 40 40 1 1 O I
74 | X LEDA 27 800 100 200 L 40 40 1 1 O
75 | X LEDB 26 800 0 200 L 40 40 1 1 O
76 | X OSC1 23 800 -300 200 L 40 40 1 1 I C
77 | X OSC2 24 800 -400 200 L 40 40 1 1 O C
78 | X RBIAS 14 -1000 -400 200 R 40 40 1 1 P
79 | X RESET 10 -1000 500 200 R 40 40 1 1 I I
80 | X SCK 8 -1000 100 200 R 40 40 1 1 I C
81 | X SI 7 -1000 200 200 R 40 40 1 1 I
82 | X SO 6 -1000 300 200 R 40 40 1 1 O
83 | X TPIN+ 13 800 400 200 L 40 40 1 1 I
84 | X TPIN- 12 800 300 200 L 40 40 1 1 I
85 | X TPOUT+ 17 800 700 200 L 40 40 1 1 O
86 | X TPOUT- 16 800 600 200 L 40 40 1 1 O
87 | X VCAP 1 -1000 -300 200 R 40 40 1 1 W
88 | X VDD 28 100 1000 200 D 40 40 1 1 W
89 | X VDDOSC 25 0 1000 200 D 40 40 1 1 W
90 | X VDDPLL 20 -200 1000 200 D 40 40 1 1 W
91 | X VDDRX 19 -300 1000 200 D 40 40 1 1 W
92 | X VDDTX 15 -100 1000 200 D 40 40 1 1 W
93 | X VSS 2 100 -700 200 U 40 40 1 1 W
94 | X VSSOSC 22 0 -700 200 U 40 40 1 1 W
95 | X VSSPLL 21 -200 -700 200 U 40 40 1 1 W
96 | X VSSRX 11 -300 -700 200 U 40 40 1 1 W
97 | X VSSTX 18 -100 -700 200 U 40 40 1 1 W
98 | X WOL 5 -1000 600 200 R 40 40 1 1 O I
99 | ENDDRAW
100 | ENDDEF
101 |
102 | #
103 | # Dev Name: ENC28J60-SSOP
104 | # Package Name: SSOP28
105 | # Dev Tech: ''
106 | # Dev Prefix: U
107 | # Gate count = 1
108 | #
109 | DEF ENC28J60-SSOP U 0 40 Y Y 1 L N
110 | # Gate Name: G$1
111 | # Symbol Name: ENC28J60
112 | F0 "U" -800 900 50 H V L B
113 | F1 "ENC28J60-SSOP" 200 -600 50 H V L B
114 | F2 "microchip-enc28j60-SSOP28" 0 150 50 H I C C
115 | DRAW
116 | P 2 1 0 0 -800 800 -800 -500
117 | P 2 1 0 0 -800 -500 600 -500
118 | P 2 1 0 0 600 -500 600 800
119 | P 2 1 0 0 600 800 -800 800
120 | X CLKOUT 3 -1000 -200 200 R 40 40 1 1 O
121 | X CS 9 -1000 0 200 R 40 40 1 1 I I
122 | X INT 4 -1000 700 200 R 40 40 1 1 O I
123 | X LEDA 27 800 100 200 L 40 40 1 1 O
124 | X LEDB 26 800 0 200 L 40 40 1 1 O
125 | X OSC1 23 800 -300 200 L 40 40 1 1 I C
126 | X OSC2 24 800 -400 200 L 40 40 1 1 O C
127 | X RBIAS 14 -1000 -400 200 R 40 40 1 1 P
128 | X RESET 10 -1000 500 200 R 40 40 1 1 I I
129 | X SCK 8 -1000 100 200 R 40 40 1 1 I C
130 | X SI 7 -1000 200 200 R 40 40 1 1 I
131 | X SO 6 -1000 300 200 R 40 40 1 1 O
132 | X TPIN+ 13 800 400 200 L 40 40 1 1 I
133 | X TPIN- 12 800 300 200 L 40 40 1 1 I
134 | X TPOUT+ 17 800 700 200 L 40 40 1 1 O
135 | X TPOUT- 16 800 600 200 L 40 40 1 1 O
136 | X VCAP 1 -1000 -300 200 R 40 40 1 1 W
137 | X VDD 28 100 1000 200 D 40 40 1 1 W
138 | X VDDOSC 25 0 1000 200 D 40 40 1 1 W
139 | X VDDPLL 20 -200 1000 200 D 40 40 1 1 W
140 | X VDDRX 19 -300 1000 200 D 40 40 1 1 W
141 | X VDDTX 15 -100 1000 200 D 40 40 1 1 W
142 | X VSS 2 100 -700 200 U 40 40 1 1 W
143 | X VSSOSC 22 0 -700 200 U 40 40 1 1 W
144 | X VSSPLL 21 -200 -700 200 U 40 40 1 1 W
145 | X VSSRX 11 -300 -700 200 U 40 40 1 1 W
146 | X VSSTX 18 -100 -700 200 U 40 40 1 1 W
147 | X WOL 5 -1000 600 200 R 40 40 1 1 O I
148 | ENDDRAW
149 | ENDDEF
150 |
151 | #End Library
152 |
--------------------------------------------------------------------------------
/pcb/libs/oshec-microchip-enc28j60.mod:
--------------------------------------------------------------------------------
1 | PCBNEW-LibModule-V1 29/04/2008-12:23:02
2 | $INDEX
3 | microchip-enc28j60-DIL28-3
4 | microchip-enc28j60-SO28W
5 | microchip-enc28j60-SSOP28
6 | $EndINDEX
7 | $MODULE microchip-enc28j60-DIL28-3
8 | Po 0 0 0 15 00200000 00000000 ~~
9 | Li microchip-enc28j60-DIL28-3
10 | Cd DUAL IN LINE
11 | Kw DUAL IN LINE
12 | Sc 00000000
13 | Op 0 0 0
14 | At VIRTUAL
15 | DS -7000 500 -7000 1000 60 21
16 | DS 7000 1000 7000 -1000 60 21
17 | DS -7000 -1000 -7000 -500 60 21
18 | DS -7000 -1000 7000 -1000 60 21
19 | DS -6949 1000 7000 1000 60 21
20 | DA -7000 0 -7000 -500 5400 60 21
21 | T0 -7400 -750 700 700 900 35 N V ">NAME"
22 | T1 -4100 20 700 700 0 35 N V ">VALUE"
23 | $PAD
24 | Sh "1" O 520 1040 0 0 0
25 | Dr 320 0 0
26 | At STD N 00A88001
27 | Ne 0 ""
28 | Po -6500 1500
29 | $EndPAD
30 | $PAD
31 | Sh "2" O 520 1040 0 0 0
32 | Dr 320 0 0
33 | At STD N 00A88001
34 | Ne 0 ""
35 | Po -5500 1500
36 | $EndPAD
37 | $PAD
38 | Sh "3" O 520 1040 0 0 0
39 | Dr 320 0 0
40 | At STD N 00A88001
41 | Ne 0 ""
42 | Po -4500 1500
43 | $EndPAD
44 | $PAD
45 | Sh "4" O 520 1040 0 0 0
46 | Dr 320 0 0
47 | At STD N 00A88001
48 | Ne 0 ""
49 | Po -3500 1500
50 | $EndPAD
51 | $PAD
52 | Sh "5" O 520 1040 0 0 0
53 | Dr 320 0 0
54 | At STD N 00A88001
55 | Ne 0 ""
56 | Po -2500 1500
57 | $EndPAD
58 | $PAD
59 | Sh "6" O 520 1040 0 0 0
60 | Dr 320 0 0
61 | At STD N 00A88001
62 | Ne 0 ""
63 | Po -1500 1500
64 | $EndPAD
65 | $PAD
66 | Sh "7" O 520 1040 0 0 0
67 | Dr 320 0 0
68 | At STD N 00A88001
69 | Ne 0 ""
70 | Po -500 1500
71 | $EndPAD
72 | $PAD
73 | Sh "8" O 520 1040 0 0 0
74 | Dr 320 0 0
75 | At STD N 00A88001
76 | Ne 0 ""
77 | Po 500 1500
78 | $EndPAD
79 | $PAD
80 | Sh "9" O 520 1040 0 0 0
81 | Dr 320 0 0
82 | At STD N 00A88001
83 | Ne 0 ""
84 | Po 1500 1500
85 | $EndPAD
86 | $PAD
87 | Sh "10" O 520 1040 0 0 0
88 | Dr 320 0 0
89 | At STD N 00A88001
90 | Ne 0 ""
91 | Po 2500 1500
92 | $EndPAD
93 | $PAD
94 | Sh "11" O 520 1040 0 0 0
95 | Dr 320 0 0
96 | At STD N 00A88001
97 | Ne 0 ""
98 | Po 3500 1500
99 | $EndPAD
100 | $PAD
101 | Sh "12" O 520 1040 0 0 0
102 | Dr 320 0 0
103 | At STD N 00A88001
104 | Ne 0 ""
105 | Po 4500 1500
106 | $EndPAD
107 | $PAD
108 | Sh "13" O 520 1040 0 0 0
109 | Dr 320 0 0
110 | At STD N 00A88001
111 | Ne 0 ""
112 | Po 5500 1500
113 | $EndPAD
114 | $PAD
115 | Sh "14" O 520 1040 0 0 0
116 | Dr 320 0 0
117 | At STD N 00A88001
118 | Ne 0 ""
119 | Po 6500 1500
120 | $EndPAD
121 | $PAD
122 | Sh "15" O 520 1040 0 0 0
123 | Dr 320 0 0
124 | At STD N 00A88001
125 | Ne 0 ""
126 | Po 6500 -1500
127 | $EndPAD
128 | $PAD
129 | Sh "16" O 520 1040 0 0 0
130 | Dr 320 0 0
131 | At STD N 00A88001
132 | Ne 0 ""
133 | Po 5500 -1500
134 | $EndPAD
135 | $PAD
136 | Sh "17" O 520 1040 0 0 0
137 | Dr 320 0 0
138 | At STD N 00A88001
139 | Ne 0 ""
140 | Po 4500 -1500
141 | $EndPAD
142 | $PAD
143 | Sh "18" O 520 1040 0 0 0
144 | Dr 320 0 0
145 | At STD N 00A88001
146 | Ne 0 ""
147 | Po 3500 -1500
148 | $EndPAD
149 | $PAD
150 | Sh "19" O 520 1040 0 0 0
151 | Dr 320 0 0
152 | At STD N 00A88001
153 | Ne 0 ""
154 | Po 2500 -1500
155 | $EndPAD
156 | $PAD
157 | Sh "20" O 520 1040 0 0 0
158 | Dr 320 0 0
159 | At STD N 00A88001
160 | Ne 0 ""
161 | Po 1500 -1500
162 | $EndPAD
163 | $PAD
164 | Sh "21" O 520 1040 0 0 0
165 | Dr 320 0 0
166 | At STD N 00A88001
167 | Ne 0 ""
168 | Po 500 -1500
169 | $EndPAD
170 | $PAD
171 | Sh "22" O 520 1040 0 0 0
172 | Dr 320 0 0
173 | At STD N 00A88001
174 | Ne 0 ""
175 | Po -500 -1500
176 | $EndPAD
177 | $PAD
178 | Sh "23" O 520 1040 0 0 0
179 | Dr 320 0 0
180 | At STD N 00A88001
181 | Ne 0 ""
182 | Po -1500 -1500
183 | $EndPAD
184 | $PAD
185 | Sh "24" O 520 1040 0 0 0
186 | Dr 320 0 0
187 | At STD N 00A88001
188 | Ne 0 ""
189 | Po -2500 -1500
190 | $EndPAD
191 | $PAD
192 | Sh "25" O 520 1040 0 0 0
193 | Dr 320 0 0
194 | At STD N 00A88001
195 | Ne 0 ""
196 | Po -3500 -1500
197 | $EndPAD
198 | $PAD
199 | Sh "26" O 520 1040 0 0 0
200 | Dr 320 0 0
201 | At STD N 00A88001
202 | Ne 0 ""
203 | Po -4500 -1500
204 | $EndPAD
205 | $PAD
206 | Sh "27" O 520 1040 0 0 0
207 | Dr 320 0 0
208 | At STD N 00A88001
209 | Ne 0 ""
210 | Po -5500 -1500
211 | $EndPAD
212 | $PAD
213 | Sh "28" O 520 1040 0 0 0
214 | Dr 320 0 0
215 | At STD N 00A88001
216 | Ne 0 ""
217 | Po -6500 -1500
218 | $EndPAD
219 | $EndMODULE DIL28-3
220 | $MODULE microchip-enc28j60-SO28W
221 | Po 0 0 0 15 00200000 00000000 ~~
222 | Li microchip-enc28j60-SO28W
223 | Cd SMALL OUTLINE INTEGRATED CIRCUIT
224 | Kw SMALL OUTLINE INTEGRATED CIRCUIT
225 | Sc 00000000
226 | Op 0 0 0
227 | At SMD
228 | DS -3346 2094 -3153 2094 26 21
229 | DS -3153 2094 -3153 1496 26 21
230 | DS -3346 1496 -3153 1496 26 21
231 | DS -3346 2094 -3346 1496 26 21
232 | DS -2846 2094 -2653 2094 26 21
233 | DS -2653 2094 -2653 1496 26 21
234 | DS -2846 1496 -2653 1496 26 21
235 | DS -2846 2094 -2846 1496 26 21
236 | DS -2346 2094 -2153 2094 26 21
237 | DS -2153 2094 -2153 1496 26 21
238 | DS -2346 1496 -2153 1496 26 21
239 | DS -2346 2094 -2346 1496 26 21
240 | DS -1846 2094 -1653 2094 26 21
241 | DS -1653 2094 -1653 1496 26 21
242 | DS -1846 1496 -1653 1496 26 21
243 | DS -1846 2094 -1846 1496 26 21
244 | DS -1346 2094 -1153 2094 26 21
245 | DS -1153 2094 -1153 1496 26 21
246 | DS -1346 1496 -1153 1496 26 21
247 | DS -1346 2094 -1346 1496 26 21
248 | DS -846 2094 -653 2094 26 21
249 | DS -653 2094 -653 1496 26 21
250 | DS -846 1496 -653 1496 26 21
251 | DS -846 2094 -846 1496 26 21
252 | DS -346 2094 -153 2094 26 21
253 | DS -153 2094 -153 1496 26 21
254 | DS -346 1496 -153 1496 26 21
255 | DS -346 2094 -346 1496 26 21
256 | DS 153 2094 346 2094 26 21
257 | DS 346 2094 346 1496 26 21
258 | DS 153 1496 346 1496 26 21
259 | DS 153 2094 153 1496 26 21
260 | DS 653 2094 846 2094 26 21
261 | DS 846 2094 846 1496 26 21
262 | DS 653 1496 846 1496 26 21
263 | DS 653 2094 653 1496 26 21
264 | DS 1153 2094 1346 2094 26 21
265 | DS 1346 2094 1346 1496 26 21
266 | DS 1153 1496 1346 1496 26 21
267 | DS 1153 2094 1153 1496 26 21
268 | DS 1653 2094 1846 2094 26 21
269 | DS 1846 2094 1846 1496 26 21
270 | DS 1653 1496 1846 1496 26 21
271 | DS 1653 2094 1653 1496 26 21
272 | DS 2153 2094 2346 2094 26 21
273 | DS 2346 2094 2346 1496 26 21
274 | DS 2153 1496 2346 1496 26 21
275 | DS 2153 2094 2153 1496 26 21
276 | DS 2653 2094 2846 2094 26 21
277 | DS 2846 2094 2846 1496 26 21
278 | DS 2653 1496 2846 1496 26 21
279 | DS 2653 2094 2653 1496 26 21
280 | DS 3153 2094 3346 2094 26 21
281 | DS 3346 2094 3346 1496 26 21
282 | DS 3153 1496 3346 1496 26 21
283 | DS 3153 2094 3153 1496 26 21
284 | DS 3153 -1496 3346 -1496 26 21
285 | DS 3346 -1496 3346 -2094 26 21
286 | DS 3153 -2094 3346 -2094 26 21
287 | DS 3153 -1496 3153 -2094 26 21
288 | DS 2653 -1496 2846 -1496 26 21
289 | DS 2846 -1496 2846 -2094 26 21
290 | DS 2653 -2094 2846 -2094 26 21
291 | DS 2653 -1496 2653 -2094 26 21
292 | DS 2153 -1496 2346 -1496 26 21
293 | DS 2346 -1496 2346 -2094 26 21
294 | DS 2153 -2094 2346 -2094 26 21
295 | DS 2153 -1496 2153 -2094 26 21
296 | DS 1653 -1496 1846 -1496 26 21
297 | DS 1846 -1496 1846 -2094 26 21
298 | DS 1653 -2094 1846 -2094 26 21
299 | DS 1653 -1496 1653 -2094 26 21
300 | DS 1153 -1496 1346 -1496 26 21
301 | DS 1346 -1496 1346 -2094 26 21
302 | DS 1153 -2094 1346 -2094 26 21
303 | DS 1153 -1496 1153 -2094 26 21
304 | DS 653 -1496 846 -1496 26 21
305 | DS 846 -1496 846 -2094 26 21
306 | DS 653 -2094 846 -2094 26 21
307 | DS 653 -1496 653 -2094 26 21
308 | DS 153 -1496 346 -1496 26 21
309 | DS 346 -1496 346 -2094 26 21
310 | DS 153 -2094 346 -2094 26 21
311 | DS 153 -1496 153 -2094 26 21
312 | DS -346 -1496 -153 -1496 26 21
313 | DS -153 -1496 -153 -2094 26 21
314 | DS -346 -2094 -153 -2094 26 21
315 | DS -346 -1496 -346 -2094 26 21
316 | DS -846 -1496 -653 -1496 26 21
317 | DS -653 -1496 -653 -2094 26 21
318 | DS -846 -2094 -653 -2094 26 21
319 | DS -846 -1496 -846 -2094 26 21
320 | DS -1346 -1496 -1153 -1496 26 21
321 | DS -1153 -1496 -1153 -2094 26 21
322 | DS -1346 -2094 -1153 -2094 26 21
323 | DS -1346 -1496 -1346 -2094 26 21
324 | DS -1846 -1496 -1653 -1496 26 21
325 | DS -1653 -1496 -1653 -2094 26 21
326 | DS -1846 -2094 -1653 -2094 26 21
327 | DS -1846 -1496 -1846 -2094 26 21
328 | DS -2346 -1496 -2153 -1496 26 21
329 | DS -2153 -1496 -2153 -2094 26 21
330 | DS -2346 -2094 -2153 -2094 26 21
331 | DS -2346 -1496 -2346 -2094 26 21
332 | DS -2846 -1496 -2653 -1496 26 21
333 | DS -2653 -1496 -2653 -2094 26 21
334 | DS -2846 -2094 -2653 -2094 26 21
335 | DS -2846 -1496 -2846 -2094 26 21
336 | DS -3346 -1496 -3153 -1496 26 21
337 | DS -3153 -1496 -3153 -2094 26 21
338 | DS -3346 -2094 -3153 -2094 26 21
339 | DS -3346 -1496 -3346 -2094 26 21
340 | DS -3698 -2322 3698 -2322 78 21
341 | DS 3698 2322 -3698 2322 78 21
342 | DS -3698 2322 -3698 -2322 78 21
343 | DS 3562 1456 -3562 1456 80 21
344 | DS -3562 1456 -3562 1259 80 21
345 | DS -3562 1259 -3562 -1456 80 21
346 | DS -3562 -1456 3562 -1456 80 21
347 | DS 3562 1259 -3562 1259 80 21
348 | DS 3562 -1456 3562 1259 80 21
349 | DS 3562 1259 3562 1456 80 21
350 | DS 3698 -2322 3698 2322 78 21
351 | T0 -2000 -750 500 500 0 35 N V ">NAME"
352 | T1 -1750 750 500 500 0 35 N V ">VALUE"
353 | $PAD
354 | Sh "1" R 236 866 0 0 0
355 | Dr 0 0 0
356 | At SMD N 00888000
357 | Ne 0 ""
358 | Po -3250 1811
359 | $EndPAD
360 | $PAD
361 | Sh "2" R 236 866 0 0 0
362 | Dr 0 0 0
363 | At SMD N 00888000
364 | Ne 0 ""
365 | Po -2750 1811
366 | $EndPAD
367 | $PAD
368 | Sh "3" R 236 866 0 0 0
369 | Dr 0 0 0
370 | At SMD N 00888000
371 | Ne 0 ""
372 | Po -2250 1811
373 | $EndPAD
374 | $PAD
375 | Sh "4" R 236 866 0 0 0
376 | Dr 0 0 0
377 | At SMD N 00888000
378 | Ne 0 ""
379 | Po -1750 1811
380 | $EndPAD
381 | $PAD
382 | Sh "5" R 236 866 0 0 0
383 | Dr 0 0 0
384 | At SMD N 00888000
385 | Ne 0 ""
386 | Po -1250 1811
387 | $EndPAD
388 | $PAD
389 | Sh "6" R 236 866 0 0 0
390 | Dr 0 0 0
391 | At SMD N 00888000
392 | Ne 0 ""
393 | Po -750 1811
394 | $EndPAD
395 | $PAD
396 | Sh "7" R 236 866 0 0 0
397 | Dr 0 0 0
398 | At SMD N 00888000
399 | Ne 0 ""
400 | Po -250 1811
401 | $EndPAD
402 | $PAD
403 | Sh "8" R 236 866 0 0 0
404 | Dr 0 0 0
405 | At SMD N 00888000
406 | Ne 0 ""
407 | Po 250 1811
408 | $EndPAD
409 | $PAD
410 | Sh "9" R 236 866 0 0 0
411 | Dr 0 0 0
412 | At SMD N 00888000
413 | Ne 0 ""
414 | Po 750 1811
415 | $EndPAD
416 | $PAD
417 | Sh "10" R 236 866 0 0 0
418 | Dr 0 0 0
419 | At SMD N 00888000
420 | Ne 0 ""
421 | Po 1250 1811
422 | $EndPAD
423 | $PAD
424 | Sh "11" R 236 866 0 0 0
425 | Dr 0 0 0
426 | At SMD N 00888000
427 | Ne 0 ""
428 | Po 1750 1811
429 | $EndPAD
430 | $PAD
431 | Sh "12" R 236 866 0 0 0
432 | Dr 0 0 0
433 | At SMD N 00888000
434 | Ne 0 ""
435 | Po 2250 1811
436 | $EndPAD
437 | $PAD
438 | Sh "13" R 236 866 0 0 0
439 | Dr 0 0 0
440 | At SMD N 00888000
441 | Ne 0 ""
442 | Po 2750 1811
443 | $EndPAD
444 | $PAD
445 | Sh "14" R 236 866 0 0 0
446 | Dr 0 0 0
447 | At SMD N 00888000
448 | Ne 0 ""
449 | Po 3250 1811
450 | $EndPAD
451 | $PAD
452 | Sh "15" R 236 866 0 0 0
453 | Dr 0 0 0
454 | At SMD N 00888000
455 | Ne 0 ""
456 | Po 3250 -1811
457 | $EndPAD
458 | $PAD
459 | Sh "16" R 236 866 0 0 0
460 | Dr 0 0 0
461 | At SMD N 00888000
462 | Ne 0 ""
463 | Po 2750 -1811
464 | $EndPAD
465 | $PAD
466 | Sh "17" R 236 866 0 0 0
467 | Dr 0 0 0
468 | At SMD N 00888000
469 | Ne 0 ""
470 | Po 2250 -1811
471 | $EndPAD
472 | $PAD
473 | Sh "18" R 236 866 0 0 0
474 | Dr 0 0 0
475 | At SMD N 00888000
476 | Ne 0 ""
477 | Po 1750 -1811
478 | $EndPAD
479 | $PAD
480 | Sh "19" R 236 866 0 0 0
481 | Dr 0 0 0
482 | At SMD N 00888000
483 | Ne 0 ""
484 | Po 1250 -1811
485 | $EndPAD
486 | $PAD
487 | Sh "20" R 236 866 0 0 0
488 | Dr 0 0 0
489 | At SMD N 00888000
490 | Ne 0 ""
491 | Po 750 -1811
492 | $EndPAD
493 | $PAD
494 | Sh "21" R 236 866 0 0 0
495 | Dr 0 0 0
496 | At SMD N 00888000
497 | Ne 0 ""
498 | Po 250 -1811
499 | $EndPAD
500 | $PAD
501 | Sh "22" R 236 866 0 0 0
502 | Dr 0 0 0
503 | At SMD N 00888000
504 | Ne 0 ""
505 | Po -250 -1811
506 | $EndPAD
507 | $PAD
508 | Sh "23" R 236 866 0 0 0
509 | Dr 0 0 0
510 | At SMD N 00888000
511 | Ne 0 ""
512 | Po -750 -1811
513 | $EndPAD
514 | $PAD
515 | Sh "24" R 236 866 0 0 0
516 | Dr 0 0 0
517 | At SMD N 00888000
518 | Ne 0 ""
519 | Po -1250 -1811
520 | $EndPAD
521 | $PAD
522 | Sh "25" R 236 866 0 0 0
523 | Dr 0 0 0
524 | At SMD N 00888000
525 | Ne 0 ""
526 | Po -1750 -1811
527 | $EndPAD
528 | $PAD
529 | Sh "26" R 236 866 0 0 0
530 | Dr 0 0 0
531 | At SMD N 00888000
532 | Ne 0 ""
533 | Po -2250 -1811
534 | $EndPAD
535 | $PAD
536 | Sh "27" R 236 866 0 0 0
537 | Dr 0 0 0
538 | At SMD N 00888000
539 | Ne 0 ""
540 | Po -2750 -1811
541 | $EndPAD
542 | $PAD
543 | Sh "28" R 236 866 0 0 0
544 | Dr 0 0 0
545 | At SMD N 00888000
546 | Ne 0 ""
547 | Po -3250 -1811
548 | $EndPAD
549 | $EndMODULE SO28W
550 | $MODULE microchip-enc28j60-SSOP28
551 | Po 0 0 0 15 00200000 00000000 ~~
552 | Li microchip-enc28j60-SSOP28
553 | Cd SHRINK SMALL OUTLINE PACKAGE
554 | Kw SHRINK SMALL OUTLINE PACKAGE
555 | Sc 00000000
556 | Op 0 0 0
557 | At SMD
558 | DS -1733 1550 -1593 1550 26 21
559 | DS -1593 1550 -1593 1040 26 21
560 | DS -1733 1040 -1593 1040 26 21
561 | DS -1733 1550 -1733 1040 26 21
562 | DS -1477 1550 -1337 1550 26 21
563 | DS -1337 1550 -1337 1040 26 21
564 | DS -1477 1040 -1337 1040 26 21
565 | DS -1477 1550 -1477 1040 26 21
566 | DS -1221 1550 -1081 1550 26 21
567 | DS -1081 1550 -1081 1040 26 21
568 | DS -1221 1040 -1081 1040 26 21
569 | DS -1221 1550 -1221 1040 26 21
570 | DS -965 1550 -825 1550 26 21
571 | DS -825 1550 -825 1040 26 21
572 | DS -965 1040 -825 1040 26 21
573 | DS -965 1550 -965 1040 26 21
574 | DS -709 1550 -569 1550 26 21
575 | DS -569 1550 -569 1040 26 21
576 | DS -709 1040 -569 1040 26 21
577 | DS -709 1550 -709 1040 26 21
578 | DS -453 1550 -313 1550 26 21
579 | DS -313 1550 -313 1040 26 21
580 | DS -453 1040 -313 1040 26 21
581 | DS -453 1550 -453 1040 26 21
582 | DS -197 1550 -57 1550 26 21
583 | DS -57 1550 -57 1040 26 21
584 | DS -197 1040 -57 1040 26 21
585 | DS -197 1550 -197 1040 26 21
586 | DS 57 1550 197 1550 26 21
587 | DS 197 1550 197 1040 26 21
588 | DS 57 1040 197 1040 26 21
589 | DS 57 1550 57 1040 26 21
590 | DS 313 1550 453 1550 26 21
591 | DS 453 1550 453 1040 26 21
592 | DS 313 1040 453 1040 26 21
593 | DS 313 1550 313 1040 26 21
594 | DS 569 1550 709 1550 26 21
595 | DS 709 1550 709 1040 26 21
596 | DS 569 1040 709 1040 26 21
597 | DS 569 1550 569 1040 26 21
598 | DS 825 1550 965 1550 26 21
599 | DS 965 1550 965 1040 26 21
600 | DS 825 1040 965 1040 26 21
601 | DS 825 1550 825 1040 26 21
602 | DS 1081 1550 1221 1550 26 21
603 | DS 1221 1550 1221 1040 26 21
604 | DS 1081 1040 1221 1040 26 21
605 | DS 1081 1550 1081 1040 26 21
606 | DS 1337 1550 1477 1550 26 21
607 | DS 1477 1550 1477 1040 26 21
608 | DS 1337 1040 1477 1040 26 21
609 | DS 1337 1550 1337 1040 26 21
610 | DS 1593 1550 1733 1550 26 21
611 | DS 1733 1550 1733 1040 26 21
612 | DS 1593 1040 1733 1040 26 21
613 | DS 1593 1550 1593 1040 26 21
614 | DS 1593 -1040 1733 -1040 26 21
615 | DS 1733 -1040 1733 -1550 26 21
616 | DS 1593 -1550 1733 -1550 26 21
617 | DS 1593 -1040 1593 -1550 26 21
618 | DS 1337 -1040 1477 -1040 26 21
619 | DS 1477 -1040 1477 -1550 26 21
620 | DS 1337 -1550 1477 -1550 26 21
621 | DS 1337 -1040 1337 -1550 26 21
622 | DS 1081 -1040 1221 -1040 26 21
623 | DS 1221 -1040 1221 -1550 26 21
624 | DS 1081 -1550 1221 -1550 26 21
625 | DS 1081 -1040 1081 -1550 26 21
626 | DS 825 -1040 965 -1040 26 21
627 | DS 965 -1040 965 -1550 26 21
628 | DS 825 -1550 965 -1550 26 21
629 | DS 825 -1040 825 -1550 26 21
630 | DS 569 -1040 709 -1040 26 21
631 | DS 709 -1040 709 -1550 26 21
632 | DS 569 -1550 709 -1550 26 21
633 | DS 569 -1040 569 -1550 26 21
634 | DS 313 -1040 453 -1040 26 21
635 | DS 453 -1040 453 -1550 26 21
636 | DS 313 -1550 453 -1550 26 21
637 | DS 313 -1040 313 -1550 26 21
638 | DS 57 -1040 197 -1040 26 21
639 | DS 197 -1040 197 -1550 26 21
640 | DS 57 -1550 197 -1550 26 21
641 | DS 57 -1040 57 -1550 26 21
642 | DS -197 -1040 -57 -1040 26 21
643 | DS -57 -1040 -57 -1550 26 21
644 | DS -197 -1550 -57 -1550 26 21
645 | DS -197 -1040 -197 -1550 26 21
646 | DS -453 -1040 -313 -1040 26 21
647 | DS -313 -1040 -313 -1550 26 21
648 | DS -453 -1550 -313 -1550 26 21
649 | DS -453 -1040 -453 -1550 26 21
650 | DS -709 -1040 -569 -1040 26 21
651 | DS -569 -1040 -569 -1550 26 21
652 | DS -709 -1550 -569 -1550 26 21
653 | DS -709 -1040 -709 -1550 26 21
654 | DS -965 -1040 -825 -1040 26 21
655 | DS -825 -1040 -825 -1550 26 21
656 | DS -965 -1550 -825 -1550 26 21
657 | DS -965 -1040 -965 -1550 26 21
658 | DS -1221 -1040 -1081 -1040 26 21
659 | DS -1081 -1040 -1081 -1550 26 21
660 | DS -1221 -1550 -1081 -1550 26 21
661 | DS -1221 -1040 -1221 -1550 26 21
662 | DS -1477 -1040 -1337 -1040 26 21
663 | DS -1337 -1040 -1337 -1550 26 21
664 | DS -1477 -1550 -1337 -1550 26 21
665 | DS -1477 -1040 -1477 -1550 26 21
666 | DS -1733 -1040 -1593 -1040 26 21
667 | DS -1593 -1040 -1593 -1550 26 21
668 | DS -1733 -1550 -1593 -1550 26 21
669 | DS -1733 -1040 -1733 -1550 26 21
670 | DS -2047 1023 -1663 1023 26 21
671 | DS -1663 1023 -1663 -1023 26 21
672 | DS -2047 -1023 -1663 -1023 26 21
673 | DS -2047 1023 -2047 -1023 26 21
674 | DS -2007 1023 2007 1023 80 21
675 | DS 2007 1023 2007 -1023 80 21
676 | DS 2007 -1023 -2007 -1023 80 21
677 | T0 -2405 -214 500 500 900 35 N V ">NAME"
678 | T1 -35 17 500 500 0 35 N V ">VALUE"
679 | $PAD
680 | Sh "1" R 157 590 0 0 0
681 | Dr 0 0 0
682 | At SMD N 00888000
683 | Ne 0 ""
684 | Po -1663 1427
685 | $EndPAD
686 | $PAD
687 | Sh "2" R 157 590 0 0 0
688 | Dr 0 0 0
689 | At SMD N 00888000
690 | Ne 0 ""
691 | Po -1407 1427
692 | $EndPAD
693 | $PAD
694 | Sh "3" R 157 590 0 0 0
695 | Dr 0 0 0
696 | At SMD N 00888000
697 | Ne 0 ""
698 | Po -1151 1427
699 | $EndPAD
700 | $PAD
701 | Sh "4" R 157 590 0 0 0
702 | Dr 0 0 0
703 | At SMD N 00888000
704 | Ne 0 ""
705 | Po -895 1427
706 | $EndPAD
707 | $PAD
708 | Sh "5" R 157 590 0 0 0
709 | Dr 0 0 0
710 | At SMD N 00888000
711 | Ne 0 ""
712 | Po -639 1427
713 | $EndPAD
714 | $PAD
715 | Sh "6" R 157 590 0 0 0
716 | Dr 0 0 0
717 | At SMD N 00888000
718 | Ne 0 ""
719 | Po -383 1427
720 | $EndPAD
721 | $PAD
722 | Sh "7" R 157 590 0 0 0
723 | Dr 0 0 0
724 | At SMD N 00888000
725 | Ne 0 ""
726 | Po -127 1427
727 | $EndPAD
728 | $PAD
729 | Sh "8" R 157 590 0 0 0
730 | Dr 0 0 0
731 | At SMD N 00888000
732 | Ne 0 ""
733 | Po 127 1427
734 | $EndPAD
735 | $PAD
736 | Sh "9" R 157 590 0 0 0
737 | Dr 0 0 0
738 | At SMD N 00888000
739 | Ne 0 ""
740 | Po 383 1427
741 | $EndPAD
742 | $PAD
743 | Sh "10" R 157 590 0 0 0
744 | Dr 0 0 0
745 | At SMD N 00888000
746 | Ne 0 ""
747 | Po 639 1427
748 | $EndPAD
749 | $PAD
750 | Sh "11" R 157 590 0 0 0
751 | Dr 0 0 0
752 | At SMD N 00888000
753 | Ne 0 ""
754 | Po 895 1427
755 | $EndPAD
756 | $PAD
757 | Sh "12" R 157 590 0 0 0
758 | Dr 0 0 0
759 | At SMD N 00888000
760 | Ne 0 ""
761 | Po 1151 1427
762 | $EndPAD
763 | $PAD
764 | Sh "13" R 157 590 0 0 0
765 | Dr 0 0 0
766 | At SMD N 00888000
767 | Ne 0 ""
768 | Po 1407 1427
769 | $EndPAD
770 | $PAD
771 | Sh "14" R 157 590 0 0 0
772 | Dr 0 0 0
773 | At SMD N 00888000
774 | Ne 0 ""
775 | Po 1663 1427
776 | $EndPAD
777 | $PAD
778 | Sh "15" R 157 590 0 0 0
779 | Dr 0 0 0
780 | At SMD N 00888000
781 | Ne 0 ""
782 | Po 1663 -1427
783 | $EndPAD
784 | $PAD
785 | Sh "16" R 157 590 0 0 0
786 | Dr 0 0 0
787 | At SMD N 00888000
788 | Ne 0 ""
789 | Po 1407 -1427
790 | $EndPAD
791 | $PAD
792 | Sh "17" R 157 590 0 0 0
793 | Dr 0 0 0
794 | At SMD N 00888000
795 | Ne 0 ""
796 | Po 1151 -1427
797 | $EndPAD
798 | $PAD
799 | Sh "18" R 157 590 0 0 0
800 | Dr 0 0 0
801 | At SMD N 00888000
802 | Ne 0 ""
803 | Po 895 -1427
804 | $EndPAD
805 | $PAD
806 | Sh "19" R 157 590 0 0 0
807 | Dr 0 0 0
808 | At SMD N 00888000
809 | Ne 0 ""
810 | Po 639 -1427
811 | $EndPAD
812 | $PAD
813 | Sh "20" R 157 590 0 0 0
814 | Dr 0 0 0
815 | At SMD N 00888000
816 | Ne 0 ""
817 | Po 383 -1427
818 | $EndPAD
819 | $PAD
820 | Sh "21" R 157 590 0 0 0
821 | Dr 0 0 0
822 | At SMD N 00888000
823 | Ne 0 ""
824 | Po 127 -1427
825 | $EndPAD
826 | $PAD
827 | Sh "22" R 157 590 0 0 0
828 | Dr 0 0 0
829 | At SMD N 00888000
830 | Ne 0 ""
831 | Po -127 -1427
832 | $EndPAD
833 | $PAD
834 | Sh "23" R 157 590 0 0 0
835 | Dr 0 0 0
836 | At SMD N 00888000
837 | Ne 0 ""
838 | Po -383 -1427
839 | $EndPAD
840 | $PAD
841 | Sh "24" R 157 590 0 0 0
842 | Dr 0 0 0
843 | At SMD N 00888000
844 | Ne 0 ""
845 | Po -639 -1427
846 | $EndPAD
847 | $PAD
848 | Sh "25" R 157 590 0 0 0
849 | Dr 0 0 0
850 | At SMD N 00888000
851 | Ne 0 ""
852 | Po -895 -1427
853 | $EndPAD
854 | $PAD
855 | Sh "26" R 157 590 0 0 0
856 | Dr 0 0 0
857 | At SMD N 00888000
858 | Ne 0 ""
859 | Po -1151 -1427
860 | $EndPAD
861 | $PAD
862 | Sh "27" R 157 590 0 0 0
863 | Dr 0 0 0
864 | At SMD N 00888000
865 | Ne 0 ""
866 | Po -1407 -1427
867 | $EndPAD
868 | $PAD
869 | Sh "28" R 157 590 0 0 0
870 | Dr 0 0 0
871 | At SMD N 00888000
872 | Ne 0 ""
873 | Po -1663 -1427
874 | $EndPAD
875 | $EndMODULE SSOP28
876 |
--------------------------------------------------------------------------------
/src/Makefile:
--------------------------------------------------------------------------------
1 | NAME = firmware
2 | MCU = atmega328p
3 | FORMAT = ihex
4 | TARGET = $(NAME)
5 |
6 | AVRDUDE = avrdude -p$(MCU) -cusbasp -Uflash:w:$(NAME).hex:a
7 |
8 | THIRD_PARTY_PATH = ../thirdparty
9 | UIP_PATH = $(THIRD_PARTY_PATH)/avr-uip-2
10 | UMQTT_PATH = $(THIRD_PARTY_PATH)/umqtt
11 |
12 | CSRC = main.c clock-arch.c nethandler.c oled.c ds18b20.c dht.c
13 |
14 | CSRC += $(UIP_PATH)/uip/uip.c \
15 | $(UIP_PATH)/uip/uip_arp.c \
16 | $(UIP_PATH)/uip/psock.c \
17 | $(UIP_PATH)/uip/uiplib.c \
18 | $(UIP_PATH)/drivers/enc28j60/network.c \
19 | $(UIP_PATH)/drivers/enc28j60/enc28j60.c
20 |
21 | CSRC += $(UMQTT_PATH)/umqtt/umqtt.c
22 |
23 | CINC = -I. \
24 | -I$(UIP_PATH)/uip \
25 | -I$(UIP_PATH)/drivers/enc28j60 \
26 | -I$(UIP_PATH)/drivers/interfaces \
27 | -I$(UMQTT_PATH)
28 |
29 | CFLAGS = -include config.h
30 | CFLAGS += -include uip-conf.h
31 | CFLAGS += -O2
32 | CFLAGS += -Wall -Wextra
33 | CFLAGS += -std=gnu99
34 | CFLAGS += -fpack-struct -fshort-enums -ffunction-sections \
35 | -fdata-sections -funsigned-char -funsigned-bitfields
36 | CFLAGS += -mmcu=$(MCU)
37 | CFLAGS += $(CINC)
38 |
39 | LDFLAGS = -Wl,-Map,$(PRG).map,--gc-sections
40 |
41 | CROSS = avr-
42 | SHELL = sh
43 | CC = $(CROSS)gcc
44 | OBJCOPY = $(CROSS)objcopy
45 | OBJDUMP = $(CROSS)objdump
46 | SIZE = $(CROSS)size
47 | NM = $(CROSS)nm
48 | RM = rm -f
49 |
50 | OBJ = $(CSRC:.c=.o)
51 | LST = $(CSRC:.c=.lst)
52 |
53 | all: $(NAME).elf hex
54 |
55 | $(NAME).elf:
56 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(CSRC)
57 |
58 | text: hex bin srec
59 |
60 | hex: $(NAME).hex
61 |
62 | avrdude: hex
63 | $(AVRDUDE)
64 |
65 | %.hex: %.elf
66 | $(OBJCOPY) -j .text -j .data -O ihex $< $@
67 |
68 | clean:
69 | $(RM) *.hex
70 |
71 | .PHONY: $(NAME).elf
72 |
--------------------------------------------------------------------------------
/src/bitmaps.h:
--------------------------------------------------------------------------------
1 |
2 | #include
3 |
4 | const uint8_t PROGMEM bitmaps_7seg7x16[][14] = {
5 | {
6 | 0xf0, 0xf0, 0x30, 0x30, 0x30, 0xf0, 0xf0,
7 | 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xff,
8 | },
9 | {
10 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
11 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
12 | },
13 | {
14 | 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0,
15 | 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7,
16 | },
17 | {
18 | 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0,
19 | 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xff, 0xff,
20 | },
21 | {
22 | 0xf0, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0xf0,
23 | 0x07, 0x07, 0x06, 0x06, 0x06, 0xff, 0xff,
24 | },
25 | {
26 | 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30,
27 | 0xc7, 0xc7, 0xc6, 0xc6, 0xc6, 0xfe, 0xfe,
28 | },
29 | {
30 | 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30,
31 | 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xfe, 0xfe,
32 | },
33 | {
34 | 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0,
35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
36 | },
37 | {
38 | 0xf0, 0xf0, 0x30, 0x30, 0x30, 0xf0, 0xf0,
39 | 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xff,
40 | },
41 | {
42 | 0xf0, 0xf0, 0x30, 0x30, 0x30, 0xf0, 0xf0,
43 | 0xc7, 0xc7, 0xc6, 0xc6, 0xc6, 0xff, 0xff,
44 | },
45 | {
46 | 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x30,
47 | 0x80, 0xe0, 0x38, 0x0e, 0x03, 0x00, 0x00,
48 | },
49 | };
50 |
51 | const uint8_t PROGMEM bitmaps_percent9x16[] = {
52 | 0xe0, 0xe0, 0x60, 0x60, 0xe0, 0xe0, 0x00, 0x80, 0xc0, 0xe0, 0x60,
53 | 0xcf, 0xef, 0x7c, 0x3c, 0x1f, 0xff, 0xff, 0xc7, 0xc7, 0xfe, 0xfe,
54 | };
55 |
56 | const uint8_t PROGMEM bitmaps_7seg12x24[][36] = {
57 | {
58 | 0xfc, 0xfc, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc,
59 | 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
60 | 0x3f, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x3f,
61 | },
62 | {
63 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8,
64 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f,
66 | },
67 | {
68 | 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc,
69 | 0xf8, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x1f,
70 | 0x3f, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
71 | },
72 | {
73 | 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc,
74 | 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0xff,
75 | 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x3f,
76 | },
77 | {
78 | 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8,
79 | 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0xff,
80 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f,
81 | },
82 | {
83 | 0xfc, 0xfc, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
84 | 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0xf8,
85 | 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x3f,
86 | },
87 | {
88 | 0xfc, 0xfc, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
89 | 0xff, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0xf8,
90 | 0x3f, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x3f,
91 | },
92 | {
93 | 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc,
94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
95 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f,
96 | },
97 | {
98 | 0xfc, 0xfc, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc,
99 | 0xff, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0xff,
100 | 0x3f, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x3f,
101 | },
102 | {
103 | 0xfc, 0xfc, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0xfc,
104 | 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0xff,
105 | 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x3f,
106 | },
107 | };
108 |
109 | const uint8_t PROGMEM bitmaps_cloudy[] = {
110 | 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
111 | 0x00, 0x0e, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00,
112 | };
113 | const uint8_t PROGMEM bitmaps_lightning[] = {
114 | 0x00, 0x80, 0xc0, 0xe0, 0xb0, 0x98, 0x8c, 0x86, 0x80, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xb0, 0x98, 0x8c, 0x86, 0x80,
115 | 0x01, 0x61, 0x31, 0x19, 0x0d, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x61, 0x31, 0x19, 0x0d, 0x07, 0x03, 0x01, 0x00,
116 | };
117 | const uint8_t PROGMEM bitmaps_mist[] = {
118 | 0x44, 0x22, 0x11, 0x11, 0x11, 0x22, 0x44, 0x44, 0x44, 0x22, 0x11, 0x11, 0x11, 0x22, 0x44, 0x44, 0x44, 0x22, 0x11, 0x11,
119 | 0x44, 0x22, 0x11, 0x11, 0x11, 0x22, 0x44, 0x44, 0x44, 0x22, 0x11, 0x11, 0x11, 0x22, 0x44, 0x44, 0x44, 0x22, 0x11, 0x11,
120 | };
121 | const uint8_t PROGMEM bitmaps_rain[] = {
122 | 0x00, 0x00, 0x00, 0x60, 0x98, 0x60, 0x00, 0x00, 0x18, 0x26, 0x18, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x18, 0x26, 0x18, 0x00,
123 | 0x00, 0x30, 0x4c, 0x30, 0x00, 0x00, 0x00, 0x18, 0x26, 0x18, 0x00, 0x00, 0x03, 0x04, 0x03, 0x60, 0x98, 0x60, 0x00, 0x00,
124 | };
125 | const uint8_t PROGMEM bitmaps_snow[] = {
126 | 0x00, 0x0a, 0x44, 0x8a, 0x40, 0x00, 0x00, 0x14, 0x08, 0x54, 0x80, 0x40, 0x00, 0x00, 0x05, 0x02, 0x05, 0xa0, 0x40, 0xa0,
127 | 0x50, 0x20, 0x51, 0x00, 0x01, 0x00, 0x14, 0x08, 0x14, 0x01, 0x00, 0x01, 0x00, 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, 0x00,
128 | };
129 | const uint8_t PROGMEM bitmaps_suncloud[] = {
130 | 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x60, 0x62, 0x76, 0x7c, 0x78, 0x6c, 0xcf, 0xcc, 0x98, 0xfc, 0xe6, 0x42, 0x40, 0x40,
131 | 0x00, 0x0e, 0x1f, 0x19, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x19, 0x1f, 0x0f, 0x06, 0x0c, 0x00, 0x00,
132 | };
133 | const uint8_t PROGMEM bitmaps_sun[] = {
134 | 0x00, 0x00, 0x80, 0x80, 0x8c, 0xd8, 0xf0, 0x30, 0x18, 0x1f, 0x18, 0x30, 0xf0, 0xd8, 0x8c, 0x80, 0x80, 0x00, 0x00, 0x00,
135 | 0x00, 0x00, 0x00, 0x00, 0x18, 0x0d, 0x07, 0x06, 0x0c, 0x7c, 0x0c, 0x06, 0x07, 0x0d, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
136 | };
137 |
138 | const uint8_t PROGMEM bitmaps_font6x8[][6] = {
139 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* s */
140 | {0x00, 0x00, 0x00, 0x2f, 0x00, 0x00}, /* ! */
141 | {0x00, 0x00, 0x07, 0x00, 0x07, 0x00}, /* " */
142 | {0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14}, /* # */
143 | {0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12}, /* $ */
144 | {0x00, 0x62, 0x64, 0x08, 0x13, 0x23}, /* % */
145 | {0x00, 0x36, 0x49, 0x55, 0x22, 0x50}, /* & */
146 | {0x00, 0x00, 0x05, 0x03, 0x00, 0x00}, /* ' */
147 | {0x00, 0x00, 0x1c, 0x22, 0x41, 0x00}, /* ( */
148 | {0x00, 0x00, 0x41, 0x22, 0x1c, 0x00}, /* ) */
149 | {0x00, 0x14, 0x08, 0x3E, 0x08, 0x14}, /* * */
150 | {0x00, 0x08, 0x08, 0x3E, 0x08, 0x08}, /* + */
151 | {0x00, 0x00, 0x00, 0xA0, 0x60, 0x00}, /* , */
152 | {0x00, 0x08, 0x08, 0x08, 0x08, 0x08}, /* - */
153 | {0x00, 0x00, 0x60, 0x60, 0x00, 0x00}, /* . */
154 | {0x00, 0x20, 0x10, 0x08, 0x04, 0x02}, /* / */
155 | {0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E}, /* 0 */
156 | {0x00, 0x00, 0x42, 0x7F, 0x40, 0x00}, /* 1 */
157 | {0x00, 0x42, 0x61, 0x51, 0x49, 0x46}, /* 2 */
158 | {0x00, 0x21, 0x41, 0x45, 0x4B, 0x31}, /* 3 */
159 | {0x00, 0x18, 0x14, 0x12, 0x7F, 0x10}, /* 4 */
160 | {0x00, 0x27, 0x45, 0x45, 0x45, 0x39}, /* 5 */
161 | {0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30}, /* 6 */
162 | {0x00, 0x01, 0x71, 0x09, 0x05, 0x03}, /* 7 */
163 | {0x00, 0x36, 0x49, 0x49, 0x49, 0x36}, /* 8 */
164 | {0x00, 0x06, 0x49, 0x49, 0x29, 0x1E}, /* 9 */
165 | {0x00, 0x00, 0x36, 0x36, 0x00, 0x00}, /* : */
166 | {0x00, 0x00, 0x56, 0x36, 0x00, 0x00}, /* ; */
167 | {0x00, 0x08, 0x14, 0x22, 0x41, 0x00}, /* < */
168 | {0x00, 0x14, 0x14, 0x14, 0x14, 0x14}, /* = */
169 | {0x00, 0x00, 0x41, 0x22, 0x14, 0x08}, /* > */
170 | {0x00, 0x02, 0x01, 0x51, 0x09, 0x06}, /* ? */
171 | {0x00, 0x32, 0x49, 0x59, 0x51, 0x3E}, /* @ */
172 | {0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C}, /* A */
173 | {0x00, 0x7F, 0x49, 0x49, 0x49, 0x36}, /* B */
174 | {0x00, 0x3E, 0x41, 0x41, 0x41, 0x22}, /* C */
175 | {0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C}, /* D */
176 | {0x00, 0x7F, 0x49, 0x49, 0x49, 0x41}, /* E */
177 | {0x00, 0x7F, 0x09, 0x09, 0x09, 0x01}, /* F */
178 | {0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A}, /* G */
179 | {0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F}, /* H */
180 | {0x00, 0x00, 0x41, 0x7F, 0x41, 0x00}, /* I */
181 | {0x00, 0x20, 0x40, 0x41, 0x3F, 0x01}, /* J */
182 | {0x00, 0x7F, 0x08, 0x14, 0x22, 0x41}, /* K */
183 | {0x00, 0x7F, 0x40, 0x40, 0x40, 0x40}, /* L */
184 | {0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F}, /* M */
185 | {0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F}, /* N */
186 | {0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E}, /* O */
187 | {0x00, 0x7F, 0x09, 0x09, 0x09, 0x06}, /* P */
188 | {0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E}, /* Q */
189 | {0x00, 0x7F, 0x09, 0x19, 0x29, 0x46}, /* R */
190 | {0x00, 0x46, 0x49, 0x49, 0x49, 0x31}, /* S */
191 | {0x00, 0x01, 0x01, 0x7F, 0x01, 0x01}, /* T */
192 | {0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F}, /* U */
193 | {0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F}, /* V */
194 | {0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F}, /* W */
195 | {0x00, 0x63, 0x14, 0x08, 0x14, 0x63}, /* X */
196 | {0x00, 0x07, 0x08, 0x70, 0x08, 0x07}, /* Y */
197 | {0x00, 0x61, 0x51, 0x49, 0x45, 0x43}, /* Z */
198 | {0x00, 0x00, 0x7F, 0x41, 0x41, 0x00}, /* [ */
199 | {0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55}, /* 5 */
200 | {0x00, 0x00, 0x41, 0x41, 0x7F, 0x00}, /* ] */
201 | {0x00, 0x04, 0x02, 0x01, 0x02, 0x04}, /* ^ */
202 | {0x00, 0x40, 0x40, 0x40, 0x40, 0x40}, /* _ */
203 | {0x00, 0x00, 0x01, 0x02, 0x04, 0x00}, /* ' */
204 | {0x00, 0x20, 0x54, 0x54, 0x54, 0x78}, /* a */
205 | {0x00, 0x7F, 0x48, 0x44, 0x44, 0x38}, /* b */
206 | {0x00, 0x38, 0x44, 0x44, 0x44, 0x20}, /* c */
207 | {0x00, 0x38, 0x44, 0x44, 0x48, 0x7F}, /* d */
208 | {0x00, 0x38, 0x54, 0x54, 0x54, 0x18}, /* e */
209 | {0x00, 0x08, 0x7E, 0x09, 0x01, 0x02}, /* f */
210 | {0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C}, /* g */
211 | {0x00, 0x7F, 0x08, 0x04, 0x04, 0x78}, /* h */
212 | {0x00, 0x00, 0x44, 0x7D, 0x40, 0x00}, /* i */
213 | {0x00, 0x40, 0x80, 0x84, 0x7D, 0x00}, /* j */
214 | {0x00, 0x7F, 0x10, 0x28, 0x44, 0x00}, /* k */
215 | {0x00, 0x00, 0x41, 0x7F, 0x40, 0x00}, /* l */
216 | {0x00, 0x7C, 0x04, 0x18, 0x04, 0x78}, /* m */
217 | {0x00, 0x7C, 0x08, 0x04, 0x04, 0x78}, /* n */
218 | {0x00, 0x38, 0x44, 0x44, 0x44, 0x38}, /* o */
219 | {0x00, 0xFC, 0x24, 0x24, 0x24, 0x18}, /* p */
220 | {0x00, 0x18, 0x24, 0x24, 0x18, 0xFC}, /* q */
221 | {0x00, 0x7C, 0x08, 0x04, 0x04, 0x08}, /* r */
222 | {0x00, 0x48, 0x54, 0x54, 0x54, 0x20}, /* s */
223 | {0x00, 0x04, 0x3F, 0x44, 0x40, 0x20}, /* t */
224 | {0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C}, /* u */
225 | {0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C}, /* v */
226 | {0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C}, /* w */
227 | {0x00, 0x44, 0x28, 0x10, 0x28, 0x44}, /* x */
228 | {0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C}, /* y */
229 | {0x00, 0x44, 0x64, 0x54, 0x4C, 0x44}, /* z */
230 | };
231 |
--------------------------------------------------------------------------------
/src/clock-arch.c:
--------------------------------------------------------------------------------
1 | /*
2 | * This file handles time keeping
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #include
22 |
23 | #include "clock-arch.h"
24 | #include "uip.h"
25 | #include "uip_arp.h"
26 | #include "nethandler.h"
27 |
28 | static clock_time_t time;
29 |
30 | /* Overflow interrupt */
31 | ISR(TIMER1_COMPA_vect)
32 | {
33 | time += 1;
34 | }
35 |
36 | void clock_init()
37 | {
38 | /* Enable compare A interrupt */
39 | TIMSK1 |= _BV(OCIE1A);
40 | /* f_cpu / 1024 and CTC mode */
41 | TCCR1B |= _BV(CS12) | _BV(CS10) | _BV(WGM12);
42 | OCR1A = 6104; /* Magical constant - 2Hz */
43 | }
44 |
45 | clock_time_t clock_time()
46 | {
47 | return time;
48 | }
49 |
50 | void clock_set(clock_time_t t)
51 | {
52 | time = t;
53 | }
54 |
--------------------------------------------------------------------------------
/src/clock-arch.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Header file for clock-arch.c
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef __CLOCK_ARCH_H__
22 | #define __CLOCK_ARCH_H__
23 |
24 | #include
25 |
26 | typedef uint32_t clock_time_t; /* This should serve for some time */
27 | #define CLOCK_CONF_SECOND (clock_time_t)2
28 |
29 | #define clock_time_seconds() (clock_time() / CLOCK_CONF_SECOND)
30 | #define clock_set_seconds(x) clock_set((x) * CLOCK_CONF_SECOND)
31 |
32 | void clock_set(clock_time_t t);
33 | clock_time_t clock_time();
34 |
35 | #include "clock.h"
36 |
37 | #endif /* __CLOCK_ARCH_H__ */
38 |
--------------------------------------------------------------------------------
/src/common.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Common utilities
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef __COMMON_H__
22 | #define __COMMON_H__
23 |
24 |
25 | #define ARRAY_SIZE(x) sizeof(x) / sizeof((x)[0])
26 |
27 | #define times(m, x) \
28 | for((x) = 0; (x) < (m); (x)++)
29 |
30 | #define iterate(a, x) \
31 | for((x) = 0; (x) < (ARRAY_SIZE(a)); (x)++)
32 |
33 | #endif /* __COMMON_H__ */
34 |
--------------------------------------------------------------------------------
/src/config.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef __CONFIG_H__
3 | #define __CONFIG_H__
4 |
5 | #include "umqtt/umqtt.h"
6 | #include "nethandler.h"
7 |
8 | #define _STR(x) #x
9 | #define STR(x) _STR(x)
10 |
11 | #define BUTTON(bank, pin, topic) \
12 | { GPIO(bank, pin), topic, 0, false}
13 |
14 | #define OUTPUT(bank, pin, topic) \
15 | { GPIO(bank, pin), topic }
16 |
17 | #define F_CPU 12500000UL
18 |
19 | #define IPADDR0 192
20 | #define IPADDR1 168
21 | #define IPADDR2 10
22 | #define IPADDR3 156
23 |
24 | #define ETHADDR0 0x00
25 | #define ETHADDR1 0xbd
26 | #define ETHADDR2 0x3b
27 | #define ETHADDR3 0x33
28 | #define ETHADDR4 0x05
29 | #define ETHADDR5 0x71
30 |
31 | #define ENC28J60_SPI_PORT PORTB
32 | #define ENC28J60_SPI_DDR DDRB
33 | #define ENC28J60_SPI_SCK PB5
34 | #define ENC28J60_SPI_MOSI PB3
35 | #define ENC28J60_SPI_MISO PB4
36 | #define ENC28J60_SPI_SS PB2
37 | #define ENC28J60_CONTROL_PORT PORTB
38 | #define ENC28J60_CONTROL_DDR DDRB
39 | #define ENC28J60_CONTROL_CS PB2
40 |
41 | #define HAS_DHT
42 | #define HAS_DS
43 | #define HAS_BUTTONS
44 | #define HAS_OUTPUTS
45 |
46 | #define MQTT_IP0 192
47 | #define MQTT_IP1 168
48 | #define MQTT_IP2 10
49 | #define MQTT_IP3 21
50 |
51 | #define MQTT_KEEP_ALIVE 30
52 | #define MQTT_CLIENT_ID "avr-mqtt-" STR(IPADDR3)
53 | #define MQTT_TOPIC_DATE "time/date"
54 | #define MQTT_TOPIC_DATETIME "time/daytime"
55 | #define MQTT_TOPIC_TEMP "sensors/temperature/frontdoor"
56 | #define MQTT_TOPIC_HUMIDITY "sensors/humidity/frontdoor"
57 | #define MQTT_TOPIC_WEATHER "weather/local/general"
58 |
59 | #define SENSORS_PUBLISH_RATE 60
60 | #define SENSORS_DISPLAY_RATE 5
61 |
62 | #define BUTTONS \
63 | BUTTON(C, 3, "input/button/doorbell/top"), \
64 | BUTTON(C, 2, "input/button/doorbell/bottom")
65 |
66 | #define OUTPUTS \
67 | OUTPUT(C, 0, "output/binary/bell")
68 |
69 | typedef struct nethandler_state uip_tcp_appstate_t;
70 | #define UIP_APPCALL nethandler_umqtt_appcall
71 |
72 | #endif /*__CONFIG_H__*/
73 |
--------------------------------------------------------------------------------
/src/dht.c:
--------------------------------------------------------------------------------
1 | /*
2 | * Driver for DHT11 humidity sensor
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #include
22 | #include
23 |
24 | #include "common.h"
25 | #include "clock-arch.h"
26 | #include "dht.h"
27 |
28 | /* TODO: Handle timeouts! */
29 |
30 | int dht_humidity(struct dht *d)
31 | {
32 | int ret = 0;
33 | int i;
34 |
35 | cli();
36 |
37 | gpio_out(&(d)->gpio);
38 | gpio_low(&(d)->gpio);
39 | _delay_ms(20);
40 | gpio_in(&(d)->gpio);
41 | gpio_high(&(d)->gpio);
42 |
43 | while (gpio_value(&d->gpio));
44 | while (!gpio_value(&d->gpio));
45 | while (gpio_value(&d->gpio));
46 |
47 | times(8, i) {
48 | while (!gpio_value(&d->gpio))
49 | _delay_us(1); /* Latch onto the data signal */
50 | _delay_us(40);
51 | if (gpio_value(&d->gpio)) {
52 | ret = (ret << 1) | 1;
53 | while (gpio_value(&d->gpio))
54 | _delay_us(1);
55 | } else {
56 | ret = ret << 1;
57 | }
58 | }
59 |
60 | sei();
61 |
62 | return ret & 0xff;
63 | }
64 |
--------------------------------------------------------------------------------
/src/dht.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Header file for the DHT11 driver
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef __DHT_H__
22 | #define __DHT_H__
23 |
24 | #include "gpio.h"
25 |
26 | struct dht {
27 | struct gpio gpio;
28 | };
29 |
30 | /* Returns 0 - 100 on correct read, < 0 on error */
31 | int dht_humidity(struct dht *dht);
32 |
33 | #endif /* __DHT_H__ */
34 |
--------------------------------------------------------------------------------
/src/ds18b20.c:
--------------------------------------------------------------------------------
1 | /*
2 | * Driver for the DS18B20
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #include
22 | #include
23 |
24 | #include "common.h"
25 | #include "ds18b20.h"
26 |
27 | #define ds18b20_drive(ds) \
28 | do { \
29 | gpio_out(&ds->gpio); \
30 | gpio_low(&ds->gpio); \
31 | } while (0)
32 |
33 | #define ds18b20_release(ds) \
34 | do { \
35 | gpio_in(&ds->gpio); \
36 | gpio_high(&ds->gpio); \
37 | } while (0)
38 |
39 | static void ds18b20_write(struct ds18b20 *ds, bool b)
40 | {
41 | ds18b20_drive(ds);
42 | if (b) {
43 | _delay_us(1);
44 | ds18b20_release(ds);
45 | _delay_us(59);
46 | } else {
47 | _delay_us(60);
48 | ds18b20_release(ds);
49 | }
50 | }
51 |
52 | static bool ds18b20_read(struct ds18b20 *ds)
53 | {
54 | bool ret;
55 |
56 | ds18b20_drive(ds);
57 | _delay_us(1);
58 | ds18b20_release(ds);
59 | _delay_us(14);
60 | ret = gpio_value(&ds->gpio);
61 | _delay_us(45);
62 | return ret;
63 | }
64 |
65 | static uint8_t ds18b20_read_byte(struct ds18b20 *ds)
66 | {
67 | uint8_t ret = 0;
68 | int i;
69 |
70 | times(8, i)
71 | ret |= ds18b20_read(ds) << i;
72 |
73 | return ret;
74 | }
75 |
76 | static void ds18b20_write_byte(struct ds18b20 *ds, uint8_t data)
77 | {
78 | int i;
79 |
80 | times(8, i) {
81 | ds18b20_write(ds, data & _BV(i));
82 | _delay_us(1);
83 | }
84 | }
85 |
86 | signed long ds18b20_read_temp(struct ds18b20 *ds)
87 | {
88 | signed long ret;
89 |
90 | ds18b20_reset(ds);
91 | ds18b20_write_byte(ds, 0xcc);
92 | ds18b20_write_byte(ds, 0xbe); /* Read memory */
93 | ret = ds18b20_read_byte(ds);
94 | ret |= ds18b20_read_byte(ds) << 8;
95 | ds18b20_reset(ds); /* We really do not care about the rest of the memory */
96 |
97 | return ret * 625 / 10;
98 | }
99 |
100 | void ds18b20_convert(struct ds18b20 *ds)
101 | {
102 | ds18b20_reset(ds);
103 |
104 | ds18b20_write_byte(ds, 0xcc); /* Skip ROM */
105 | ds18b20_write_byte(ds, 0x44); /* Convert */
106 | }
107 |
108 | bool ds18b20_reset(struct ds18b20 *ds)
109 | {
110 | bool ret;
111 |
112 | ds18b20_drive(ds);
113 | _delay_us(480);
114 | ds18b20_release(ds);
115 | _delay_us(60);
116 | ret = gpio_value(&ds->gpio);
117 | _delay_us(420);
118 | return !ret; /* Low value - driven by ds18b20 */
119 | }
120 |
121 |
--------------------------------------------------------------------------------
/src/ds18b20.h:
--------------------------------------------------------------------------------
1 | /*
2 | * DS18B20 driver header file
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef __DS18B20_H__
22 | #define __DS18B20_H__
23 |
24 | #include "gpio.h"
25 |
26 | struct ds18b20 {
27 | struct gpio gpio;
28 | };
29 |
30 | /* Returns true on presence pulse detected */
31 | bool ds18b20_reset(struct ds18b20 *ds);
32 | /* Converts temperature */
33 | void ds18b20_convert(struct ds18b20 *ds);
34 | /* Returns temperature in mC */
35 | signed long ds18b20_read_temp(struct ds18b20 *ds);
36 |
37 | #endif /* __DS18B20_H__ */
38 |
--------------------------------------------------------------------------------
/src/gpio.h:
--------------------------------------------------------------------------------
1 | /*
2 | * GPIO utilities
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef __GPIO_H__
22 | #define __GPIO_H__
23 |
24 | struct gpio {
25 | volatile unsigned char *ddr;
26 | volatile unsigned char *pin;
27 | volatile unsigned char *port;
28 | int n;
29 | };
30 |
31 | #define GPIO(b, p) \
32 | { .ddr = &(DDR##b), .pin = &(PIN##b), .port = &(PORT##b), .n = p }
33 |
34 | #define gpio_in(g) \
35 | (*(g)->ddr &= ~_BV((g)->n))
36 |
37 | #define gpio_out(g) \
38 | (*(g)->ddr |= _BV((g)->n))
39 |
40 | #define gpio_high(g) \
41 | (*(g)->port |= _BV((g)->n))
42 |
43 | #define gpio_low(g) \
44 | (*(g)->port &= ~_BV((g)->n))
45 |
46 | #define gpio_toggle(g) \
47 | (*(g)->port ^= _BV((g)->n))
48 |
49 | #define gpio_value(g) \
50 | (!!(*(g)->pin & _BV((g)->n)))
51 |
52 | #endif /* __GPIO_H__ */
53 |
--------------------------------------------------------------------------------
/src/main.c:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Copyright (C) Josef Gajdusek
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | *
18 | * */
19 |
20 | #include "timer.h"
21 | #include "uip-conf.h"
22 |
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 |
31 | #include "common.h"
32 | #include "uip.h"
33 | #include "uip_arp.h"
34 | #include "network.h"
35 | #include "enc28j60.h"
36 | #include "nethandler.h"
37 | #include "oled.h"
38 | #include "bitmaps.h"
39 | #include "ds18b20.h"
40 | #include "dht.h"
41 | #include "umqtt/umqtt.h"
42 |
43 | #if defined(HAS_DS) || defined(HAS_DHT)
44 | #define HAS_SENSORS
45 | #endif
46 |
47 | #define led_init() (DDRC |= _BV(PC1))
48 | #define led_on() (PORTC |= _BV(PC1))
49 | #define led_off() (PORTC &= ~_BV(PC1))
50 | #define led_toggle() (PORTC ^= _BV(PC1))
51 |
52 | /* This is time in LOCAL time zone. This allows elegant centralized handling
53 | * of leap seconds/summer time or whatever weirdness is imposed on us
54 | * */
55 |
56 | struct human_time {
57 | unsigned int hours;
58 | unsigned int minutes;
59 | unsigned int seconds;
60 | };
61 |
62 | /* The currently displayed time.
63 | * Set to impossible values to force rendering right from the start
64 | * */
65 | static struct human_time time_displ = { 25, 61, 61 };
66 | static unsigned long time_day; /* Seconds of day */
67 | static unsigned long time_offset;
68 |
69 | static volatile bool flag_packet_rx = true;
70 |
71 | static struct oled oled = {
72 | .sda = GPIO(C, 4),
73 | .scl = GPIO(C, 5),
74 | };
75 |
76 | #ifdef HAS_OUTPUTS
77 |
78 | struct output_data {
79 | struct gpio gpio;
80 | char *topic;
81 | };
82 |
83 | /* Has to be publicly accessible so we can subscribe in nethandler.c */
84 | struct output_data outputs[] = {
85 | OUTPUTS
86 | };
87 |
88 | static void outputs_init()
89 | {
90 | unsigned int i;
91 |
92 | iterate(outputs, i) {
93 | gpio_out(&outputs[i].gpio);
94 | gpio_low(&outputs[i].gpio);
95 | }
96 | }
97 |
98 | #define outputs_high(o) \
99 | gpio_high(&(o)->gpio)
100 |
101 | #define outputs_low(o) \
102 | gpio_low(&(o)->gpio)
103 |
104 | #endif
105 |
106 | #ifdef HAS_BUTTONS
107 |
108 | struct button_data {
109 | struct gpio gpio;
110 | char *topic;
111 | unsigned int debounce_counter;
112 | bool pressed;
113 | };
114 |
115 | static struct button_data buttons[] = {
116 | BUTTONS
117 | };
118 |
119 | static void buttons_init()
120 | {
121 | unsigned int i;
122 |
123 | iterate(buttons, i) {
124 | gpio_in(&buttons[i].gpio);
125 | gpio_high(&buttons[i].gpio); /* Pull up */
126 | }
127 |
128 | /* Set to f_cpu / 256 - app. 191 Hertz */
129 | TCCR0B = _BV(CS02);
130 | TIMSK0 = _BV(TOIE0);
131 | }
132 |
133 | #endif
134 |
135 | #ifdef HAS_DS
136 |
137 | static struct ds18b20 therm = {
138 | .gpio = GPIO(B, 1),
139 | };
140 |
141 | #endif
142 |
143 | #ifdef HAS_DHT
144 |
145 | static struct dht dht = {
146 | .gpio = GPIO(B, 0),
147 | };
148 |
149 | #endif
150 |
151 | static int pointer_x = 0;
152 |
153 | static int display_putchar(char c, FILE __attribute__((unused))*stream)
154 | {
155 | if (c == '\n') {
156 | pointer_x = 0;
157 | return 0;
158 | }
159 | oled_write_image_pgm(&oled, pointer_x, 0, 6, 1, bitmaps_font6x8[c - 0x20]);
160 | pointer_x = (pointer_x + 6) % 128;
161 | return 0;
162 | }
163 |
164 | static void display_time()
165 | {
166 | unsigned long clock = clock_time_seconds();
167 | unsigned long h;
168 | unsigned long m;
169 | unsigned long s;
170 |
171 | time_day = (time_day + (clock - time_offset));
172 | time_offset = clock;
173 |
174 | h = time_day / 3600;
175 | m = (time_day - h * 3600) / 60;
176 | s = (time_day - h * 3600 - m * 60);
177 |
178 | if (h != time_displ.hours) {
179 | oled_write_image_pgm(&oled, 18 * 0, 3, 12, 3,
180 | bitmaps_7seg12x24[h / 10]);
181 | oled_write_image_pgm(&oled, 18 * 1, 3, 12, 3,
182 | bitmaps_7seg12x24[h % 10]);
183 | time_displ.hours = h;
184 | }
185 | if (m != time_displ.minutes) {
186 | oled_write_image_pgm(&oled, 18 * 2, 3, 12, 3,
187 | bitmaps_7seg12x24[m / 10]);
188 | oled_write_image_pgm(&oled, 18 * 3, 3, 12, 3,
189 | bitmaps_7seg12x24[m % 10]);
190 | time_displ.minutes = m;
191 | }
192 | /* We should get called at most once per second */
193 | oled_write_image_pgm(&oled, 23 + 0, 6, 7, 2, bitmaps_7seg7x16[s / 10]);
194 | oled_write_image_pgm(&oled, 20 + 15, 6, 7, 2, bitmaps_7seg7x16[s % 10]);
195 |
196 | time_displ.seconds = s;
197 | }
198 |
199 | static void display_date(int m, int d)
200 | {
201 | unsigned int i;
202 | char str[6];
203 |
204 | snprintf(str, sizeof(str), "%02d%02d", m, d);
205 |
206 | for (i = 0; str[i]; i++)
207 | oled_write_image_pgm(&oled, i * 10, 0, 7, 2,
208 | str[i] >= '0' && str[i] <= '9' ?
209 | bitmaps_7seg7x16[str[i] - 0x30] :
210 | bitmaps_7seg7x16[10]);
211 | }
212 |
213 | static void display_weather(char *str)
214 | {
215 | const uint8_t *ptr;
216 |
217 | if (strcmp(str, "cloudy") == 0)
218 | ptr = bitmaps_cloudy;
219 | else if (strcmp(str, "lightning") == 0)
220 | ptr = bitmaps_lightning;
221 | else if (strcmp(str, "rain") == 0)
222 | ptr = bitmaps_rain;
223 | else if (strcmp(str, "snow") == 0)
224 | ptr = bitmaps_snow;
225 | else if (strcmp(str, "clear+cloud") == 0)
226 | ptr = bitmaps_suncloud;
227 | else
228 | ptr = bitmaps_sun;
229 | oled_write_image_pgm(&oled, 58, 0, 20, 2, ptr);
230 | }
231 |
232 | static void handle_message(struct umqtt_connection __attribute__((unused))*conn,
233 | char *topic, uint8_t *data, int len)
234 | {
235 | char str[len + 1];
236 | unsigned int h;
237 | unsigned int m;
238 | unsigned int s;
239 |
240 | memcpy(str, data, len);
241 |
242 | str[len] = 0;
243 |
244 | if (strcmp(topic, MQTT_TOPIC_DATETIME) == 0) {
245 | sscanf(str, "%d:%d:%d", &h, &m, &s);
246 | time_day = h * 3600l + m * 60l + s;
247 | time_offset = clock_time_seconds();
248 | } else if (strcmp(topic, MQTT_TOPIC_DATE) == 0) {
249 | sscanf(str, "%d-%d-%d", &h, &m, &s);
250 | display_date(m, s);
251 | } else if (strcmp(topic, MQTT_TOPIC_WEATHER) == 0) {
252 | display_weather(str);
253 | } else {
254 | #ifdef HAS_OUTPUTS
255 | iterate(outputs, h) {
256 | if (strcmp(topic, outputs[h].topic) == 0) {
257 | if (strcmp(str, "true") == 0)
258 | outputs_high(&outputs[h]);
259 | else
260 | outputs_low(&outputs[h]);
261 | }
262 | }
263 | #endif
264 | }
265 | }
266 |
267 | static FILE display_stream = FDEV_SETUP_STREAM(display_putchar, NULL,
268 | _FDEV_SETUP_WRITE);
269 |
270 | static uint8_t mqtt_txbuff[200];
271 | static uint8_t mqtt_rxbuff[150];
272 |
273 | static struct umqtt_connection mqtt = {
274 | .txbuff = {
275 | .start = mqtt_txbuff,
276 | .length = sizeof(mqtt_txbuff),
277 | },
278 | .rxbuff = {
279 | .start = mqtt_rxbuff,
280 | .length = sizeof(mqtt_rxbuff),
281 | },
282 | .message_callback = handle_message,
283 | };
284 |
285 | #ifdef HAS_SENSORS
286 |
287 | struct timer dis_sensors_timer;
288 | struct timer sensors_send_timer;
289 |
290 | static void sensors_send(char *topic, signed long val)
291 | {
292 | char buff[20];
293 | int len;
294 | len = snprintf(buff, sizeof(buff), "%ld", val);
295 | umqtt_publish(&mqtt, topic, (uint8_t *)buff, len);
296 | }
297 |
298 | #endif
299 |
300 | #ifdef HAS_DS
301 |
302 | static void display_therm(signed long i)
303 | {
304 | i /= 1000;
305 | oled_write_image_pgm(&oled, 18 * 5, 3, 12, 3, bitmaps_7seg12x24[i / 10]);
306 | oled_write_image_pgm(&oled, 18 * 6, 3, 12, 3, bitmaps_7seg12x24[i % 10]);
307 | }
308 |
309 | static void sensors_therm_expired()
310 | {
311 | signed long temp = ds18b20_read_temp(&therm);
312 |
313 | ds18b20_convert(&therm);
314 |
315 | if (timer_expired(&dis_sensors_timer))
316 | display_therm(temp);
317 | if (timer_expired(&sensors_send_timer))
318 | sensors_send(MQTT_TOPIC_TEMP, temp);
319 | }
320 |
321 | #endif
322 |
323 | #ifdef HAS_DHT
324 |
325 | static void display_humidity(int i)
326 | {
327 | oled_write_image_pgm(&oled, 128 - 11, 0, 11, 2, bitmaps_percent9x16);
328 | oled_write_image_pgm(&oled, 128 - 22, 0, 7, 2, bitmaps_7seg7x16[i % 10]);
329 | oled_write_image_pgm(&oled, 128 - 33, 0, 7, 2, bitmaps_7seg7x16[i / 10]);
330 | }
331 |
332 | static void sensors_humidity_expired()
333 | {
334 | int hum = dht_humidity(&dht);
335 |
336 | if (timer_expired(&dis_sensors_timer))
337 | display_humidity(hum);
338 | if (timer_expired(&sensors_send_timer))
339 | sensors_send(MQTT_TOPIC_HUMIDITY, hum);
340 | }
341 |
342 | #endif
343 |
344 | int main()
345 | {
346 | struct uip_eth_addr mac;
347 | struct timer periodic_timer;
348 | struct timer arp_timer;
349 | struct timer kalive_timer;
350 | struct timer dis_time_timer;
351 | uip_ipaddr_t ip;
352 | #ifdef HAS_OUTPUTS
353 | unsigned int i;
354 | #endif
355 |
356 | mac.addr[0] = ETHADDR0;
357 | mac.addr[1] = ETHADDR1;
358 | mac.addr[2] = ETHADDR2;
359 | mac.addr[3] = ETHADDR3;
360 | mac.addr[4] = ETHADDR4;
361 | mac.addr[5] = ETHADDR5;
362 |
363 | oled_init(&oled);
364 | oled_fill_screen(&oled, 0x00);
365 | oled_active(&oled, true);
366 | oled_contrast(&oled, 0xff);
367 |
368 | stdout = &display_stream;
369 |
370 | #ifdef HAS_DS
371 | ds18b20_convert(&therm); /* Initial conversion - we won't have 85C on startup */
372 | #endif
373 |
374 | network_init();
375 |
376 | /* Setup INT0 on rx packet pending */
377 | EIMSK |= _BV(INT0);
378 | EICRA |= _BV(ISC11);
379 | enc28j60_write(EIE, 0b11000000);
380 |
381 | /* Setup magjack LEDs */
382 | enc28j60_phy_write(PHLCON, 0b0000011101001010);
383 | /* 25MHz / 2 */
384 | enc28j60_write(ECOCON, 2);
385 |
386 | led_init();
387 | #ifdef HAS_BUTTONS
388 | buttons_init();
389 | #endif
390 | #ifdef HAS_OUTPUTS
391 | outputs_init();
392 | #endif
393 | clock_init();
394 | uip_init();
395 | sei();
396 |
397 | timer_set(&periodic_timer, CLOCK_SECOND / 2);
398 | timer_set(&arp_timer, CLOCK_SECOND * 10);
399 | timer_set(&kalive_timer, CLOCK_SECOND * MQTT_KEEP_ALIVE);
400 | timer_set(&dis_time_timer, CLOCK_SECOND * 1);
401 |
402 | #ifdef HAS_SENSORS
403 | timer_set(&sensors_send_timer, CLOCK_SECOND * SENSORS_PUBLISH_RATE);
404 | timer_set(&dis_sensors_timer, CLOCK_SECOND * SENSORS_DISPLAY_RATE);
405 | #endif
406 |
407 | uip_setethaddr(mac);
408 | uip_ipaddr(ip, IPADDR0, IPADDR1, IPADDR2, IPADDR3);
409 | uip_sethostaddr(ip);
410 |
411 | while(1) {
412 | if (flag_packet_rx) {
413 | flag_packet_rx = false;
414 | nethandler_rx();
415 | }
416 | if (timer_tryrestart(&periodic_timer))
417 | nethandler_periodic();
418 | if (timer_tryrestart(&arp_timer))
419 | nethandler_periodic_arp();
420 | if (timer_tryrestart(&kalive_timer))
421 | umqtt_ping(&mqtt);
422 | if (timer_tryrestart(&dis_time_timer))
423 | display_time();
424 | #ifdef HAS_SENSORS
425 | if (timer_expired(&dis_sensors_timer) ||
426 | timer_expired(&sensors_send_timer)) {
427 | #ifdef HAS_DS
428 | sensors_therm_expired();
429 | #endif
430 | #ifdef HAS_DHT
431 | sensors_humidity_expired();
432 | #endif
433 | }
434 | timer_tryrestart(&dis_sensors_timer);
435 | timer_tryrestart(&sensors_send_timer);
436 | #endif
437 | /* Just assume that the 0 connection is the MQTT one */
438 | if (!uip_conn_active(0) && clock_time_seconds() % 10 == 0) {
439 | nethandler_umqtt_init(&mqtt);
440 | umqtt_subscribe(&mqtt, MQTT_TOPIC_DATE);
441 | umqtt_subscribe(&mqtt, MQTT_TOPIC_DATETIME);
442 | umqtt_subscribe(&mqtt, MQTT_TOPIC_WEATHER);
443 | #ifdef HAS_OUTPUTS
444 | iterate(outputs, i)
445 | umqtt_subscribe(&mqtt, outputs[i].topic);
446 | #endif
447 | }
448 | if (mqtt.state != UMQTT_STATE_CONNECTED)
449 | led_on();
450 | }
451 | return 0;
452 | }
453 |
454 | ISR(INT0_vect)
455 | {
456 | flag_packet_rx = true;
457 | }
458 |
459 | #ifdef HAS_BUTTONS
460 |
461 | ISR(TIMER0_OVF_vect)
462 | {
463 | unsigned int i;
464 | iterate(buttons, i) {
465 | /* Do not forget, LOW means pressed */
466 | if (buttons[i].pressed == gpio_value(&buttons[i].gpio))
467 | buttons[i].debounce_counter++;
468 | else
469 | buttons[i].debounce_counter = 0;
470 |
471 | if (buttons[i].debounce_counter > 10) {
472 | /* Accept the change*/
473 | buttons[i].pressed = !buttons[i].pressed;
474 | buttons[i].debounce_counter = 0;
475 |
476 | if (buttons[i].pressed)
477 | umqtt_publish(&mqtt, buttons[i].topic, (uint8_t *)"pressed", 7);
478 | }
479 | }
480 | }
481 |
482 | #endif
483 |
--------------------------------------------------------------------------------
/src/nethandler.c:
--------------------------------------------------------------------------------
1 | /*
2 | * This fil handles various network related tasks
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #include
22 | #include
23 |
24 | #include "common.h"
25 | #include "uip.h"
26 | #include "uip_arp.h"
27 | #include "network.h"
28 |
29 | #define BUF (((struct uip_eth_hdr *)&uip_buf[0]))
30 | #pragma GCC diagnostic ignored "-Wstrict-aliasing"
31 |
32 | void nethandler_rx()
33 | {
34 | uip_len = network_read();
35 |
36 | if (uip_len > 0) {
37 | switch (ntohs(BUF->type)) {
38 | case UIP_ETHTYPE_IP:
39 | uip_arp_ipin();
40 | uip_input();
41 | if (uip_len > 0) {
42 | uip_arp_out();
43 | network_send();
44 | }
45 | break;
46 | case UIP_ETHTYPE_ARP:
47 | uip_arp_arpin();
48 | if (uip_len > 0)
49 | network_send();
50 | break;
51 | }
52 | }
53 | }
54 |
55 | void nethandler_periodic()
56 | {
57 | int i;
58 |
59 | times(UIP_CONNS, i) {
60 | uip_periodic(i);
61 | if (uip_len > 0) {
62 | uip_arp_out();
63 | network_send();
64 | }
65 | }
66 | }
67 |
68 | void nethandler_periodic_arp()
69 | {
70 | uip_arp_timer();
71 | }
72 |
73 | void nethandler_umqtt_init(struct umqtt_connection *conn)
74 | {
75 | struct uip_conn *uc;
76 | uip_ipaddr_t ip;
77 |
78 | uip_ipaddr(&ip, MQTT_IP0, MQTT_IP1, MQTT_IP2, MQTT_IP3);
79 | uc = uip_connect(&ip, htons(1883));
80 | if (uc == NULL)
81 | return;
82 |
83 | umqtt_init(conn);
84 | umqtt_circ_init(&conn->txbuff);
85 | umqtt_circ_init(&conn->rxbuff);
86 |
87 | umqtt_connect(conn, MQTT_KEEP_ALIVE, MQTT_CLIENT_ID);
88 |
89 | uc->appstate.conn = conn;
90 | }
91 |
92 | void nethandler_umqtt_appcall()
93 | {
94 | struct umqtt_connection *conn = uip_conn->appstate.conn;
95 | uint8_t buff[uip_mss() > (unsigned int) conn->txbuff.datalen ?
96 | (unsigned int) conn->txbuff.datalen : uip_mss()];
97 | int ret;
98 |
99 | if (uip_newdata()) {
100 | umqtt_circ_push(&conn->rxbuff, uip_appdata, uip_datalen());
101 | umqtt_process(conn);
102 | }
103 |
104 | if (uip_poll() || uip_acked()) {
105 | ret = umqtt_circ_pop(&conn->txbuff, buff, sizeof(buff));
106 | if (!ret)
107 | return;
108 | uip_send(buff, ret);
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/src/nethandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Header file for nethandler.c
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef __NETHANDLER_H__
22 | #define __NETHANDLER_H__
23 |
24 | void nethandler_rx();
25 | void nethandler_periodic();
26 | void nethandler_periodic_arp();
27 |
28 | void nethandler_umqtt_init();
29 | void nethandler_umqtt_appcall();
30 |
31 | struct nethandler_state {
32 | struct umqtt_connection *conn;
33 | int slen; /* Length of data currently being sent (fox rxmit) */
34 | };
35 |
36 | #endif /* __NETHANDLER_H__ */
37 |
--------------------------------------------------------------------------------
/src/oled.c:
--------------------------------------------------------------------------------
1 | /*
2 | * SSD1306 driver
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #include
22 |
23 | #include "common.h"
24 | #include "oled.h"
25 | #include "gpio.h"
26 |
27 | #define oled_scl_high(o) \
28 | gpio_high(&(o)->scl)
29 |
30 | #define oled_scl_low(o) \
31 | gpio_low(&(o)->scl)
32 |
33 | #define oled_sda_high(o) \
34 | gpio_high(&(o)->sda)
35 |
36 | #define oled_sda_low(o) \
37 | gpio_low(&(o)->sda)
38 |
39 |
40 | static void oled_i2c_start(struct oled *oled)
41 | {
42 | oled_scl_high(oled);
43 | oled_sda_high(oled);
44 | oled_sda_low(oled);
45 | oled_scl_low(oled);
46 | }
47 |
48 | static void oled_i2c_stop(struct oled *oled)
49 | {
50 | oled_scl_low(oled);
51 | oled_sda_low(oled);
52 | oled_scl_high(oled);
53 | oled_sda_high(oled);
54 | }
55 |
56 | static void oled_i2c_write_byte(struct oled *oled, uint8_t byte)
57 | {
58 | int i;
59 |
60 | times(8, i) { /* From MSB to LSB */
61 | /* Set bit */
62 | if ((byte << i) & 0x80)
63 | oled_sda_high(oled);
64 | else
65 | oled_sda_low(oled);
66 | /* Clock */
67 | oled_scl_high(oled);
68 | oled_scl_low(oled);
69 | }
70 | /* ACK cycle */
71 | oled_sda_high(oled);
72 | oled_scl_high(oled);
73 | oled_scl_low(oled);
74 | }
75 |
76 | static void oled_i2c_start_data(struct oled *oled)
77 | {
78 | oled_i2c_start(oled);
79 | oled_i2c_write_byte(oled, 0x78);
80 | oled_i2c_write_byte(oled, 0x40);
81 | }
82 |
83 | void oled_send_command(struct oled *oled, uint8_t command)
84 | {
85 | oled_i2c_start(oled);
86 | oled_i2c_write_byte(oled, 0x78); /* Write address */
87 | oled_i2c_write_byte(oled, 0x00); /* Write command */
88 | oled_i2c_write_byte(oled, command);
89 | oled_i2c_stop(oled);
90 | }
91 |
92 | void oled_send_command2(struct oled *oled, int c, ...)
93 | {
94 | va_list args;
95 |
96 | oled_i2c_start(oled);
97 | va_start(args, c);
98 | oled_i2c_write_byte(oled, 0x78);
99 | oled_i2c_write_byte(oled, 0x00);
100 | for (; c > 0; c--)
101 | oled_i2c_write_byte(oled, va_arg(args, int));
102 | oled_i2c_stop(oled);
103 | }
104 |
105 | static void oled_limit_write(struct oled *oled, int x, int y, int w, int h)
106 | {
107 | oled_send_command2(oled, 3, 0x21, x, x + w - 1);
108 | oled_send_command2(oled, 3, 0x22, y, y + h - 1);
109 | }
110 |
111 | void oled_fill_screen(struct oled *oled, uint8_t data)
112 | {
113 | int i;
114 |
115 | oled_limit_write(oled, 0, 0, 128, 8);
116 |
117 | oled_i2c_start_data(oled);
118 | times(128 * 8, i)
119 | oled_i2c_write_byte(oled, data);
120 | oled_i2c_stop(oled);
121 | }
122 |
123 | void oled_write_image(struct oled *oled,
124 | uint8_t x, uint8_t y, uint8_t w, uint8_t h,
125 | uint8_t *data)
126 | {
127 | int i;
128 |
129 | oled_limit_write(oled, x, y, w, h);
130 |
131 | oled_i2c_start_data(oled);
132 | times(w * h, i)
133 | oled_i2c_write_byte(oled, data[i]);
134 | oled_i2c_stop(oled);
135 | }
136 |
137 | void oled_write_image_pgm(struct oled *oled,
138 | uint8_t x, uint8_t y, uint8_t w, uint8_t h,
139 | const uint8_t *progmem)
140 | {
141 | int i;
142 |
143 | oled_limit_write(oled, x, y, w, h);
144 |
145 | oled_i2c_start_data(oled);
146 | times(w * h, i)
147 | oled_i2c_write_byte(oled, pgm_read_byte(progmem + i));
148 | oled_i2c_stop(oled);
149 | }
150 |
151 | void oled_init(struct oled *oled)
152 | {
153 | gpio_out(&oled->sda);
154 | gpio_out(&oled->scl);
155 | /* Copied from the manufacturers code */
156 | /* Some of the comments do not seem to correspond to the datasheet */
157 | oled_send_command(oled, 0xae); /* Display off */
158 | oled_send_command(oled, 0x00); /* Set memory addressing */
159 | oled_send_command(oled, 0x10); /* Page memory addressing */
160 | oled_send_command(oled, 0x40); /* Set page start */
161 | oled_send_command(oled, 0x81); /* Set COM output scan direction */
162 | oled_send_command(oled, 0xcf); /* Set low column address */
163 | oled_send_command(oled, 0xa1); /* Set high column address */
164 | oled_send_command(oled, 0xc8); /* Set start line address */
165 | oled_send_command(oled, 0xa6); /* Set contrast control register */
166 | oled_send_command(oled, 0xa8);
167 | oled_send_command(oled, 0x3f); /* Set segment re-map 0 to 127 */
168 | oled_send_command(oled, 0xd3); /* Set normal display */
169 | oled_send_command(oled, 0x00); /* Set multiplex ratio 1 to 64 */
170 | oled_send_command(oled, 0xd5);
171 | oled_send_command(oled, 0x80);
172 | oled_send_command(oled, 0xd9); /* Set display offset */
173 | oled_send_command(oled, 0xf1); /* Not offset */
174 | oled_send_command(oled, 0xda); /* Set clock divider */
175 | oled_send_command(oled, 0x12); /* Set divider ratio */
176 | oled_send_command(oled, 0xdb); /* Set precharge */
177 | oled_send_command(oled, 0x40);
178 | oled_send_command(oled, 0x20); /* Set com HW config */
179 | oled_send_command(oled, 0x02);
180 | oled_send_command(oled, 0x8d); /* Set vcomh */
181 | oled_send_command(oled, 0x14); /* Some sort of voltage control */
182 | oled_send_command(oled, 0xa4); /* DC-DC enable */
183 | oled_send_command(oled, 0xa6);
184 | oled_send_command2(oled, 2, 0x20, 0x00);
185 | }
186 |
--------------------------------------------------------------------------------
/src/oled.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Header file for the SSD1306 I2C OLED driver
3 | *
4 | * Copyright (C) Josef Gajdusek
5 | *
6 | * This program is free software: you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program. If not, see .
18 | *
19 | * */
20 |
21 | #ifndef OLED_HELTEC_H_
22 | #define OLED_HELTEC_H_
23 |
24 | #include
25 | #include
26 |
27 | #include "gpio.h"
28 |
29 | struct oled {
30 | struct gpio sda;
31 | struct gpio scl;
32 | };
33 |
34 | void oled_init(struct oled *oled);
35 |
36 | void oled_send_command(struct oled *oled, uint8_t commmans);
37 | void oled_send_command2(struct oled *oled, int c, ...);
38 |
39 | void oled_fill_screen(struct oled *oled, uint8_t data);
40 | void oled_write_frame(struct oled *oled, uint8_t *data);
41 | void oled_write_image(struct oled *oled,
42 | uint8_t x, uint8_t y, uint8_t w, uint8_t h,
43 | uint8_t *data);
44 | void oled_write_image_pgm(struct oled *oled,
45 | uint8_t x, uint8_t y, uint8_t w, uint8_t h,
46 | const uint8_t *progmem);
47 | void oled_contrast(struct oled *oled, uint8_t con);
48 |
49 | #define oled_active(o, b) \
50 | oled_send_command(o, b ? 0xaf : 0xae)
51 |
52 | #define oled_invert(o, b) \
53 | oled_send_command(o, b ? 0xa7 : 0xa6)
54 |
55 | #define oled_contrast(o, n) \
56 | oled_send_command2(o, 2, 0x81, n);
57 |
58 | #define oled_vertical_flip(o, b) \
59 | oled_send_command(o, (b) ? 0xc0 : 0xc8)
60 |
61 | #define oled_vertical_offset(o, c) \
62 | oled_send_command(o, 0x40 + (c))
63 |
64 | #define oled_horizontal_flip(o, b) \
65 | oled_send_command(o, (b) ? 0xa0 : 0xa1)
66 |
67 | #endif /* OLED_HELTEC_H_ */
68 |
--------------------------------------------------------------------------------
/src/uip-conf.h:
--------------------------------------------------------------------------------
1 | #ifndef __UIP_CONF_H__
2 | #define __UIP_CONF_H__
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 |
9 | /**
10 | * 8 bit datatype
11 | *
12 | * This typedef defines the 8-bit type used throughout uIP.
13 | *
14 | * \hideinitializer
15 | */
16 | typedef uint8_t u8_t;
17 |
18 | /**
19 | * 16 bit datatype
20 | *
21 | * This typedef defines the 16-bit type used throughout uIP.
22 | *
23 | * \hideinitializer
24 | */
25 | typedef uint16_t u16_t;
26 |
27 | /**
28 | * Statistics datatype
29 | *
30 | * This typedef defines the dataype used for keeping statistics in
31 | * uIP.
32 | *
33 | * \hideinitializer
34 | */
35 | typedef unsigned short uip_stats_t;
36 |
37 | /**
38 | * Maximum number of TCP connections.
39 | *
40 | * \hideinitializer
41 | */
42 | #define UIP_CONF_MAX_CONNECTIONS 1
43 |
44 | /**
45 | * Maximum number of listening TCP ports.
46 | *
47 | * \hideinitializer
48 | */
49 | #define UIP_CONF_MAX_LISTENPORTS 1
50 |
51 | /**
52 | * uIP buffer size.
53 | *
54 | * \hideinitializer
55 | */
56 | #define UIP_CONF_BUFFER_SIZE 300
57 | /**
58 | * CPU byte order.
59 | *
60 | * \hideinitializer
61 | */
62 | #define UIP_CONF_BYTE_ORDER LITTLE_ENDIAN
63 |
64 | /**
65 | * Logging on or off
66 | *
67 | * \hideinitializer
68 | */
69 | #define UIP_CONF_LOGGING 0
70 |
71 | /**
72 | * UDP support on or off requires DHCP if ON
73 | *
74 | * \hideinitializer
75 | */
76 | #define UIP_CONF_UDP 0
77 |
78 | /**
79 | * UDP checksums on or off
80 | *
81 | * \hideinitializer
82 | */
83 | #define UIP_CONF_UDP_CHECKSUMS 0
84 |
85 | /**
86 | * uIP statistics on or off
87 | *
88 | * \hideinitializer
89 | */
90 | #define UIP_CONF_STATISTICS 1
91 |
92 | /**
93 | * Broadcast support. Needed for dhcp
94 | *
95 | * \hideinitializer
96 | */
97 | #define UIP_CONF_BROADCAST 0
98 |
99 | /**
100 | * The maximum amount of concurrent UDP connections.
101 | *
102 | * \hideinitializer
103 | */
104 | #define UIP_CONF_UDP_CONNS 0
105 |
106 | /**
107 | * Turn on IP packet re-assembly.
108 | * This will re-assemble ip packets that become fragmented
109 | * which when assembled will fit in your UIP BUFFER.
110 | *
111 | * Note: This will double the amount of RAM used by the UIP BUFFER.
112 | */
113 | #define UIP_REASSEMBLY 0
114 |
115 | #endif /* __UIP_CONF_H__ */
116 |
117 | /** @} */
118 | /** @} */
119 |
--------------------------------------------------------------------------------
/utils/graphic/12x24-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-0.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-1.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-2.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-3.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-4.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-5.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-6.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-7.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-8.png
--------------------------------------------------------------------------------
/utils/graphic/12x24-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/12x24-9.png
--------------------------------------------------------------------------------
/utils/graphic/7x16--.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16--.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-0.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-1.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-2.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-3.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-4.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-5.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-6.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-7.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-8.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-9.png
--------------------------------------------------------------------------------
/utils/graphic/7x16-percent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/7x16-percent.png
--------------------------------------------------------------------------------
/utils/graphic/9x16-percent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/9x16-percent.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-cloudy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-cloudy.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-lightning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-lightning.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-mist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-mist.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-rain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-rain.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-snow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-snow.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-sun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-sun.png
--------------------------------------------------------------------------------
/utils/graphic/weather-20x16-suncl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/atx/avr-mqtt-board/99b3a15b2a7e24eeb2c614380730657b8760814d/utils/graphic/weather-20x16-suncl.png
--------------------------------------------------------------------------------
/utils/tooled.groovy:
--------------------------------------------------------------------------------
1 | #!/usr/bin/groovy
2 | /*
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 3 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | *
16 | * */
17 |
18 | import javax.imageio.ImageIO
19 |
20 | if(args.length == 0) {
21 | println "Usage: tooled.groovy "
22 | System.exit(-1)
23 | }
24 |
25 | args.each { fn ->
26 | image = ImageIO.read(new File(fn))
27 |
28 | println "{"
29 |
30 | (image.height / 8).times() { y ->
31 | print "\t"
32 | image.width.times { x ->
33 | int i = 0
34 | (7..0).each {
35 | i = (i << 1) | (image.getRGB(x, (y * 8) + it) == -1 ? 0 : 1)
36 | }
37 | print "0x${Integer.toString(i, 16).with { it.length() < 2 ? '0' + it : it }}, "
38 | }
39 | println ""
40 | }
41 |
42 | println "},"
43 | }
44 |
--------------------------------------------------------------------------------